Job Control Language
JCL - Job Control Language su traducción en castellano sería Lenguaje de Control de Trabajos. Es un conjunto de especificaciones que constituyen un lenguaje de programación de tareas para el sistema operativo que gobierna un equipo informático. Usado en Mainframes.
Descripción general
VJGFJADVSDJYVDNBGFA, AYHDSFADJ JYFAS HADGSDVQEW S GDALHG MAKOUJS HVKFD HVFKHVBHFsajbg jhsd gg
hkusegvtyedlugttwvtga,,
la secuenciación de las mismas y los contenedores de datos de entrada y salida (ficheros) para cada uno de los trabajos a ejecutar.
Proporciona un alto grado de flexibilidad e independencia respecto de la localización física de los ficheros y de los programas.
Algunas características:
- Las sentencias JCL comienzan con //
- A partir de la columna 72 se considera comentario.
- La primera sentencia es JOB.
- Todas las sentencias han de escribirse en MAYÚSCULAS.
- Un job debe tener como mínimo un paso (sentencia EXEC asociada a un programa)
- El job acaba en la última línea del miembro o cuando se encuentra una línea incluyendo solo los caracteres //
Ejemplo de un JCL:
//*------------------------------------------------------------------+ //*CONJUNTO DE CADENAS DEL PROCESO //* //* -> XXXD0101 - OBTENCIÓN DE FICHEROS SECUENCIALES DE LA APLICACIÓN //* //*------------------------------------------------------------------+ //* | //* JOB: XXXD0101 | //* | //* DESCRIPCIÓ: OBTENEMOS FICHEROS SECUENCIALES DE LA Aplicación. | //* | //* PASOS: | //* | //* P010 - XXXP001 - SECUENCIAL DE TABLA XXXT01 - EMISIONES | //* P020 - XXXP002 - SECUENCIAL DE TABLA XXXT02 - DIV. CAPITAL | //* P030 - XXXP003 - SECUENCIAL DE TABLA XXXT03 - DERIV. IMPLICITO | //* P040 - XXXP004 - SECUENCIAL DE TABLA XXXT04 - DERIV. MERCADO | //* P050 - XXXP005 - SECUENCIAL DE TABLA XXXT05 - COMP. SUBYACENTE | //* P060 - XXXP007 - SECUENCIAL DE TABLA XXXT07 - EVENTOS | //* | //* PARÀMETRES: | //* | //* yyyy : DATA DE PASSI. | //*------------------------------------------------------------------+ //XXXP004 PROC YYYY=AAMDD //*--------------------------------------------------------------------- //@INI@ INCLUDE MEMBER=@INI@ //*----------------------------------------------------------------+ //* XXXP004 - SECUENCIAL DE TABLA XXXT04 - DERIVADO DE MERCADO | //*----------------------------------------------------------------+ //P040 EXEC PGM=XXXP004,PARM='/&YYYY' //PLIDUMP DD SYSOUT=P, // HOLD=YES,FCB=6666 //SYSUDUMP DD SYSOUT=P, // HOLD=YES,FCB=6666 //SYSPRINT DD SYSOUT=*,OUTLIM=999999, // DCB=(RECFM=FBA,LRECL=00133,BLKSIZE=01330) //ZMENSAJ DD SYSOUT=*, // DCB=(RECFM=FBA,LRECL=00133,BLKSIZE=01330) //SYSTSPRT DD SYSOUT=* //*-------------- VACIADO DE LA TABLA XXXT04 - DERIVADO DE MERCADO ---* //*XXXE001 DD DSN=T5154.XXX.XXX90000.T04.PRUEBA.&YYYY,DISP=(SHR) //XXXE001 DD DSN=T5154.XXX.XXX90000.T04.VACIO.&YYYY,DISP=(SHR) //*-------------- SECUENCIAL DE LA TABLA DE DERIVADO DE MERCADO ------* //XXXS001 DD DSN=T5154.XXX.XXX10000.S04.&YYYY, // DISP=(OLD,CATLG,DELETE), // SPACE=(02000,(000028,008704),RLSE,,),AVGREC=U, // UNIT=(SYSALLDA,01), // VOL=(), // DATACLAS=,STORCLAS=E3DIESU,MGMTCLAS=, // DCB=(RECFM=VB,LRECL=03000,BLKSIZE=0) //*- //ABEND040 EXEC PGM=IBMABEND,COND=(4,GE,P040) //*-------------------------------------------------------------------* //*-------------------------------------------------------------------* //* CONTROL FINAL DE CADENA //*-------------------------------------------------------------------* //$FIBE$ EXEC PGM=IEFBR14 //$FIMAL$ EXEC PGM=IEFBR14 //*--------------------------------------------------------------------- //@FIN@ INCLUDE MEMBER=@FIN@
Enlaces externos
La plantilla {{Esbozo}}
está obsoleta tras una consulta de borrado, no se debe usar.