Blog

Mundo Mainframe

10.04.2015 23:49

El lenguaje JCL o Job Control Languaje.

El JCL es el lenguaje de control de trabajos o procesos por lotes para z/OS. Las tareas o STCs (started tasks), y fundamentalmente todo el trabajo es realizado utilizando JCL.

Para que el sistema trabaje para ti debes describirle el trabajo que quieres que haga y los recursos que necesitas. Para ello utilizas el JCL para proporcionar esta información al sistema, codificando las instrucciones necesarias para realizar el trabajo y ejecutarlo en un proceso por lotes o batch. Enseguida te muestro el proceso general que va de la preparación a la ejecución de un JCL.

En la figura anterior, las actividades mostradas en el bloque izquierdo tiene que ser realizadas por el usuario, la actividades mostradas en el bloque derecho corresponden al sistema.

 

Para ejecutar un trabajo en el sistema hay que informale al sistema donde encontrar los datos de entrada, como procesarlos mediante un programa y que hacer con los resultados.

Ejemplos de trabajo comunes que pedimos realizar al sistema ejecutando un JCL son:

 

  • Definir un archivo o dataset.

  • Copiar uno o más archivos.

  • Leer un archivo para obtener un reporte.

  • Ejecutar un programa que consulta o manipula datos en una base de datos.

 

Al crear un JCL, especificamos enunciados de control que se agrupan en pasos del job o trabajo a realizar, que generalmente se ejecutan en forma secuencial y que contienen los enunciados necesarios para ejecutar un programa. Precisamente para ejecutar más de un programa, se definen diferentes pasos, tantos como programas a ejecutar.

 

Los principales enunciados de control del JCL.

Enunciado

 Descripción

JOB

Cada JCL debe contener al menos un enunciado de JOB, que marca el principio de un job y le asigna un nombre, también proporciona información administrativa y un registro de contabilidad del trabajo.

EXEC

Marca el inicio de un paso e indica el programa o procedimiento a ser ejecutado.

DD

Usualmente los jobs contienen uno o más enunciados de DD (data definition) que identifican los datos de entrada y salida a ser usados.

Para preparar un JCL necesitamos un editor, en z/OS es usual utilizar el editor nativo de ISPF. Para identificar los enunciados básicos te muestro un ejemplo real de JCL que nos permitirá "pedirle" al sistema crear el archivo MYDSN.PRUEBA ejecutando el programa IEFBR14.

 

 

Podrás notar que al enunciado "JOB" lo precede la etiqueta "MIJCL", misma que le da nombre al job o trabajo. Enseguida del mismo enunciado de "JOB" podemos colocar una serie de parámetros, de los cuales hablaremos más adelante.

El enunciado "EXEC" también es precedido por la etiqueta "GENERA1" que nombra a su vez al paso del job o trabajo. También nos indica el programa a ejecutar del lado derecho del parámetro "PGM".

 

Sintaxis básica del JCL.

 

En JCL sólo podemos usar 72 caractéres por linea, aunque estrictamente son 71 ya que la posición es utilizada para indicar una continuación.

 

  • Todos las lineas con enunciados y continuaciones deben iniciar con “//” en la primera posición.

  • Los comentarios se identifican iniciando la línea con “//*” en la primera posición.  

  • Para continuar en la línea siguiente se requiere una coma

  • Una continuación debe iniciar entre las columnas 4 y 16.

  • Todos los enunciados, comandos, parámetros y valores se escriben en mayúsculas, excepto comandos y rutas de archivos de los servicios Unix.

aaaaaaaa cccccccc dddddddd ppppp    zzzzzzz

Identificador  Nombre   Operación  Parámetros  Comentarios

//

Enviando el JCL a ejecución.

 

Una vez que tu JCL está terminado, desde podemos enviarlo a ejecución tecleando el comando SUBMIT o SUB desde la línea de comandos del editor de ISPF.

 

 feed RSS.