De grande importância para o desenvolvimento em si, veremos sobre os pré-processadores!
No Progress eles funcionam como constantes para armazenamento de comandos e/ou instruções pré-definidos para serem utilizados em um programa quantas vezes for necessário durante a execução.
Tem como principal objetivo organizar e facilitar o desenvolvimento do programa.
Pré-processador local
Exemplo:
&scoped-define p-exemplo display today.
{&p-exemplo}
No exemplo acima foi definido um pré-processador local, disponível apenas para a procedure atual, definido como p-exemplo que equivale a instrução “display today”.
Utilização
Após definido o pré-processador use entre CHAVES, E COMERCIAL,PRÉ-PROCESSADOR.
&SCOPED-DEFINE
Define um pré-processador visível apenas para a procedure onde está declarado.
SINTAXE
&SCOPED-DEFINE pré-processador Expressão
Pré-processador
O Nome do processador a ser instanciado na procedure.
Expressão
Uma lista de comandos ou instruções.
Pré-processador Global
Exemplo
&scoped-define p-campos customer.cust-num~ customer.name~ customer.address
for each customer no-lock:
display {&p-campos}.
end.
&GLOBAL-DEFINE
Define um pré-processador global para compartilhamento entre procedures.
SINTAXE
&GLOBAL-DEFINE pré-processador Expressão
Preprocessador
O Nome do pré-processador a ser instanciado na procedure.
Expressão
Uma lista de comandos ou instrução
Exemplo
&global-define p-exemplo cust-num,~ name,~ address,~ phoneselect
{&p-exemplo} from customer no-lock.
Remover um Pré-processador
&UNDEFINE
Exclui a definição de um preprocessador.
SINTAXE
&UNDEFINE Nome do Preprocessador
Exemplo
&scoped-define p-exemplo ‘Exemplo de Preprocessador’ &undefinep-exemplo
/*nada será apresentado porque o preprocessador não mais existe */
&undefine p-exemplo
display {&p-exemplo}.