Comando Value
Hoje vou mostrar como utilizar o comando VALUE(), e qual sua utilidade.
Podemos usar o VALUE da seguinte forma, chamando o PROGRAMA ou PROCEDURE que foi gravado na variável.
Lembramos que o comando value tem a finalidade de fazer com que o comando onde ele é usado, considere o valor do parâmetro passado e não o próprio parâmetro.
A sintaxe para se passar o parametro usando RUN VALUE() é a mesma que usando somente o RUN.
Veja os Exemplos abaixo:
1. Sem usar a opção VALUE():
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.
RUN calcula.p(INPUT i, OUTPUT j).
Neste exemplo chamamos o programa calcula.p passando os parametros I (de entrada) e J (e saída).
2. Com a opção VALUE():
DEFINE VARIABLE cNomePrograma AS CHARACTER NO-UNDO.
DEFINE VARIABLE i AS INTEGER NO-UNDO.
DEFINE VARIABLE j AS INTEGER NO-UNDO.
ASSIGN
cNomePrograma = “calcula.p”.
RUN VALUE(cNomePrograma)(INPUT i, OUTPUT j).
Neste exemplo, também chamamos o programa calcula.p passando os parametros I (de entrada) e J (e saída), mas só o chamamos por que usamos a opção value.
Se tentássemos chamar assim:
RUN cNomePrograma(INPUT i, OUTPUT j).
Estaríamos chamando um programa ou procedure de nome cNomePrograma.
Esse comando é muito útil para o desenvolvimento de rotinas dinâmicas. O Exemplo aqui é bem simples, mas o comando pode ser utilizado em situações bem mais úteis.