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
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 bibliotecasPROCLIB1
yPROCLIB2
serán buscadas en ese orden para encontrar el procedimientoMYPROC
.
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
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:
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 miembroCOMMONCODE
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.
Curso de JCL (Lenguaje de Control de Trabajos)
Módulo 1: Introducción a JCL
- ¿Qué es JCL?
- Estructura Básica de un Trabajo JCL
- Visión General de las Declaraciones JCL
- Ejecutando Tu Primer Trabajo JCL
Módulo 2: Declaraciones y Sintaxis de JCL
Módulo 3: Declaraciones de Definición de Datos (DD)
- Definiendo Conjuntos de Datos
- Conjuntos de Datos Temporales
- Referenciando Conjuntos de Datos
- Parámetro de Disposición
Módulo 4: Procedimientos y Parámetros Simbólicos
- Introducción a los Procedimientos
- Creando y Usando Procedimientos
- Parámetros Simbólicos
- Sobrescribiendo Parámetros
Módulo 5: Conceptos Avanzados de JCL
- Procesamiento Condicional
- Declaraciones JCLLIB e INCLUDE
- Grupos de Datos de Generación (GDGs)
- Reinicio y Punto de Control
Módulo 6: Manejo de Errores y Depuración
- Errores Comunes de JCL
- Interpretando Mensajes de Error de JCL
- Técnicas de Depuración
- Usando JES2/JES3 para Solución de Problemas
Módulo 7: Rendimiento y Optimización
- Optimizando Trabajos JCL
- Uso Eficiente de Conjuntos de Datos
- Procesamiento Paralelo
- Mejores Prácticas