JCL (lenguaje de control de trabajos)

El lenguaje de control de trabajos (JCL) es un lenguaje de secuencias de comandos que describe trabajos para el sistema operativo que se ejecuta en las computadoras de servidor grande (mainframe) de IBM. JCL actúa como una interfaz entre sus programas de aplicación (COBOL, PL/1, Assembler, etc.) y Mainframe OS (MVS o Z/OS). Es principalmente un conjunto de declaraciones de control que proporcionan las especificaciones necesarias para ejecutar un programa de aplicación. En un entorno de mainframe, los programas se pueden ejecutar en modo por lotes y en línea. JCL se utiliza para enviar un programa para su ejecución en modo por lotes.

Para cada trabajo que envíe, debe decirle a z/OS dónde encontrar la entrada adecuada, cómo procesar esa entrada y qué hacer con la salida resultante. JCL se utiliza para transmitir esta información a z/OS. JCL se diseñó originalmente para tarjetas perforadas, los detalles de codificación de sentencias JCL pueden ser complicados. Sin embargo, los conceptos generales son bastante simples y la mayoría de los trabajos se pueden ejecutar utilizando un subconjunto muy pequeño de estas instrucciones de control.

Todos los trabajos requieren los tres tipos principales de sentencias JCL: JOB, EXEC y DD.

Declaración JOB : debe ser la primera declaración en el JCL. Indica la información contable y la información relacionada con el TRABAJO al sistema. También especifica la información requerida para la puesta en cola 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.

Declaración EXEC : aquí se codifica el nombre del programa o procedimiento que se va a ejecutar. Especifica el PROC/Programa a ejecutar. Cada instrucción EXEC en un TRABAJO identifica un paso. Se puede codificar un máximo de 255 sentencias EXEC en un TRABAJO.

Declaración DD – Descriptor de datos. Los detalles del conjunto de datos están codificados aquí. El conjunto de datos contiene los datos que el programa debe procesar o los datos producidos por el programa. Se pueden codificar un máximo de 3273 sentencias DD en un paso.

Ejemplos:

//JCLSCHOOL JOB ,,,NOTIFY=&SYSUID
//STEP1 EXEC PGM=IEFBR14
//DD1 DD DSN=JCLSCHOOL.JCL.PS,
// DISP=(NEW,CATLG,DELETE),
// UNIT=SYSDA, SPACE=(TRK,(2,2),RLSE),
// DCB=(LRECL=80,BLKSIZE=800,RECFM=FB)
//SYSPRINT DD SYSOUT=*

Producción:

In this JCL, a PS file is created

Fin anormal (ABEND) Y ERROR

Una vez que el trabajo a realizar se define en JCL, se puede enviar al sistema operativo mediante el comando SUBMIT. Por lo general, antes del envío, se emite JEM o JSCAN para verificar cualquier posible error de JCL.

ERROR JCl:
1. Errores antes de que el trabajo comience a ejecutarse: si hay errores de sintaxis, se rechaza todo el trabajo con un mensaje de error en JES MESSAGES. Por lo general, esto requiere corrección y reenvío de todo el TRABAJO.

2. Errores antes de que el paso comience a ejecutarse: si hay algún problema de asignación como (conjunto de datos no encontrado, conjunto de datos duplicado), el trabajo se eliminará por error, pero en este caso es posible que ya se hayan ejecutado n pasos. Por lo general, esto necesita corrección y reinicio en el trabajo.

ABEND: a
diferencia de los errores JCL, ABEND ocurre durante la ejecución de un programa en un paso. Los ABENDS se clasifican en 2 categorías.

Sistema ABEND (Snnn): el sistema anabend ocurre cuando el sistema no puede ejecutar una declaración que se instruye en el programa. El sistema operativo arroja un error.

Usuario ABEND (Unnn): cuando ocurre alguna condición inesperada en los datos pasados, el programa llamará a una rutina de terminación anormal y terminará el paso con las pantallas adecuadas. Esto es lanzado por la aplicación según el requisito.

Publicación traducida automáticamente

Artículo escrito por suchitra_m y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *