Manual de consulta

Bloque o sentencia EXEC

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:

  1. Busca la EXEC_PATH en el archivo de inicialización de Net.Data. Consulte el capítulo sobre 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 sobre EXEC_PATH.
  2. Si Net.Data no localiza el programa, busca en los directorios que define el sistema. Si localiza el programa ejecutable, Net.Data ejecuta el programa.

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

%EXEC
Palabra clave que especifica el nombre de un programa externo que ha de ejecutarse cuando se hace referencia a una variable o cuando se llama a una función. Cuando Net.Data encuentra una referencia de variables que se define en una sentencia EXEC, procesa lo que la sentencia EXEC declara para la variable.

serie
Cualquier secuencia de caracteres alfabéticos y numéricos y de puntuación. Si la serie aparece entre comillas dobles, no se permite el carácter de línea nueva.

referencia de variable
Devuelve el valor de una variable y se especifica con $ y (). Por ejemplo: si VAR='abc', entonces $(VAR) devuelve el valor 'abc'. Consulte el apartado Referencia de variables para obtener información de sintaxis.

llamada de función
Invoca uno o más bloques FUNCTION o MACRO_FUNCTION, o una función incorporada de Net.Data con argumentos específicos. Consulte la sintaxis y ejemplos en el apartado Llamada de función (@).

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.


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]