En este tema, exploraremos las declaraciones JCLLIB e INCLUDE, que son fundamentales para la modularidad y reutilización de código en JCL. Estas declaraciones permiten a los programadores gestionar y organizar sus trabajos de manera más eficiente.

Declaración JCLLIB

¿Qué es JCLLIB?

La declaración JCLLIB se utiliza para especificar una lista de bibliotecas de procedimientos (PROCLIBs) que contienen procedimientos JCL. Esto permite que los trabajos JCL utilicen procedimientos almacenados en estas bibliotecas sin necesidad de especificar la ruta completa cada vez.

Sintaxis de JCLLIB

//JCLLIB ORDER=(library1,library2,...)
  • ORDER: Especifica el orden en el que se buscarán las bibliotecas.
  • library1, library2, ...: Lista de bibliotecas de procedimientos.

Ejemplo de JCLLIB

//MYJOB    JOB  (ACCT),'EXAMPLE JOB',CLASS=A,MSGCLASS=X
//JCLLIB   ORDER=(PROCLIB1,PROCLIB2)
//STEP1    EXEC PROC=MYPROC

En este ejemplo:

  • JCLLIB ORDER=(PROCLIB1,PROCLIB2) indica que las bibliotecas PROCLIB1 y PROCLIB2 serán buscadas en ese orden para encontrar el procedimiento MYPROC.

Ejercicio Práctico

Ejercicio: Escribe un trabajo JCL que utilice la declaración JCLLIB para especificar dos bibliotecas de procedimientos y ejecute un procedimiento llamado BACKUPPROC.

Solución:

//BACKUPJOB JOB  (ACCT),'BACKUP JOB',CLASS=A,MSGCLASS=X
//JCLLIB    ORDER=(LIB1,LIB2)
//STEP1     EXEC PROC=BACKUPPROC

Declaración INCLUDE

¿Qué es INCLUDE?

La declaración INCLUDE permite incluir segmentos de código JCL almacenados en miembros de una biblioteca de particiones (PDS). Esto es útil para reutilizar bloques de código comunes en múltiples trabajos JCL.

Sintaxis de INCLUDE

//INCLUDE MEMBER=membername
  • MEMBER: Especifica el nombre del miembro que contiene el código JCL a incluir.

Ejemplo de INCLUDE

Supongamos que tenemos un miembro llamado COMMONCODE en una biblioteca MYLIB que contiene el siguiente código:

//COMMONCODE  DD  DSN=MY.DATA.SET,DISP=SHR

Podemos incluir este código en nuestro trabajo JCL de la siguiente manera:

//MYJOB    JOB  (ACCT),'EXAMPLE JOB',CLASS=A,MSGCLASS=X
//INCLUDE  MEMBER=COMMONCODE
//STEP1    EXEC PGM=MYPROGRAM

En este ejemplo:

  • INCLUDE MEMBER=COMMONCODE incluye el contenido del miembro COMMONCODE en el trabajo JCL.

Ejercicio Práctico

Ejercicio: Crea un trabajo JCL que incluya un miembro llamado SETUPCODE de una biblioteca SETUPLIB y ejecute un programa llamado INITPROG.

Solución:

//INITJOB  JOB  (ACCT),'INIT JOB',CLASS=A,MSGCLASS=X
//INCLUDE  MEMBER=SETUPCODE
//STEP1    EXEC PGM=INITPROG

Resumen

En esta sección, hemos aprendido sobre las declaraciones JCLLIB e INCLUDE, que son herramientas poderosas para la modularidad y reutilización de código en JCL. La declaración JCLLIB permite especificar bibliotecas de procedimientos, mientras que la declaración INCLUDE permite incluir segmentos de código JCL almacenados en miembros de una biblioteca de particiones. Estas características facilitan la gestión y organización de trabajos JCL, mejorando la eficiencia y mantenibilidad del código.

Conceptos Clave

  • JCLLIB: Especifica bibliotecas de procedimientos para facilitar la búsqueda y uso de procedimientos JCL.
  • INCLUDE: Permite incluir segmentos de código JCL almacenados en miembros de una biblioteca de particiones.

Preparación para el Siguiente Tema

En el próximo tema, exploraremos los Grupos de Datos de Generación (GDGs), que son una forma avanzada de gestionar conjuntos de datos en JCL. Aprenderemos cómo definir, crear y utilizar GDGs para mejorar la organización y el control de versiones de los datos.

© Copyright 2024. Todos los derechos reservados