JCL - Declaración EXEC

Cada JCL puede constar de muchos pasos de trabajo. Cada paso del trabajo puede ejecutar un programa directamente o puede llamar a un procedimiento, que a su vez ejecuta uno o más programas (pasos del trabajo). La declaración, que contiene la información del procedimiento / programa de pasos del trabajo es laEXEC statement.

El propósito de la instrucción EXEC es proporcionar la información requerida para el programa / procedimiento ejecutado en el paso del trabajo. Los parámetros codificados en esta instrucción pueden pasar datos al programa en ejecución, pueden anular ciertos parámetros de la instrucción JOB y pueden pasar parámetros al procedimiento si la instrucción EXEC llama a un procedimiento en lugar de ejecutar directamente un programa.

Sintaxis

A continuación se muestra la sintaxis básica de una sentencia JCL EXEC:

//Step-name EXEC Positional-param, Keyword-param

Descripción

Veamos la descripción de los términos utilizados en la sintaxis de la declaración EXEC anterior.

PASO-NOMBRE

Esto identifica el paso del trabajo dentro del JCL. Puede tener una longitud de 1 a 8 con caracteres alfanuméricos.

EXEC

Esta es la palabra clave para identificarlo como una declaración EXEC.

PARAM POSICIONAL

Estos son parámetros posicionales, que pueden ser de dos tipos:

Parámetro posicional Descripción
PGM Esto se refiere al nombre del programa que se ejecutará en el paso del trabajo.
PROC Esto se refiere al nombre del procedimiento que se ejecutará en el paso del trabajo. Lo discutiremos en un capítulo aparte.

PARAM DE PALABRA CLAVE

A continuación se muestran los diversos parámetros de palabras clave para la declaración EXEC. Puede utilizar uno o más parámetros según los requisitos y están separados por comas:

Parámetro de palabra clave Descripción
PARM

Se utiliza para proporcionar datos parametrizados al programa que se está ejecutando en el paso del trabajo. Este es un campo dependiente del programa y no tiene reglas definidas, excepto que el valor PARM debe incluirse entre comillas en caso de tener caracteres especiales.

Por ejemplo, dado a continuación, el valor "CUST1000" se pasa como un valor alfanumérico al programa. Si el programa está en COBOL, el valor pasado a través de un parámetro PARM en un JCL se recibe en la SECCIÓN LINKAGE del programa.

ADDRSPC

Se utiliza para especificar si el paso del trabajo requiere almacenamiento virtual o real para su ejecución. El almacenamiento virtual se puede paginar, mientras que el almacenamiento real no lo es y se coloca en la memoria principal para su ejecución. Los pasos del trabajo, que requieren una ejecución más rápida, se pueden colocar en un almacenamiento real. A continuación se muestra la sintaxis:

ADDRSPC=VIRT | REAL

Cuando un ADDRSPC no está codificado, VIRT es el predeterminado.

ACCT

Esto especifica la información contable del paso del trabajo. A continuación se muestra la sintaxis:

ACCT=(userid)

Esto es similar al parámetro posicional accounting informationen la declaración JOB. Si está codificado tanto en la instrucción JOB como en la EXEC, entonces la información contable en la instrucción JOB se aplica a todos los pasos del trabajo donde no se codifica un parámetro ACCT. El parámetro ACCT en una instrucción EXEC anulará el presente en la instrucción JOB solo para ese paso de trabajo.

Parámetros de palabras clave comunes de EXEC y JOB Statement

Parámetro de palabra clave Descripción
ADDRSPC ADDRSPC codificado en la sentencia JOB anula el ADDRSPC codificado en la sentencia EXEC de cualquier paso del trabajo.
TIME Si TIEMPO está codificado en una instrucción EXEC, se aplica solo a ese paso de trabajo. Si se especifica tanto en la instrucción JOB como en la EXEC, ambas estarán vigentes y pueden causar un error de tiempo de espera debido a cualquiera de ellas. No se recomienda utilizar el parámetro TIME en las instrucciones JOB y EXEC juntas.
REGION

Si REGION está codificado en una instrucción EXEC, solo se aplica a ese paso de trabajo.

REGION codificada en la instrucción JOB anula la REGION codificada en la instrucción EXEC de cualquier paso del trabajo.

COND

Se utiliza para controlar la ejecución del paso del trabajo en función del código de retorno del paso anterior.

Si un parámetro COND está codificado en una instrucción EXEC de un paso de trabajo, entonces se ignora el parámetro COND de la instrucción JOB (si está presente). Las diversas pruebas que se pueden realizar utilizando un parámetro COND se explican en Procesamiento condicional.

Ejemplo

A continuación, se muestra un ejemplo simple de script JCL junto con declaraciones JOB y EXEC:

//TTYYSAMP JOB 'TUTO',CLASS=6,MSGCLASS=X,REGION=8K,
//      NOTIFY=&SYSUID
//*
//STEP010 EXEC PGM=MYCOBOL,PARAM=CUST1000,
//      ACCT=(XXXX),REGION=8K,ADDRSPC=REAL,TIME=1440