¿Qué es JCL?
JCL (Job Control Language) es el lenguaje de scripts usado en los mainframes IBM z/OS para describir jobs batch — qué programas ejecutar, qué datasets leer y escribir, cuánta CPU y memoria reservar y cómo reaccionar cuando algo falla. Si una transacción de negocio toca un mainframe durante la noche, un job JCL la ejecutó.
- Plataforma
- IBM z/OS
- Propósito
- Describir jobs batch
- Ejecutado por
- JES2 / JES3
- Archivo típico
- Member JCL en un PDS
Propósito: decirle a z/OS qué hacer durante la noche
z/OS ejecuta dos tipos de trabajo: transacciones en línea (vía CICS o IMS) y batch programado. Los jobs batch hacen el trabajo pesado — conciliación de fin de día, ejecuciones de facturación, generación de reportes, devengo de intereses, modelos actuariales. JCL es cómo los operadores describen esos jobs al sistema.
Anatomía de un job JCL
Un job JCL tiene tres tipos canónicos de declaración.
- //JOB — la tarjeta del job. Identifica quién envió el job y qué recursos puede consumir.
- //EXEC — el paso. Nombra el programa (o procedimiento catalogado) a ejecutar.
- //DD — la definición de datos. Describe una entrada o salida de dataset para el paso.
Un job JCL mínimo que ejecuta un programa COBOL leyendo un archivo y escribiendo otro se ve así:
//PAYROLL JOB (ACCT123),'PAYROLL',CLASS=A,MSGCLASS=X //STEP1 EXEC PGM=PAYCALC //INFILE DD DSN=PROD.EMPLOYEE.MASTER,DISP=SHR //OUTFILE DD DSN=PROD.PAYROLL.OUTPUT,DISP=(NEW,CATLG,DELETE), // SPACE=(CYL,(10,5)),DCB=(RECFM=FB,LRECL=132) //SYSOUT DD SYSOUT=*
Por qué JCL es difícil de modernizar
JCL es engañosamente simple. La complejidad real está en lo que toca:
- Un solo member JCL de producción puede invocar cinco procedimientos catalogados que a su vez invocan veinte programas más.
- Los datasets llevan significado no expresado en el JCL — lo que un archivo es vive en copybooks, en las cabezas de los operadores o en ningún sitio.
- Las convenciones internas (qué códigos de retorno importan, qué utilidades se llaman para reinicio) casi nunca están documentadas.
Por eso la experiencia en JCL se trata como un activo institucional. Perder a un planificador senior suele significar perder a la única persona que entiende por qué una cadena batch nocturna específica ha funcionado de forma fiable durante veinte años.
Cómo Hypercubic trabaja con JCL
Hopper escribe y envía JCL, monitoriza JES y reacciona a fallos de jobs — operando z/OS mediante la misma interfaz que usan los operadores senior. HyperDocs mapea cada member JCL con los programas, datasets y copybooks que toca, produciendo un grafo de dependencias listo para auditoría. HyperTwin captura el conocimiento tácito de «qué hace realmente este job y por qué» que los archivos JCL nunca explicitan.
Términos relacionados
Ver COBOL, mainframe, JES, dataset, copybook, VSAM y el glosario completo.