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
MSG = Tipo de mensajes escritos en el registro de salida.
|
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
|
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. |