En este tema, aprenderemos sobre la estructura básica de un trabajo JCL (Job Control Language). JCL es un lenguaje utilizado en sistemas mainframe para describir trabajos por lotes. Un trabajo JCL está compuesto por una serie de declaraciones que indican al sistema qué tareas realizar y cómo manejar los datos.

Componentes de un Trabajo JCL

Un trabajo JCL típico consta de tres tipos principales de declaraciones:

  1. Declaración JOB: Define el inicio de un trabajo y proporciona información general sobre el trabajo.
  2. Declaración EXEC: Especifica el programa o procedimiento que se ejecutará.
  3. Declaración DD: Define los archivos de datos que se utilizarán en el trabajo.

  1. Declaración JOB

La declaración JOB es la primera declaración en un trabajo JCL. Proporciona información sobre el trabajo, como el nombre del trabajo, el usuario responsable y los parámetros de contabilidad.

Sintaxis:

//JOBNAME JOB (accounting_info), 'job_description', CLASS=class, MSGCLASS=msgclass, ...

Ejemplo:

//MYJOB   JOB (12345), 'Sample Job', CLASS=A, MSGCLASS=X

  1. Declaración EXEC

La declaración EXEC especifica el programa o procedimiento que se ejecutará. Cada trabajo puede tener una o más declaraciones EXEC.

Sintaxis:

//stepname EXEC PGM=program_name

Ejemplo:

//STEP1   EXEC PGM=IEFBR14

  1. Declaración DD

La declaración DD (Data Definition) describe los archivos de datos que se utilizarán en el trabajo. Define las características de los archivos, como el nombre, la ubicación y la disposición.

Sintaxis:

//ddname  DD  parameters

Ejemplo:

//SYSOUT  DD  SYSOUT=*

Ejemplo Completo de un Trabajo JCL

A continuación, se muestra un ejemplo completo de un trabajo JCL que incluye las tres declaraciones principales:

//MYJOB   JOB (12345), 'Sample Job', CLASS=A, MSGCLASS=X
//STEP1   EXEC PGM=IEFBR14
//SYSOUT  DD  SYSOUT=*

Explicación del Ejemplo

  1. Declaración JOB:

    • MYJOB: Nombre del trabajo.
    • (12345): Información de contabilidad.
    • 'Sample Job': Descripción del trabajo.
    • CLASS=A: Clase de trabajo.
    • MSGCLASS=X: Clase de mensajes.
  2. Declaración EXEC:

    • STEP1: Nombre del paso.
    • PGM=IEFBR14: Programa a ejecutar (IEFBR14 es un programa de utilidad que no realiza ninguna operación).
  3. Declaración DD:

    • SYSOUT: Nombre del archivo de datos.
    • SYSOUT=*: Enviar la salida al sistema de impresión.

Ejercicio Práctico

Ejercicio 1

Escribe un trabajo JCL que ejecute el programa IEFBR14 y envíe la salida a la clase de mensajes A.

Solución:

//MYJOB   JOB (12345), 'Exercise Job', CLASS=A, MSGCLASS=A
//STEP1   EXEC PGM=IEFBR14
//SYSOUT  DD  SYSOUT=*

Ejercicio 2

Modifica el trabajo anterior para que el nombre del trabajo sea TESTJOB y la clase de trabajo sea B.

Solución:

//TESTJOB JOB (12345), 'Exercise Job', CLASS=B, MSGCLASS=A
//STEP1   EXEC PGM=IEFBR14
//SYSOUT  DD  SYSOUT=*

Resumen

En esta sección, hemos aprendido sobre la estructura básica de un trabajo JCL, que incluye las declaraciones JOB, EXEC y DD. También hemos visto ejemplos prácticos y ejercicios para reforzar los conceptos aprendidos. En el siguiente tema, profundizaremos en las declaraciones JCL y su sintaxis específica.

© Copyright 2024. Todos los derechos reservados