Cos'è JCL?
JCL (Job Control Language) è il linguaggio di scripting usato sui mainframe IBM z/OS per descrivere i job batch — quali programmi eseguire, quali dataset leggere e scrivere, quanta CPU e memoria riservare e come reagire in caso di errore. Se una transazione di business tocca un mainframe durante la notte, un job JCL l'ha eseguita.
- Piattaforma
- IBM z/OS
- Scopo
- Descrivere job batch
- Eseguito da
- JES2 / JES3
- File tipico
- Member JCL in un PDS
Scopo: dire a z/OS cosa fare di notte
z/OS esegue due tipi di lavoro: transazioni online (via CICS o IMS) e batch pianificato. I job batch fanno il lavoro pesante — riconciliazione di fine giornata, esecuzioni di fatturazione, generazione di report, maturazione interessi, modelli attuariali. JCL è il modo in cui gli operatori descrivono quei job al sistema.
Anatomia di un job JCL
Un job JCL ha tre tipi canonici di istruzione.
- //JOB — la card del job. Identifica chi ha inviato il job e quali risorse può consumare.
- //EXEC — il passo. Nomina il programma (o la procedura catalogata) da eseguire.
- //DD — la definizione dei dati. Descrive un input o output di dataset per il passo.
Un job JCL minimo che esegue un programma COBOL leggendo un file e scrivendone un altro si presenta così:
//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=*
Perché JCL è difficile da modernizzare
JCL è ingannevolmente semplice. La vera complessità sta in ciò che tocca:
- Un singolo member JCL di produzione può invocare cinque procedure catalogate che a loro volta invocano venti altri programmi.
- I dataset portano un significato non espresso nel JCL — cosa sia davvero un file vive nei copybook, nelle teste degli operatori o da nessuna parte.
- Le convenzioni di shop (quali return code contano, quali utility vengono chiamate per il restart) non sono quasi mai documentate.
Per questo l'esperienza in JCL è trattata come un asset istituzionale. Perdere un pianificatore senior spesso significa perdere l'unica persona che capisce perché una specifica catena batch notturna gira affidabilmente da vent'anni.
Come Hypercubic lavora con JCL
Hopper scrive e invia JCL, monitora JES e reagisce ai fallimenti dei job — operando z/OS tramite la stessa interfaccia che usano gli operatori senior. HyperDocs mappa ogni member JCL ai programmi, dataset e copybook che tocca, producendo un grafo di dipendenze pronto per audit. HyperTwin cattura la conoscenza tacita di «cosa fa davvero questo job e perché» che i file JCL non esplicitano mai.
Termini correlati
Vedi COBOL, mainframe, JES, dataset, copybook, VSAM e il glossario completo.