Tutoriales JCL

¡Bienvenido a nuestro portal de tutoriales de programación en JCL (Job Control Language)! Aquí en cobolcoder.com, nos dedicamos a brindarte recursos detallados y accesibles para que puedas dominar JCL y optimizar tus procesos de trabajo en entornos mainframe.

¿Qué es JCL? El lenguaje de control de trabajos (JCL) es esencial en el mundo de los mainframes, ya que permite definir y gestionar la ejecución de tareas y programas en sistemas operativos como IBM z/OS. En nuestra plataforma, encontrarás una serie de tutoriales paso a paso diseñados para ayudarte a comprender los fundamentos de JCL, desde la creación de trabajos hasta la gestión de recursos y la optimización del rendimiento.

¡Sumérgete en el fascinante mundo de JCL con nosotros! Explora nuestros tutoriales, participa en la comunidad y lleva tus habilidades de programación en mainframes al siguiente nivel. ¡Estamos emocionados de ser parte de tu viaje de aprendizaje en JCL!

Guías Básicas sobre Programación en JCL

SORT en JCL

En JCL (Job Control Language), puedes utilizar el programa SORT para ordenar dos ficheros.

//SORTJOB  JOB  (123),'Nombre del job',CLASS=A,MSGCLASS=X,MSGLEVEL=(1,1)
//STEP1    EXEC PGM=SORT
//SYSOUT   DD  SYSOUT=A
//SORTIN1  DD  DSN=your.input.file1,DISP=SHR
//SORTIN2  DD  DSN=your.input.file2,DISP=SHR
//SORTOUT  DD  DSN=your.output.file,DISP=(NEW,CATLG,DELETE),
//             UNIT=SYSDA,SPACE=(CYL,(5,5),RLSE)
//SYSIN    DD  *
  SORT FIELDS=(start_position,length,format,A/D)
