JCL - Configuración del entorno

Instalación de JCL en Windows / Linux

Hay muchos emuladores de mainframe gratuitos disponibles para Windows que se pueden usar para escribir y aprender ejemplos de JCL.

Uno de esos emuladores es Hercules, que se puede instalar fácilmente en Windows siguiendo unos sencillos pasos que se indican a continuación:

  • Descarga e instala el emulador de Hercules, que está disponible en el sitio de inicio de Hercules: www.hercules-390.eu

  • La guía completa sobre varios comandos para escribir y ejecutar un JCL se puede encontrar en URL www.jaymoseley.com/hercules/installmvs/instmvs2.htm

Hercules es una implementación de software de código abierto de las arquitecturas mainframe System / 370 y ESA / 390, además de la última arquitectura z / de 64 bits. Hercules se ejecuta en Linux, Windows, Solaris, FreeBSD y Mac OS X.

Ejecución de JCL en mainframes

Un usuario puede conectarse a un servidor de mainframe de varias formas, como un cliente ligero, una terminal ficticia, un sistema de cliente virtual (VCS) o un sistema de escritorio virtual (VDS).

Cada usuario válido recibe una identificación de inicio de sesión para ingresar a la interfaz Z / OS (TSO / E o ISPF). En la interfaz Z / OS, el JCL se puede codificar y almacenar como miembro en un conjunto de datos particionado (PDS). Cuando se envía el JCL, se ejecuta y la salida se recibe como se explica en la sección de procesamiento de trabajos del capítulo anterior.

Estructura de un JCL

La estructura básica de un JCL con las declaraciones comunes se da a continuación:

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3) 
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//         DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50                
//SYSOUT   DD SYSOUT=*                                     (6) 
//SYSUDUMP DD SYSOUT=C                                     (6) 
//SYSPRINT DD SYSOUT=*                                     (6) 
//SYSIN    DD *                                            (6) 
  SORT FIELDS=COPY                                    
  INCLUDE COND=(28,3,CH,EQ,C'XXX')                                    
/*                                                         (7)

Descripción del programa

Las declaraciones JCL numeradas se explican a continuación:

(1) JOB statement - Especifica la información requerida para el SPOOLing del trabajo, como la identificación del trabajo, la prioridad de ejecución, la identificación del usuario que se notificará al finalizar el trabajo.

(2) //* statement - Esta es una declaración de comentario.

(3) EXEC statement- Especifica el PROC / Programa a ejecutar. En el ejemplo anterior, se está ejecutando un programa SORT (es decir, ordenando los datos de entrada en un orden particular)

(4) Input DD statement- Especifica el tipo de entrada que se pasará al programa mencionado en (3). En el ejemplo anterior, un archivo físico secuencial (PS) se pasa como entrada en modo compartido (DISP = SHR).

(5) Output DD statement- Especifica el tipo de salida que producirá el programa al ejecutarse. En el ejemplo anterior, se crea un archivo PS. Si una declaración se extiende más allá de la posición 70 en una línea, entonces continúa en la línea siguiente, que debe comenzar con "//" seguido de uno o más espacios.

(6)Puede haber otros tipos de sentencias DD para especificar información adicional al programa (en el ejemplo anterior: la condición SORT se especifica en la sentencia SYSIN DD) y para especificar el destino del registro de error / ejecución (Ejemplo: SYSUDUMP / SYSPRINT). Las declaraciones DD pueden estar contenidas en un conjunto de datos (archivo de mainframe) o como datos de flujo (información codificada dentro del JCL) como se indica en el ejemplo anterior.

(7) /* marca el final de la transmisión de datos.

Todas las sentencias JCL, excepto en los datos de flujo, comienzan con //. Debe haber al menos un espacio antes y después de las palabras clave JOB, EXEC y DD y no debe haber espacios en el resto de la declaración.

Tipos de parámetros de TRABAJO

Cada una de las declaraciones de JCL está acompañada de un conjunto de parámetros para ayudar a los sistemas operativos a completar la ejecución del programa. Los parámetros pueden ser de dos tipos:

Parámetros posicionales

  • Aparece en la posición y el orden predefinidos en la declaración. Ejemplo: Información contable El parámetro solo puede aparecer después deJOBpalabra clave y antes del parámetro de nombre del programador y los parámetros de palabra clave. Si se omite un parámetro posicional, debe reemplazarse con una coma.

  • Los parámetros posicionales están presentes en las declaraciones JOB y EXEC. En el ejemplo anterior, PGM es un parámetro posicional codificado después de laEXEC palabra clave.

Parámetros de palabras clave

  • Están codificados según los parámetros posicionales, pero pueden aparecer en cualquier orden. Los parámetros de palabras clave se pueden omitir si no son necesarios. La sintaxis genérica es KEYWORD = valor . Ejemplo: MSGCLASS = X, es decir, el registro de trabajos se redirige al SPOOL de salida después de la finalización del trabajo.

  • En el ejemplo anterior, CLASS, MSGCLASS y NOTIFY son parámetros de palabras clave de la instrucción JOB. También puede haber parámetros de palabras clave en la declaración EXEC.

Estos parámetros se han detallado en los capítulos siguientes junto con los ejemplos apropiados.