Patrocinado por
Patrocinado por Inetum

Pasta física vs pasta lógica

images/thumbnail.jpg - Thumbnail

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 é:

  1. 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);

  2. guardares o nome da pasta lógica numa variável do programa;

  3. 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.