JCL - Declaración JOB

La instrucción JOB es la primera instrucción de control en un JCL. Esto le da la identidad del trabajo al sistema operativo (SO), en el spool y en el planificador. Los parámetros de la declaración JOB ayudan a los sistemas operativos a asignar el programador correcto, el tiempo de CPU requerido y la emisión de notificaciones al usuario.

Sintaxis

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

//Job-name JOB Positional-param, Keyword-param

Descripción

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

Nombre del trabajo

Esto le da una identificación al trabajo mientras lo envía al sistema operativo. Puede tener una longitud de 1 a 8 con caracteres alfanuméricos y comienza justo después de //.

TRABAJO

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

Parámetro posicional

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

Parámetro posicional Descripción
Account information Esto se refiere a la persona o grupo al que se le debe el tiempo de CPU. Se establece según las reglas de la empresa propietaria de los mainframes. Si se especifica como (*), entonces toma la identificación del usuario, que ha iniciado sesión en la Terminal Mainframe.
Programmer name Identifica a la persona o grupo a cargo de la JCL. Este no es un parámetro obligatorio y se puede reemplazar por una coma.

Parámetro de palabra clave

A continuación se muestran los diversos parámetros de palabras clave, que se pueden utilizar en la instrucción JOB. 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
CLASS

Según la duración del tiempo y la cantidad de recursos requeridos por el trabajo, las empresas asignan diferentes clases de trabajo. Estos se pueden visualizar como programadores individuales utilizados por el sistema operativo para recibir los trabajos. Colocar los trabajos en el programador correcto ayudará a que se ejecuten fácilmente. Algunas empresas tienen diferentes clases para trabajos en entornos de prueba y producción.

Los valores válidos para el parámetro CLASS son los caracteres de la A a la Z y los números de 0 a 9 (de longitud 1). A continuación se muestra la sintaxis:

CLASS=0 to 9 | A to Z

PRTY

Para especificar la prioridad del trabajo dentro de una clase de trabajo. Si no se especifica este parámetro, el trabajo se agrega al final de la cola en la CLASE especificada. A continuación se muestra la sintaxis:

PRTY=N

Donde N es un número entre 0 y 15 y mayor es el número, mayor es la prioridad.

NOTIFY

El sistema envía el mensaje de éxito o falla (Código de condición máxima) al usuario especificado en este parámetro. A continuación se muestra la sintaxis:

NOTIFY="userid | &SYSUID"

Aquí el sistema envía el mensaje al usuario "userid" pero si usamos NOTIFY = & SYSUID, entonces el mensaje se envía al usuario que envía el JCL.

MSGCLASS

Para especificar el destino de salida para el sistema y los mensajes de trabajo cuando se completa el trabajo. A continuación se muestra la sintaxis:

MSGCLASS=CLASS

Los valores válidos de CLASS pueden ser de "A" a "Z" y de "0" a "9". MSGCLASS = Y se puede configurar como una clase para enviar el registro de trabajos al JMR (Gestión y recuperación de JOBLOG: un repositorio dentro de los mainframes para almacenar las estadísticas del trabajo).

MSGLEVEL

Especifica el tipo de mensajes que se escribirán en el destino de salida especificado en MSGCLASS. A continuación se muestra la sintaxis:

MSGLEVEL=(ST, MSG)

ST = Tipo de declaraciones escritas en el registro de salida

  • Cuando ST = 0, solo declaraciones de trabajo.

  • Cuando ST = 1, JCL junto con los parámetros simbólicos se expandieron.

  • Cuando ST = 2, ingrese JCL solamente.

MSG = Tipo de mensajes escritos en el registro de salida.

  • Cuando MSG = 0, los mensajes de asignación y terminación se escriben tras la finalización anormal del trabajo.

  • Cuando MSG = 1, los mensajes de asignación y terminación se escriben independientemente de la naturaleza de la finalización del trabajo.

TYPRUN

Especifica un procesamiento especial para el trabajo. A continuación se muestra la sintaxis:

TYPRUN = SCAN | HOLD

Donde SCAN and HOLD tiene la siguiente descripción

  • TYPRUN = SCAN comprueba los errores de sintaxis del JCL sin ejecutarlo.

  • TYPRUN = HOLD pone el trabajo en RETENCIÓN en la cola de trabajos. Para liberar el trabajo, se puede escribir "A" contra el trabajo en SPOOL, lo que hará que el trabajo se ejecute.

TIME

Especifica el intervalo de tiempo que utilizará el procesador para ejecutar el trabajo. A continuación se muestra la sintaxis:

TIME=(mm, ss) or TIME=ss

Donde mm = minutos y ss = segundos

Este parámetro puede resultar útil al probar un programa recién codificado. Para garantizar que el programa no se ejecute durante mucho tiempo debido a errores de bucle, se puede codificar un parámetro de tiempo para que el programa finalice anormalmente cuando se alcance el tiempo de CPU especificado.

REGION

Especifica el espacio de direcciones necesario para ejecutar un paso de trabajo dentro del trabajo. A continuación se muestra la sintaxis:

REGION=nK | nM

Aquí, la región se puede especificar como nK o nM donde n es un número, K es kilobyte y M es Megabyte.

Cuando REGION = 0K o 0M, se proporciona el mayor espacio de direcciones para la ejecución. En aplicaciones críticas, se prohíbe la codificación de 0K o 0M para evitar desperdiciar el espacio de direcciones.

Ejemplo

//URMISAMP JOB (*),"tutpoint",CLASS=6,PRTY=10,NOTIFY=&SYSUID, 
//   MSGCLASS=X,MSGLEVEL=(1,1),TYPRUN=SCAN, 
//   TIME=(3,0),REGION=10K

Aquí, la instrucción JOB se extiende más allá de la posición 70 en una línea, por lo que continuamos en la siguiente línea, que debe comenzar con "//" seguida de uno o más espacios.

Parámetros varios

Hay algunos otros parámetros que se pueden usar con la instrucción JOB, pero no se usan con frecuencia:

ADDRSPC Tipo de almacenamiento utilizado: virtual o real
BYTES Tamaño de los datos que se escribirán en el registro de salida y la acción que se tomará cuando se exceda el tamaño.
LINES Número máximo de líneas que se imprimirán en el registro de salida.
PAGES Número máximo de páginas que se imprimirán en el registro de salida.
USER Identificación de usuario utilizada para enviar el trabajo
PASSWORD Contraseña del ID de usuario especificado en el parámetro USER.
COND and RESTART Estos se utilizan en el procesamiento de pasos de trabajo condicional y se explican en detalle al analizar el procesamiento condicional.