Parámetros y Estructura de un JCL en Mainframe

Clase 13 de 24Curso de COBOL desde Cero

Resumen

¿Qué es un JCL y cómo se estructura?

Un JCL, o Job Control Language, es crucial en el entorno de mainframes, permitiendo gestionar y controlar la ejecución de tareas. ¿No estás seguro por dónde empezar? No te preocupes, en este escrito te desglosamos la estructura básica de un JCL para que puedas comprender cómo se configura y ejecuta un job correctamente.

¿Cómo inicializo un JCL?

Cada JCL comienza con una sentencia JOB, marcando el inicio del script. Este encabezado es esencial y debe contener varios parámetros clave que delinean cómo se ejecutará la tarea.

  1. Parámetros posicionales y de palabra clave (keyword):

    • Parámetro posicional: Aunque opcional, es útil para auditorías o referencias internas.
    • Parámetro keyword: Como CLASS, NOTIFY, MSGCLASS, entre otros, definen propiedades específicas de ejecución.
  2. Composición de un JCL:

    • Un JCL puede tener hasta 255 pasos, cada uno empezando con la sentencia EXEC seguida del programa que se llama a ejecutar.
  3. Copiando y creando un nuevo JCL:

    • Utiliza comandos como C99 99 para copiar el contenido a un nuevo miembro para modificaciones posteriores.
    • Elimina líneas innecesarias con D99 99 para limpiar el template previo antes de codificar desde cero.

¿Cómo codifico mi primer JCL?

  1. Inicio con las columnas adecuadas:

    • Los JCL comienzan con dos diagonales (//), seguido del nombre del usuario y caracteres que identifican el JCL para su fácil localización en el sistema.
  2. Incorporación de parámetros clave:

    • Parámetro JOB: Añade el nombre del job y otros valores opcionales de auditoría.
      //ERC01 JN,MSGLEVEL=(1,1)
      
  3. Especificar valores dentro de las columnas:

    • Utiliza columnas específicas para mantener todo ordenado extendiendo líneas con ,.
    • Clase: Define el valor del CLASS para controlar cómo se programa y procesa en el sistema JES.
    • Notificación: Usa el parámetro NOTIFY para recibir alertas por el estado del job.
      // ERC01 JOB (123),'Example Job',CLASS=A,NOTIFY=&SYSUID,
      
  4. Configurando tiempo y memoria:

    • TIME: Especifica cuánto tiempo puede permanecer en ejecución antes de ser forzado a completar: TIME=1440 indica un máximo de 24 horas.
    • REGIÓN: Define el tope de memoria virtual, REGION=8M es un ejemplo de configuración.
      // TIME=1440,REGION=8M
      

¿Cómo finalizo y verifico mi JCL?

  1. Comentarios y estructura final:

    • Completa tu JCL añadiendo líneas de comentarios con /* y especificaciones finales como diagonales y asterisco: //* This is the structure.
  2. Revisar sintaxis y parámetros opcionales:

    • Asegúrate de que todo esté en su lugar, revisando que los parámetros como MESSAGE CLASS, entre otros, estén adecuadamente configurados según las políticas del sistema en uso.

Crear un JCL puede parecer complicado al principio, ¡pero con práctica te volverás un experto! Continúa explorando los conceptos y trabajando en nuevos scripts para dominar este lenguaje esencial en el mundo de los mainframes.