En este tema, proporcionaremos una visión general de las declaraciones más importantes en JCL (Job Control Language). Estas declaraciones son fundamentales para definir y controlar los trabajos que se ejecutan en un sistema mainframe. A lo largo de este módulo, aprenderás sobre las tres declaraciones principales: JOB, EXEC y DD, así como su sintaxis y uso básico.
Declaraciones Principales en JCL
- Declaración JOB
La declaración JOB es la primera declaración en un trabajo JCL y se utiliza para identificar el trabajo al sistema operativo. Incluye información como el nombre del trabajo, el usuario que lo envía y las condiciones de ejecución.
Sintaxis Básica:
Ejemplo:
Explicación:
JOBNAME
: Nombre del trabajo.accounting_info
: Información de contabilidad para el trabajo.'programmer_name'
: Nombre del programador.CLASS
: Clase de trabajo, que determina la prioridad y los recursos asignados.MSGCLASS
: Clase de mensajes, que especifica dónde se enviarán los mensajes de salida.
- Declaración EXEC
La declaración EXEC se utiliza para ejecutar un programa o procedimiento. Define el programa que se va a ejecutar y los parámetros necesarios.
Sintaxis Básica:
Ejemplo:
Explicación:
stepname
: Nombre del paso dentro del trabajo.PGM
: Nombre del programa a ejecutar.PARM
: Parámetros opcionales que se pasan al programa.
- Declaración DD
La declaración DD (Data Definition) se utiliza para describir los archivos y dispositivos que el programa necesita. Define cómo se deben manejar los conjuntos de datos.
Sintaxis Básica:
Ejemplo:
Explicación:
ddname
: Nombre de la definición de datos.DSN
: Nombre del conjunto de datos.DISP
: Disposición del conjunto de datos (por ejemplo,NEW
,OLD
,SHR
).
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), 'John Doe', CLASS=A, MSGCLASS=X //STEP1 EXEC PGM=IEFBR14 //MYDATA DD DSN=MY.DATA.SET, DISP=SHR
Explicación:
- La declaración
JOB
define el trabajo con el nombreMYJOB
, asigna la claseA
y la clase de mensajesX
. - La declaración
EXEC
ejecuta el programaIEFBR14
en el pasoSTEP1
. - La declaración
DD
define un conjunto de datosMY.DATA.SET
con disposiciónSHR
(compartido).
Ejercicio Práctico
Ejercicio: Escribe un trabajo JCL que:
- Defina un trabajo con el nombre
TESTJOB
, asignado a la claseB
y la clase de mensajesY
. - Ejecute el programa
IEFBR14
en un paso llamadoINIT
. - Defina un conjunto de datos llamado
TEST.DATA.SET
con disposiciónNEW
.
Solución:
//TESTJOB JOB (12345), 'Jane Smith', CLASS=B, MSGCLASS=Y //INIT EXEC PGM=IEFBR14 //TESTDATA DD DSN=TEST.DATA.SET, DISP=(NEW,CATLG,DELETE)
Explicación:
- La declaración
JOB
define el trabajoTESTJOB
con la claseB
y la clase de mensajesY
. - La declaración
EXEC
ejecuta el programaIEFBR14
en el pasoINIT
. - La declaración
DD
define un conjunto de datosTEST.DATA.SET
con disposiciónNEW
, que se catalogará (CATLG
) si el trabajo se completa con éxito y se eliminará (DELETE
) si falla.
Conclusión
En esta sección, hemos cubierto una visión general de las declaraciones principales en JCL: JOB, EXEC y DD. Estas declaraciones son esenciales para definir y controlar los trabajos en un sistema mainframe. En los próximos módulos, profundizaremos en cada una de estas declaraciones y exploraremos sus opciones y parámetros en detalle.
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