Pasta física vs pasta lógica
2017-03-20
Se num relatório chamado APP1 precisares de gravar um ficheiro numa determinada pasta do servidor (ex.: /export/app1/) e não quiseres que esta pasta seja um parâmetro, como fazes?
O mais simples é criar uma constante com o nome físico da pasta: /export/app1.
Mas… e se amanhã este muda?
Para evitares ter de alterar o programa caso isso aconteça o ideal é:
-
criares uma pasta lógica na AL11 (ex.: DIR_APP1) que aponte para a tua pasta física (se não tiveres permissões pede aos administradores de sistema);
-
guardares o nome da pasta lógica numa variável do programa;
-
usares o código abaixo para converter a pasta lógica na pasta física.
DATA: physical_dir TYPE DIRNAME_AL11.
CALL 'C_SAPGPARAM' ID 'NAME' FIELD gc_logical_dir_app1
ID 'VALUE' FIELD physical_dir.
Obrigado Nuno Morais pela dica.
O Abapinho saúda-vos.