/*

En este ejemplo:

  • //SORTJOB es la declaración del trabajo, donde puedes especificar información como el nombre del trabajo, la clase, etc.
  • //STEP1 es la declaración de la fase del trabajo. En este caso, utilizamos el programa SORT.
  • //SYSOUT especifica la salida del sistema para mensajes del programa SORT.
  • //SORTIN1 y //SORTIN2 son las declaraciones para los dos ficheros de entrada que deseas ordenar.
  • //SORTOUT es la declaración para el fichero de salida ordenado.
  • //SYSIN contiene las opciones de control para el programa SORT. En este ejemplo, se utiliza la opción SORT FIELDS para especificar los campos de ordenación.

En este artículo se explican su principales características con ejemplos de programación.

INCLUDE Condition

La condición INCLUDE se utiliza en el contexto del paso de clasificación, SORT, para especificar un conjunto de registros que se deben incluir en la salida del paso de clasificación.

//SORTJOB  JOB 1,PROGRAMMER  
//STEP01   EXEC PGM=SORT  
//SORTIN   DD  DSN=MI.INPUT.DATOS,DISP=SHR  
//SORTOUT  DD  DSN=MI.OUTPUT.DATOS,  
//             DISP=(NEW,CATLG,DELETE),  
//             UNIT=SYSDA,  
//             SPACE=(CYL,(5,5)),  
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)  
//SYSOUT   DD  SYSOUT=*  
//SYSIN    DD  *  
   SORT FIELDS=(1,10,CH,A)  
   INCLUDE COND=(20,5,CH,EQ,C'VALOR')  
/*  

Explicación del JCL:

  1. SORTIN: Define el archivo de entrada (MI.INPUT.DATOS). Aquí están los datos que se ordenarán y filtrarán.
  2. SORTOUT: Define el archivo de salida (MI.OUTPUT.DATOS). Aquí se guardarán los registros ordenados y filtrados.
  3. SYSIN: Aquí especificamos las operaciones de ordenamiento y filtrado.
  • SORT FIELDS=(1,10,CH,A): Ordena los registros en orden ascendente (A) utilizando los primeros 10 caracteres (1,10) como clave de ordenamiento. CH indica que se trata de un campo de caracteres.
  • INCLUDE COND=(20,5,CH,EQ,C'VALOR'): Filtra los registros para incluir solo aquellos donde los caracteres entre las posiciones 20 y 24 sean exactamente VALOR.

Explicación del código de filtro:

  • INCLUDE COND=(20,5,CH,EQ,C'VALOR'):
  • 20,5: Indica la posición de inicio (20) y la longitud (5) del campo a evaluar.
  • CH: Especifica que el campo es de tipo carácter.
  • EQ: Especifica que debe haber una coincidencia exacta (igualdad).
  • C'VALOR': Especifica el valor con el que se compara el campo.

OUTREC Condition

La condición OUTREC se utiliza en el contexto del paso de clasificación (SORT) para definir la disposición y transformación de los registros de salida antes de que se escriban en el archivo de salida.

//SORTJOB  JOB 1,PROGRAMMER  
//STEP01   EXEC PGM=SORT  
//SORTIN   DD  DSN=MI.INPUT.DATOS,DISP=SHR  
//SORTOUT  DD  DSN=MI.OUTPUT.DATOS,  
//             DISP=(NEW,CATLG,DELETE),  
//             UNIT=SYSDA,  
//             SPACE=(CYL,(5,5)),  
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=0)  
//SYSOUT   DD  SYSOUT=*  
//SYSIN    DD  *  
   SORT FIELDS=(1,10,CH,A)  
   INCLUDE COND=(20,5,CH,EQ,C'VALOR')  
   OUTREC FIELDS=(1:1,10,11:20,5,16:C'FIJO')  
/*  

Explicación del JCL:

  1. SORTIN: Define el archivo de entrada (MI.INPUT.DATOS).
  2. SORTOUT: Define el archivo de salida (MI.OUTPUT.DATOS).
  3. SYSIN: Especifica las operaciones de ordenamiento, filtrado y transformación.
  • SORT FIELDS=(1,10,CH,A): Ordena los registros por los primeros 10 caracteres en orden ascendente.
  • INCLUDE COND=(20,5,CH,EQ,C'VALOR'): Filtra los registros para incluir solo aquellos donde el campo de la posición 20 a la 24 contenga exactamente VALOR.
  • OUTREC FIELDS=(1:1,10,11:20,5,16:C'FIJO'): Modifica los registros de salida aplicando una reestructuración.

Explicación de OUTREC:

  • OUTREC FIELDS=(1:1,10,11:20,5,16:C'FIJO'):
  • 1:1,10: Copia los primeros 10 caracteres desde la posición 1 del registro original a la posición 1 en el registro de salida.
  • 11:20,5: Copia los 5 caracteres desde la posición 20 del registro original a la posición 11 en el registro de salida.
  • 16:C'FIJO': Inserta el valor constante 'FIJO' a partir de la posición 16 en el registro de salida.

Este ejemplo muestra cómo ordenar y filtrar registros en JCL, y luego formatear la salida de manera personalizada usando OUTREC.

SUM FIELDS JCL

El control de declaración SUM FIELDS JCL, indica que cuando dos registros tienen campos de control de un SORT o fusión iguales, se suman los campos de resumen, se coloca la suma en uno de los registros y se elimina el otro. Si está activada la opción EQUALS, se conserva el primer registro; si está activada la opción NOEQUALS, el registro conservado es impredecible.

OUTFIL Condition

En el mundo del mainframe, JCL (Job Control Language) es la columna vertebral para la ejecución de trabajos y la gestión de datos. Dentro de JCL, uno de los componentes más poderosos y versátiles es la declaración OUTFIL, que se utiliza principalmente en combinación con las utilidades de IBM, como DFSORT y ICETOOL, para el reformateo de ficheros.

Calculadora Online de ficheros JCL

Calculador Online de ficheros JCL para calcular el BLOCK SIZE, los TRKS y los CYL, en función de los registros de entrada y el LRECL.

JCL: Cómo Ejecutar un Proceso

Este libro explora el Job Control Language (JCL), esencial para ejecutar procesos en sistemas mainframe. Aprender JCL es fundamental para optimizar y automatizar tareas en sistemas IBM, y esta guía te muestra cómo hacerlo de manera práctica y efectiva.

Temas principales

  • Estructura y comandos esenciales de JCL
  • Creación y gestión de trabajos
  • Optimización de recursos y manejo de errores
  • Ejemplos prácticos de configuración de procesos

Con esta lectura, podrás mejorar la eficiencia de tus trabajos en mainframe, aumentando tu productividad en proyectos complejos.