JCL - Umgebungs-Setup

JCL unter Windows / Linux installieren

Es gibt viele kostenlose Mainframe-Emulatoren für Windows, mit denen Beispiel-JCLs geschrieben und gelernt werden können.

Ein solcher Emulator ist Hercules, der einfach in Windows installiert werden kann, indem einige der folgenden einfachen Schritte ausgeführt werden:

  • Laden Sie den Hercules-Emulator herunter und installieren Sie ihn, der auf der Hercules- Homepage verfügbar ist: www.hercules-390.eu

  • Die vollständige Anleitung zu verschiedenen Befehlen zum Schreiben und Ausführen einer JCL finden Sie unter URL www.jaymoseley.com/hercules/installmvs/instmvs2.htm

Hercules ist eine Open-Source-Softwareimplementierung der Mainframe-System / 370- und ESA / 390-Architekturen sowie der neuesten 64-Bit-z / -Architektur. Hercules läuft unter Linux, Windows, Solaris, FreeBSD und Mac OS X.

Ausführen von JCL auf Mainframes

Ein Benutzer kann auf verschiedene Arten eine Verbindung zu einem Mainframe-Server herstellen, z. B. zu einem Thin Client, einem Dummy-Terminal, einem VCS (Virtual Client System) oder einem VDS (Virtual Desktop System).

Jeder gültige Benutzer erhält eine Login-ID zur Eingabe in die Z / OS-Schnittstelle (TSO / E oder ISPF). In der Z / OS-Schnittstelle kann die JCL codiert und als Mitglied in einem partitionierten Datensatz (PDS) gespeichert werden. Wenn die JCL gesendet wird, wird sie ausgeführt und die Ausgabe empfangen, wie im Abschnitt zur Jobverarbeitung des vorherigen Kapitels erläutert.

Struktur einer JCL

Die Grundstruktur einer JCL mit den allgemeinen Anweisungen ist unten angegeben:

//SAMPJCL JOB 1,CLASS=6,MSGCLASS=0,NOTIFY=&SYSUID          (1)
//*                                                        (2)
//STEP010  EXEC PGM=SORT                                   (3) 
//SORTIN   DD DSN=JCL.SAMPLE.INPUT,DISP=SHR                (4)
//SORTOUT  DD DSN=JCL.SAMPLE.OUTPUT,                       (5)
//         DISP=(NEW,CATLG,CATLG),DATACLAS=DSIZE50                
//SYSOUT   DD SYSOUT=*                                     (6) 
//SYSUDUMP DD SYSOUT=C                                     (6) 
//SYSPRINT DD SYSOUT=*                                     (6) 
//SYSIN    DD *                                            (6) 
  SORT FIELDS=COPY                                    
  INCLUDE COND=(28,3,CH,EQ,C'XXX')                                    
/*                                                         (7)

Programm Beschreibung

Die nummerierten JCL-Anweisungen wurden nachfolgend erläutert:

(1) JOB statement - Gibt die Informationen an, die für das SPOOLing des Jobs erforderlich sind, z. B. Job-ID, Ausführungspriorität und Benutzer-ID, die nach Abschluss des Jobs benachrichtigt werden sollen.

(2) //* statement - Dies ist eine Kommentarerklärung.

(3) EXEC statement- Gibt den auszuführenden PROC / das auszuführende Programm an. Im obigen Beispiel wird ein SORT-Programm ausgeführt (dh die Eingabedaten werden in einer bestimmten Reihenfolge sortiert).

(4) Input DD statement- Gibt die Art der Eingabe an, die an das in (3) genannte Programm übergeben werden soll. Im obigen Beispiel wird eine PS-Datei (Physical Sequential) als Eingabe im gemeinsam genutzten Modus übergeben (DISP = SHR).

(5) Output DD statement- Gibt die Art der Ausgabe an, die das Programm bei der Ausführung erzeugen soll. Im obigen Beispiel wird eine PS-Datei erstellt. Wenn eine Anweisung über die 70. Position in einer Zeile hinausgeht, wird sie in der nächsten Zeile fortgesetzt, die mit "//" gefolgt von einem oder mehreren Leerzeichen beginnen sollte.

(6)Es kann andere Arten von DD-Anweisungen geben, um zusätzliche Informationen zum Programm anzugeben (im obigen Beispiel: Die SORT-Bedingung wird in der SYSIN-DD-Anweisung angegeben) und um das Ziel für das Fehler- / Ausführungsprotokoll anzugeben (Beispiel: SYSUDUMP / SYSPRINT). DD-Anweisungen können in einem Dataset (Mainframe-Datei) oder wie in Stream-Daten (Informationen, die in der JCL fest codiert sind) enthalten sein, wie im obigen Beispiel angegeben.

(7) /* markiert das Ende von In-Stream-Daten.

Alle JCL-Anweisungen außer in Stream-Daten beginnen mit //. Vor und nach den Schlüsselwörtern JOB, EXEC und DD sollte mindestens ein Leerzeichen stehen, und im Rest der Anweisung dürfen keine Leerzeichen stehen.

JOB-Parametertypen

Jede der JCL-Anweisungen wird von einer Reihe von Parametern begleitet, die den Betriebssystemen beim Abschluss der Programmausführung helfen. Es gibt zwei Arten von Parametern:

Positionsparameter

  • Erscheint an vordefinierter Position und Reihenfolge in der Anweisung. Beispiel: Buchhaltungsinformationen Parameter kann nur nach dem angezeigt werdenJOBSchlüsselwort und vor dem Programmierernamenparameter und den Schlüsselwortparametern. Wenn ein Positionsparameter weggelassen wird, muss er durch ein Komma ersetzt werden.

  • Positionsparameter sind in JOB- und EXEC-Anweisungen vorhanden. Im obigen Beispiel ist PGM ein Positionsparameter, der nach dem codiert wirdEXEC Stichwort.

Schlüsselwortparameter

  • Sie werden nach den Positionsparametern codiert, können jedoch in beliebiger Reihenfolge angezeigt werden. Schlüsselwortparameter können weggelassen werden, wenn sie nicht benötigt werden. Die generische Syntax lautet KEYWORD = value . Beispiel: MSGCLASS = X, dh das Jobprotokoll wird nach Abschluss des Jobs an die Ausgabe-SPOOL umgeleitet.

  • Im obigen Beispiel sind CLASS, MSGCLASS und NOTIFY Schlüsselwortparameter der JOB-Anweisung. Die EXEC-Anweisung kann auch Schlüsselwortparameter enthalten.

Diese Parameter wurden in den folgenden Kapiteln zusammen mit entsprechenden Beispielen detailliert beschrieben.