En esta sección, aprenderás cómo ejecutar tu primer trabajo JCL. Este es un paso fundamental para cualquier programador que trabaje en un entorno mainframe, ya que JCL es el lenguaje utilizado para controlar la ejecución de trabajos en sistemas IBM z/OS.
Objetivos de Aprendizaje
- Comprender la estructura básica de un trabajo JCL.
- Escribir y ejecutar un trabajo JCL simple.
- Interpretar los resultados de la ejecución del trabajo.
Estructura Básica de un Trabajo JCL
Un trabajo JCL típico consta de tres tipos principales de declaraciones:
- JOB: Define el trabajo y sus atributos.
- EXEC: Especifica el programa o procedimiento a ejecutar.
- DD: Define los archivos de entrada y salida.
Ejemplo de un Trabajo JCL Simple
A continuación, se muestra un ejemplo de un trabajo JCL simple que ejecuta un programa llamado IEFBR14
, que es un programa de utilidad que no realiza ninguna operación. Este ejemplo es útil para entender la estructura básica sin complicaciones adicionales.
//MYJOB JOB (ACCT),'MY FIRST JOB',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1) //STEP1 EXEC PGM=IEFBR14 //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY
Explicación del Código
-
Declaración JOB:
//MYJOB JOB (ACCT),'MY FIRST JOB',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1)
MYJOB
: Nombre del trabajo.JOB
: Palabra clave que indica el inicio de una declaración JOB.(ACCT)
: Número de cuenta para la facturación.'MY FIRST JOB'
: Descripción del trabajo.CLASS=A
: Clase de trabajo, que determina la prioridad y los recursos asignados.MSGCLASS=A
: Clase de mensajes, que determina dónde se envían los mensajes de salida.MSGLEVEL=(1,1)
: Nivel de mensajes que se generarán.
-
Declaración EXEC:
//STEP1 EXEC PGM=IEFBR14
STEP1
: Nombre del paso.EXEC
: Palabra clave que indica el inicio de una declaración EXEC.PGM=IEFBR14
: Especifica el programa a ejecutar.
-
Declaraciones DD:
//SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY
SYSPRINT
: Nombre del archivo de salida para los mensajes del programa.DD
: Palabra clave que indica el inicio de una declaración DD.SYSOUT=*
: Envía la salida al sistema de impresión.SYSIN
: Nombre del archivo de entrada.DUMMY
: Indica que no hay datos de entrada.
Ejecutando el Trabajo JCL
Para ejecutar el trabajo JCL, sigue estos pasos:
- Escribir el JCL: Utiliza un editor de texto en tu entorno mainframe para escribir el código JCL.
- Enviar el Trabajo: Usa el comando
SUBMIT
para enviar el trabajo al sistema JES (Job Entry Subsystem). - Verificar la Ejecución: Revisa los mensajes de salida para asegurarte de que el trabajo se ejecutó correctamente.
Ejemplo de Envío de Trabajo
Interpretando los Resultados
Después de enviar el trabajo, puedes verificar su estado y salida utilizando comandos del sistema JES. Aquí hay algunos comandos útiles:
-
Verificar el Estado del Trabajo:
STATUS JOB(MYJOB)
-
Verificar la Salida del Trabajo:
OUTPUT JOB(MYJOB)
Ejercicio Práctico
Ejercicio 1: Escribir y Ejecutar un Trabajo JCL
- Escribe un trabajo JCL similar al ejemplo proporcionado.
- Envíalo al sistema JES.
- Verifica la salida y asegúrate de que el trabajo se ejecutó correctamente.
Solución del Ejercicio
//MYJOB JOB (ACCT),'MY FIRST JOB',CLASS=A,MSGCLASS=A,MSGLEVEL=(1,1) //STEP1 EXEC PGM=IEFBR14 //SYSPRINT DD SYSOUT=* //SYSIN DD DUMMY
Retroalimentación
-
Errores Comunes:
- Error en el Nombre del Trabajo: Asegúrate de que el nombre del trabajo no exceda los 8 caracteres.
- Error en la Declaración EXEC: Verifica que el nombre del programa sea correcto.
- Error en las Declaraciones DD: Asegúrate de que las declaraciones DD estén correctamente formateadas.
-
Consejos Adicionales:
- Siempre revisa los mensajes de salida para identificar y corregir errores.
- Utiliza nombres descriptivos para los trabajos y pasos para facilitar la depuración.
Conclusión
En esta sección, has aprendido cómo escribir y ejecutar un trabajo JCL simple. Este es el primer paso para dominar JCL y te prepara para explorar declaraciones y sintaxis más avanzadas en los próximos módulos. Asegúrate de practicar escribiendo y ejecutando varios trabajos JCL para familiarizarte con el proceso.
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