www.wikidata.de-de.nina.az
Job Control Language JCL ist die Steuersprache fur Stapelverarbeitungen in einem Grossrechnerumfeld und gehort zu den Skriptsprachen Aufgabe der JCL ist es die auszufuhrenden Programme deren Reihenfolge sowie eine Laufzeitumgebung Verbindung zu physischer Hardware also den Ein und Ausgabegeraten und Dateien vorzugeben Die zu einer konkreten Aufgabe gehorenden Programme oder Programmfolgen und die erforderliche Umgebung werden mithilfe der JCL in sogenannten Jobs gebundelt die so als lauffahige Einheiten im Rahmen des Multitasking definiert werden Die Jobs stellen eine den eigentlichen Anwendungsprogrammen ubergeordnete Stufe auf Systemebene dar und sind insofern mit den Shell Skripten bei Unix oder den Batch Dateien bei MS DOS oder Windows vergleichbar Dieser Artikel beschreibt die JCL unter IBM z OS Andere Grossrechner Betriebssysteme wie VSE verwenden ebenfalls JCL genannte Sprachen die jedoch eine ganz andere Syntax haben Inhaltsverzeichnis 1 Entwicklung 2 Verarbeitung 3 Anweisungen 4 Beispiele 5 Literatur 6 Weblinks 7 EinzelnachweiseEntwicklung BearbeitenDie heute auf Systemen unter z OS eingesetzte JCL wurde 1964 fur OS 360 IBM entwickelt Bei der Weiterentwicklung wurde Abwartskompatibilitat gewahrleistet Ursprunglich wurde JCL auf Lochkarten gespeichert Die Jobs wurden dann per Kartenleser ins System eingespielt Heute sind JCL Bibliotheken Partitioned Datasets mit Datensatz Format FB Fixed Blocked und Datensatz Lange 80 ublich Die Bezeichnung Karte fur eine JCL Anweisung ist aber immer noch gebrauchlich 1 Verarbeitung BearbeitenJCL wird vom Job Entry Subsystem JES2 oder JES3 eingelesen und interpretiert Auch die Subsysteme Systemfunktionen Started Tasks und die Anmeldungen eines Benutzers am TSO verwenden JCL Prozeduren zur Initialisierung Anweisungen BearbeitenAlle Anweisungen beginnen mit Kommentare werden mit gekennzeichnet Es ist moglich Daten fur die Standardeingabe direkt in der JCL mitzugeben Die wichtigsten Anweisungen sind JOB Informationen uber auszufuhrende Batchverarbeitung EXEC fuhre ein Programm oder eine Prozedur aus DD Data Definition Zuordnung file im Programm zu physischer Datei PROC und PEND zum Definieren lokaler oder globaler ProzedurenEine Programmausfuhrung die mit einer EXEC Anweisung gestartet wird wird Step Verarbeitungsschritt genannt Es ist moglich die Durchfuhrung von Steps von den Ruckgabewerten fruherer Steps Condition Code abhangig zu machen Dafur gibt es eine einfache IF THEN ELSE Logik mithilfe derer man Blocke von Anweisungen Steps bedingt ausfuhren kann Schleifen sind bei der Job Abarbeitung nicht moglich die Steps werden immer sequentiell ausgefuhrt Ein direkter Ruckbezug auf Ein und Ausgabedaten eines vorhergehenden Steps ist moglich um diese in folgenden Steps weiterzuverwenden Die Verwendung von Variablen Symbols in der JCL ist moglich unterliegt allerdings einigen Einschrankungen Variablen konnen nur dazu verwendet werden um Teile der JCL vor der Ausfuhrung des Jobs zu andern Zur Laufzeit konnen lediglich die Ruckgabewerte return codes der einzelnen Steps den Job Ablauf beeinflussen Ein Job wird entweder automatisiert zeitgesteuert uber ein Scheduling System gestartet oder kann auch direkt angestossen werden meist uber ISPF Beispiele BearbeitenBeispiel 1 JOB1 JOB 12345 MSGCLASS X NOTIFY SYSPROG1 STEP1 EXEC PGM IEFBR14 DD1 DD DSN AB CD EFGH DISP OLD DELETE Dieser Job loscht die katalogisierte Datei AB CD EFGH Das ausgefuhrte Programm IEFBR14 ist ein Dummy Programm Dieses ist nur notwendig weil der JCL Interpreter bei jedem Step einen Programm oder Prozeduraufruf erwartet Der Benutzer SYSPROG1 wird nach Ende des Jobs uber den Ausfuhrungsstatus informiert In diesem Fall Return Code 0 OK oder JCL ERROR falls der Job fehlerhaft kodiert wurde oder wenn die entsprechende Datei nicht existiert Die Zuordnung der Datei AB CD EFGH zum DD Namen DD1 ist in diesem Fall beliebig weil sie vom aufgerufenen Programm nicht verwendet wird Ablauf vereinfacht Die Datei wird alloziert 1 DISP Parameter OLD exklusiver Zugriff und dem DD Namen DD1 zugeordnet Step Preallocation Das Dummy Programm wird aufgerufen Die Datei wird geloscht 2 DISP Parameter DELETE Step Nachverarbeitung Beispiel 2 JOB2 JOB 123456 MSGCLASS X STEP1 EXEC PGM SALDO STEPLIB DD DISP SHR DSN BH PROD LOAD DD DISP SHR DSN BH PROD LOAD2 INPUT DD DISP SHR DSN BH DETAIL BESTAND LISTE DD SYSOUT Hier wird das Anwendungsprogramm SALDO ausgefuhrt das Lademodul wird zunachst in den Bibliotheken BH PROD LOAD und BH PROD LOAD2 gesucht danach in Systembibliotheken Beim lesenden Zugriff auf Dateien konnen mehrere Datensatze unter einem DD Namen verkettet werden Das Programm SALDO soll seine Eingabedaten aus der Datei BH DETAIL BESTAND lesen und die Ergebnisse in eine Spool Datei schreiben DD Name LISTE Die Zuordnung des Eingabe Datensatzes zum DD Namen INPUT bzw der Ausgabe zu LISTE ist vom Programm vorgegeben logischer Dateiname Beispiel 3 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 DDIN 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 eine Spool Datei geschrieben die Steueranweisung fur IDCAMS REPRO Command wurde in der Standard Eingabe SYSIN kodiert welche mit abgeschlossen wird Literatur BearbeitenMichael Winter MVS ESA JCL Einfuhrung in die Praxis Oldenbourg Wissenschaftsverlag 1999 ISBN 978 3 486 25058 9 Gary DeWard Brown Michael Teuffel zOS JCL Job Control Language im Betriebssystem z OS MVS Oldenbourg Wissenschaftsverlag 2004 ISBN 978 3 486 27397 7Weblinks BearbeitenOriginalhandbuch MVS JCL User s Guide Originalhandbuch MVS JCL Reference Interaktive Kurzeinfuhrungen in JCL und ISPFEinzelnachweise Bearbeiten IBM Knowledge Center Pseudo JCL Syntax Abgerufen von https de wikipedia org w index php title Job Control Language amp oldid 225383761