Finalidad
Especifica un programa externo que ha de ejecutarse cuando se hace referencia a una variable o se llama a una función.
Cuando Net.Data encuentra una variable ejecutable en una macro, busca el programa ejecutable al que se hace referencia utilizando el método siguiente:
Sugerencia para la autorización: Asegúrese de que el ID de usuario bajo el que se ejecuta Net.Data tiene derechos de acceso para los archivos a los que hace referencia el bloque o sentencia EXEC. Consulte la sección sobre la especificación de derechos de acceso del servidor Web para archivos Net.Data en el capítulo de configuración de la publicación Net.Data Guía de administración y programación para el sistema operativo para obtener más información.
El bloque y sentencia EXEC se utilizan en dos contextos diferentes y tienen una sintaxis diferente, en función del lugar en el que se utilizan. Utilice la sentencia EXEC del bloque DEFINE y utilice el bloque EXEC en el bloque FUNCTION.
Sintaxis
La sintaxis de la sentencia EXEC cuando se utiliza en el bloque DEFINE:
.-----------------------------. V | >>-%EXEC------"----+-serie------------------+--+---"----------->< +-referencia de variable-+ '-llamada de función-----'
La sintaxis del bloque EXEC cuando se utiliza en el bloque FUNCTION:
.-----------------------------. V | >>-%EXEC------{----+-serie------------------+--+---%}---------->< +-referencia de variable-+ '-llamada de función-----'
Valores
Contexto
La sentencia o bloque EXEC puede encontrarse en estos contextos:
Restricciones
La sentencia o bloque EXEC puede contener estos elementos:
Los siguientes entornos de lenguaje proporcionados por Net.Data dan soporte a la sentencia EXEC:
Ejemplos
Ejemplo 1: Archivo ejecutable al que se hace referencia por medio de una variable
%DEFINE mycall = %EXEC "MYEXEC.EXE $(empno)" %HTML (Report) { <p>Here is the report you requested:</p> <hr />$(mycall) %}
Este ejemplo ejecuta MYEXEC.EXE en cada una de las referencias a la variable, mycall.
Ejemplo 2: Archivo ejecutable al que se hace referencia por medio de una función
%FUNCTION(DTW_REXX) my_rexx_pgm(INOUT a, b, IN c, INOUT d){ %EXEC{ mypgm.cmd this is a test %} %}
Este ejemplo ejecuta mypgm.cmd cuando se llama a la función my_rexx_pgm.