Was ist JCL?
JCL (Job Control Language) ist die Skriptsprache, die auf IBM-z/OS-Mainframes verwendet wird, um Batch-Jobs zu beschreiben — welche Programme laufen sollen, welche Datasets zu lesen und schreiben sind, wie viel CPU und Speicher reserviert werden und wie auf Fehler reagiert wird. Wenn eine Geschäftstransaktion nachts einen Mainframe berührt, hat sie ein JCL-Job ausgeführt.
- Plattform
- IBM z/OS
- Zweck
- Batch-Jobs beschreiben
- Ausgeführt von
- JES2 / JES3
- Typische Datei
- JCL-Member in einem PDS
Zweck: z/OS sagen, was nachts zu tun ist
z/OS führt zwei Arten von Arbeit aus: Online-Transaktionen (über CICS oder IMS) und geplanten Batch. Batch-Jobs erledigen die schwere Arbeit — Tagesabschluss-Abstimmung, Abrechnungsläufe, Berichtserstellung, Zinsberechnung, aktuarische Modelle. JCL ist, wie Operatoren diese Jobs dem System beschreiben.
Anatomie eines JCL-Jobs
Ein JCL-Job hat drei kanonische Anweisungstypen.
- //JOB — die Job-Karte. Identifiziert, wer den Job eingereicht hat und welche Ressourcen er verbrauchen darf.
- //EXEC — der Schritt. Benennt das Programm (oder die katalogisierte Prozedur), das ausgeführt werden soll.
- //DD — die Datendefinition. Beschreibt einen Dataset-Input oder -Output für den Schritt.
Ein minimaler JCL-Job, der ein COBOL-Programm ausführt, das eine Datei liest und eine andere schreibt, sieht so aus:
//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=*
Warum JCL schwer zu modernisieren ist
JCL ist trügerisch einfach. Die echte Komplexität liegt in dem, was es berührt:
- Ein einzelnes Produktions-JCL-Member kann fünf katalogisierte Prozeduren aufrufen, die ihrerseits zwanzig weitere Programme aufrufen.
- Datasets tragen Bedeutung, die nicht im JCL ausgedrückt ist — was eine Datei ist, lebt in Copybooks, in den Köpfen der Operatoren oder nirgendwo.
- Shop-Konventionen (welche Return Codes wichtig sind, welche Utilities für Restart gerufen werden) sind fast nie dokumentiert.
Deshalb wird JCL-Expertise als institutionelles Asset behandelt. Den Verlust eines erfahrenen Schedulers bedeutet oft den Verlust der einzigen Person, die versteht, warum eine bestimmte nächtliche Batch-Kette seit zwanzig Jahren zuverlässig läuft.
Wie Hypercubic mit JCL arbeitet
Hopper schreibt und submittiert JCL, überwacht JES und reagiert auf Job-Fehler — es betreibt z/OS über dieselbe Schnittstelle, die erfahrene Operatoren nutzen. HyperDocs mappt jedes JCL-Member auf die Programme, Datasets und Copybooks, die es berührt, und erzeugt einen audit-fähigen Abhängigkeitsgraphen. HyperTwin erfasst das implizite „was dieser Job wirklich tut und warum“-Wissen, das JCL-Dateien nie ausbuchstabieren.
Verwandte Begriffe
Siehe COBOL, Mainframe, JES, Dataset, Copybook, VSAM und das vollständige Glossar.