AIX | HP-UX | Linux | OS/2 | OS/390 | OS/400 | PTX | SUN | Win NT |
X | X | X | X | X | X | X | X | X |
Las variables ejecutables le permiten invocar otros programas desde una referencia a variable utilizando la característica de variable ejecutable. Una variable ejecutable se define en una macro Net.Data utilizando el elemento del lenguaje EXEC. Para obtener más información sobre el elemento del lenguaje EXEC, consulte el apartado Bloque o sentencia EXEC.
Cuando Net.Data encuentra una variable ejecutable en una macro, busca el programa ejecutable al que se hace referencia utilizando el método siguiente:
Ejemplo 1: Una definición de variable ejecutable
%DEFINE runit=%exec "testProg"
La variable runit se ha definido de modo que ejecute el programa ejecutable testProg; runit se convierte en una variable ejecutable.
Net.Data ejecuta el programa ejecutable cuando se encuentra una referencia a una variable ejecutable en una macro Net.Data. Por ejemplo, el programa testProg se ejecutará cuando en una referencia a una variable ejecutable de una macro Net.Data se haga referencia a la variable runit.
Un método sencillo es el de hacer referencia a una variable ejecutable desde otra definición de variable. El ejemplo 2 muestra este método. La variable date se define como variable ejecutable y dateRpt se define a continuación como una referencia a variable, que contiene la variable ejecutable.
Ejemplo 2: Variable ejecutable como una referencia a variable
%DEFINE date=%exec "date"
Cuando Net.Data resuelve la referencia a variable $(date), Net.Data busca la fecha ejecutable y ejecuta el programa:
Si el bloque de presentación contiene lo siguiente:
Today is $(date)
El navegador muestra los resultados del ejecutable:
Today is 02-14-2001
Una variable ejecutable nunca se establece en el valor de la salida del programa ejecutable al que llama. Utilizando el ejemplo anterior, el valor de fecha es nulo. Si lo utiliza en una llamada a función DTW_ASSIGN para asignar su valor a otra variable, el valor de la variable nueva después de la asignación es asimismo nulo. La única finalidad de una variable ejecutable es invocar el programa que define.
También puede transmitir parámetros al programa que ha de ejecutarse especificándolos con el nombre del programa en la definición de variable.
Ejemplo 3: Variables ejecutables con parámetros
%DEFINE mph=%exec "calcMPH $(distance) $(time)"
Los valores de distance y time se transmiten al programa calcMPH.