Job Control Language
JCL (Job Control Language) ist die Steuersprache für Batch-Verarbeitungen in einem Großrechnerumfeld. Die noch heute eingesetzte JCL wurde 1964 für OS/360 entwickelt und wird heute noch auf Systemen unter z/OS verwendet.
Ursprünglich wurde JCL auf Lochkarten gespeichert, heute sind JCL-Bibliotheken Partitioned Datasets mit Recordformat FB und Recordlänge 80.
JCL wird von JES2 oder JES3 eingelesen und interpretiert. Alle Anweisungen beginnen mit '//'. Es ist möglich, Standard-Input direkt in der JCL mitzugeben.
Die wichtigsten Anweisungen sind:
- JOB (Informationen über auszuführende Batchverarbeitung)
- EXEC (führe ein Programm oder eine Prozedur aus)
- DD (Data Definition, Zuordnung File im Programm zu physischer Datei)
Eine Programmausführung, die mit EXEC gestartet wird, nennt man Step. Es ist möglich, die Durchführung von Steps von den Rückgabewerten früherer Steps (Condition Code) abhängig zu machen.
Beispiele für JCL:
//JOB1 JOB (12345),MSGCLASS=X //STEP1 EXEC PGM=IEFBR14 //DD1 DD DSN=AB.CD.EFGH,DISP=(OLD,DELETE)
Dieser Job löscht den katalogisierten Dataset AB.CD.EFGH. Das ausgeführte Programm IEFBR14 ist ein Dummyprogramm.
//JOB2 JOB (123456),MSGCLASS=X //STEP1 EXEC PGM=SALDO //STEPLIB DD DISP=SHR,DSN=BH.PROD.LOAD //INPUT DD DISP=SHR,DSN=BH.DETAIL.BESTAND //LISTE DD SYSOUT=*
Hier wird das Anwendungsprogramm SALDO ausgeführt, das ausführbare Loadmodule befindet sich in der Bibliothek BH.PROD.LOAD, der Programminput im Dataset BH.DETAIL.BESTAND und die Ergebnisliste soll in ein Spoolfile geschrieben werden.
//JOB3 JOB (123456),MSGCLASS=X //STEP1 EXEC PGM=IDCAMS //DDIN DD DISP=SHR,DSN=SYSPROG.SMF.AUSWERT //DDOUT DD DISP=(NEW,CATLG),DSN=SYSPROG.SMF.HISTORY(+1), // UNIT=SYSDA,SPACE=(CYL,(15,15),RLSE),DCB=*.DDOUT //SYSPRINT DD SYSOUT=* //SYSIN DD * REPRO INFILE(DDIN) OUTFILE(DDOUT) /*
Hier wird mit dem System-Utility IDCAMS die Datei SYSPROG.SMF.AUSWERT in eine neue Generation der Generation Data Group (GDG) SYSPROG.SMF.HISTORY kopiert. Das Protokoll dieser Aktion (SYSPRINT) wird in ein Spoolfile geschrieben, die Steueranweisung für IDCAMS (REPRO-Command) wurde im Standardinput SYSIN kodiert, welcher mit /* abgeschlossen wird.
Externe Links
- Deutschsprachige Kurzeinführung: http://www.clemburg.com/resources/jcl_syntax.html
- Originalhandbuch 'JCL Users Guide': http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B510/CCONTENTS?SHELF=IEA2BK32&DN=SA22-7598-01&DT=20010626133938
- Originalhandbuch ' JCL Reference': http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/IEA2B631/CCONTENTS?SHELF=IEA2BK32&DN=SA22-7597-05&DT=20030423085347