Die Build-Scripts für z/OS enthalten Pseudo-JCL.
Die vom z/OS-Build-Server
verwendete Pseudo-JCL ist, von einigen Erweiterungen und Einschränkungen abgesehen, mit der Standard-JCL
vergleichbar. In diesem Thema wird auf eine Zeile des Scripts (eine Zeile der Pseudo-JCL)
als eine Karte verwiesen.
Folgendes sind die wesentlichen Unterschiede zwischen der in z/OS-Build-Scripts verwendeten Pseudo-JCL und der JCL, die zum Übergeben eines z/OS-Jobs verwendet wird:
- Die Pseudo-JCL hat keine Jobkarte.
- Alle Karten müssen mit zwei Schrägstrichen (//) beginnen, außer für Eingabedatenströme.
- Sie können eine Datei zu Eingabedateien zuordnen, die von einem Build-Client gesendet werden, oder zu Dateien, die
als Ausgabedateien an einen Build-Client zurückgegeben werden sollen. (Das Schlüsselwort CCUEXT ist eine Erweiterung für DD-Anweisungen, das diese Zuordnung unterstützt.)
- Sie können die Erweiterung ENQ für eine DD-Karte verwenden, um für den Namen der von der DD-Karte zugeordneten Datei
eine Warteschlange aufzubauen.
- Für Substitutionsvariablen, die im Build-Script verwendet werden, können Sie Standardwerte angeben. (Die Anweisung
VARS unterstützt dies.)
Sie können somit ein generisches Script schreiben und dieses für einen bestimmten Build
durch Festlegung der Substitutionsvariablen ändern.
- Sie sind flexibler bei der Angabe der Bedingungen für die Ausführung eines Jobs. Die Methode zum Angeben mehrerer Bedingungen, unter denen ein Schritt ausgeführt werden soll, unterscheidet sich von der der tatsächlichen JCL.
- Das Build-Sript enthält einen oder mehrere Jobschritte. Die Ausführung eines Jobschritts kann vom Ergebnis eines früheren Schritts abhängen, wenn der
Parameter COND wie in der Standard-JCL verwendet wird. Folgender Unterschied ist jedoch zu beachten: Wenn Sie in der Pseudo-JCL Bedingungen für mehrere Jobschritte festlegen wollen, geben Sie ein Schlüsselwort COND= für jede Bedingung an.
Folgende Arten von Karten werden unterstützt:
- CALL
- Definiert einen neuen Jobschritt und gibt den auszuführenden externen JCL-Job an.
- EXEC
- Definiert einen neuen Jobschritt und den Namen des auszuführenden Programms.
- DD
- Legt die Definitionen für Eingabe- und Ausgabedateien fest.
- IF, ELSE, ENDIF
- Steuert Anweisungen, die eingeschlossen sind.
- IF
- Gibt die Bedingung an und ist der Start der bedingten Anweisungen.
- ELSE
- Gibt an, welche Aktion ausgeführt wird, wenn die Bedingung nicht wahr ist.
- ENDIF
- Gibt das Ende der bedingten Anweisungen an.
- VARS
- Gibt die Standardwerte für die Substitutionswerte an.