JCL: descripción general
Cuando usar JCL
JCL se utiliza en un entorno de mainframe para actuar como una comunicación entre un programa (ejemplo: COBOL, Assembler o PL / I) y el sistema operativo. En un entorno de mainframe, los programas se pueden ejecutar en modo por lotes y en línea. Un ejemplo de un sistema por lotes puede ser procesar las transacciones bancarias a través de un archivo VSAM (Virtual Storage Access Method) y aplicarlo a las cuentas correspondientes. Un ejemplo de un sistema en línea puede ser una pantalla de back office utilizada por el personal de un banco para abrir una cuenta. En el modo por lotes, los programas se envían al sistema operativo como un trabajo a través de un JCL.
El procesamiento por lotes y en línea difieren en el aspecto de la entrada, la salida y la solicitud de ejecución del programa. En el procesamiento por lotes, estos aspectos se introducen en un JCL que, a su vez, es recibido por el sistema operativo.
Procesamiento de trabajos
Un trabajo es una unidad de trabajo que puede constar de muchos pasos de trabajo. Cada paso del trabajo se especifica en un lenguaje de control de trabajos (JCL) mediante un conjunto de declaraciones de control de trabajos.
El sistema operativo utiliza Job Entry System (JES) para recibir trabajos en el sistema operativo, programarlos para su procesamiento y controlar la salida.
El procesamiento de trabajos pasa por una serie de pasos como se indica a continuación:
Job Submission - Envío del JCL a JES.
Job Conversion - El JCL junto con el PROC se convierte en un texto interpretado para ser entendido por JES y almacenado en un conjunto de datos, al que llamamos SPOOL.
Job Queuing -JES decide la prioridad del trabajo en función de los parámetros CLASS y PRTY en la declaración JOB (explicada en el capítulo JCL - Declaración JOB ). Se comprueban los errores de JCL y el trabajo se programa en la cola de trabajos si no hay errores.
Job Execution -Cuando el trabajo alcanza su máxima prioridad, se toma para su ejecución desde la cola de trabajos. El JCL se lee del SPOOL, el programa se ejecuta y la salida se redirige al destino de salida correspondiente como se especifica en el JCL.
Purging -Cuando se completa el trabajo, se liberan los recursos asignados y el espacio JES SPOOL. Para almacenar el registro de trabajo, necesitamos copiar el registro de trabajo a otro conjunto de datos antes de que se libere del SPOOL.