PREPROCESSADORES

De grande importância para o desenvolvimento em si,aprenderemos sobre os PREPROCESSADORES!
No Progress eles funcionam como comandos e/ou instruções literais a serem pre-utilizados para o funcionamento de um programa. Simplesmente como uma palavra-chave que equivale a própria linguagem ou lista de instruções e/ou valores para utilização.

Exemplo:
&scoped-define p-exemplo display today.
{&p-exemplo}

No exemplo acima foi definido um preprocessador 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 preprocessador use CHAVES, ECOMERCIAL, PREPROCESSADOR.

&SCOPED-DEFINE
Define um preprocessador visível apenas para a procedure onde está declarado.

SINTAXE
&SCOPED-DEFINE Preprocessador Expressão

Preprocessador
O Nome do processador a ser instanciado na procedure.

Expressão
Uma lista de comandos ou instruções.

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 preprocessador global para compartilhamento entre procedures.

SINTAXE
&GLOBAL-DEFINE Preprocessador Expressão
Preprocessador
O Nome do processador a ser instanciado na procedure.

Expressão
Uma lista de comandos ou instrução

Exemplo
&global-define p-exemplo cust-num,~ name,~ address,~ phone select
{&p-exemplo} from customer no-lock.

&UNDEFINE
Exclui a definição de um preprocessador.

SINTAXE
&UNDEFINE Nome do Preprocessador

Exemplo
&scoped-define p-exemplo ‘Exemplo de Preprocessador’ &undefine p-exemplo
/*nada será apresentado porque o preprocessador não mais existe */
&undefine p-exemplo
display {&p-exemplo}.

FDantas

Formado pela FPJ (Faculdade Politecnica de Jundiai), atualmente atuando como analista de sistemas. Trabalha há mais de 10 anos com analise, desenvolvimento e customização de sistemas desenvolvidos em Progress 4GL como Magnus, EMS e HCM. Atua também com desenvolvimento web, utilizando a ferramenta WebSpeed.

Você pode gostar...

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *