JCL - JOB-Anweisung

JOB-Anweisung ist die erste Steueranweisung in einer JCL. Dies gibt dem Betriebssystem, dem Spool und dem Scheduler die Identität des Jobs. Die Parameter in der JOB-Anweisung helfen den Betriebssystemen bei der Zuweisung des richtigen Schedulers, der erforderlichen CPU-Zeit und der Ausgabe von Benachrichtigungen an den Benutzer.

Syntax

Es folgt die grundlegende Syntax einer JCL-JOB-Anweisung:

//Job-name JOB Positional-param, Keyword-param

Beschreibung

Sehen wir uns die Beschreibung der in der obigen JOB-Anweisungssyntax verwendeten Begriffe an.

Berufsbezeichnung

Dies gibt dem Job eine ID, während er an das Betriebssystem gesendet wird. Es kann eine Länge von 1 bis 8 mit alphanumerischen Zeichen haben und beginnt direkt nach //.

JOB

Dies ist das Schlüsselwort, um es als JOB-Anweisung zu identifizieren.

Positionsparameter

Es gibt Positionsparameter, die zwei Arten haben können:

Positionsparameter Beschreibung
Account information Dies bezieht sich auf die Person oder Gruppe, der die CPU-Zeit geschuldet ist. Es richtet sich nach den Regeln des Unternehmens, dem die Mainframes gehören. Wenn es als (*) angegeben ist, wird die ID des Benutzers verwendet, der sich derzeit am Mainframe-Terminal angemeldet hat.
Programmer name Dies identifiziert die Person oder Gruppe, die für die JCL verantwortlich ist. Dies ist kein obligatorischer Parameter und kann durch ein Komma ersetzt werden.

Schlüsselwort-Parameter

Im Folgenden sind die verschiedenen Schlüsselwortparameter aufgeführt, die in der JOB-Anweisung verwendet werden können. Sie können einen oder mehrere Parameter basierend auf den Anforderungen verwenden, die durch Komma getrennt sind:

Schlüsselwortparameter Beschreibung
CLASS

Basierend auf der Zeitdauer und der Anzahl der für den Job erforderlichen Ressourcen weisen Unternehmen unterschiedliche Jobklassen zu. Diese können als einzelne Scheduler dargestellt werden, die vom Betriebssystem zum Empfangen der Jobs verwendet werden. Das Platzieren der Jobs im richtigen Scheduler erleichtert die Ausführung der Jobs. Einige Unternehmen haben unterschiedliche Klassen für Jobs in Test- und Produktionsumgebungen.

Gültige Werte für den CLASS-Parameter sind Zeichen von A bis Z und numerische Werte von 0 bis 9 (Länge 1). Es folgt die Syntax:

CLASS=0 to 9 | A to Z

PRTY

Festlegen der Priorität des Jobs innerhalb einer Jobklasse. Wenn dieser Parameter nicht angegeben wird, wird der Job am Ende der Warteschlange in der angegebenen KLASSE hinzugefügt. Es folgt die Syntax:

PRTY=N

Wenn N eine Zahl zwischen 0 und 15 ist und die Zahl höher ist, ist die Priorität höher.

NOTIFY

Das System sendet die Erfolgs- oder Fehlermeldung (Maximum Condition Code) an den in diesem Parameter angegebenen Benutzer. Es folgt die Syntax:

NOTIFY="userid | &SYSUID"

Hier sendet das System die Nachricht an den Benutzer "Benutzer-ID". Wenn wir jedoch NOTIFY = & SYSUID verwenden, wird die Nachricht an den Benutzer gesendet, der die JCL sendet.

MSGCLASS

Angeben des Ausgabeziels für die System- und Jobnachrichten, wenn der Job abgeschlossen ist. Es folgt die Syntax:

MSGCLASS=CLASS

Gültige Werte für CLASS können von "A" bis "Z" und von "0" bis "9" sein. MSGCLASS = Y kann als Klasse zum Senden des Jobprotokolls an das JMR festgelegt werden (JOBLOG Management and Retrieval: Ein Repository in Mainframes zum Speichern der Jobstatistik).

MSGLEVEL

Gibt den Typ der Nachrichten an, die an das in der MSGCLASS angegebene Ausgabeziel geschrieben werden sollen. Es folgt die Syntax:

MSGLEVEL=(ST, MSG)

ST = Art der Anweisungen, die in das Ausgabeprotokoll geschrieben werden

  • Wenn ST = 0, nur Jobanweisungen.

  • Wenn ST = 1, wird JCL zusammen mit symbolischen Parametern erweitert.

  • Wenn ST = 2, nur JCL eingeben.

MSG = Art der Nachrichten, die in das Ausgabeprotokoll geschrieben werden.

  • Wenn MSG = 0, werden Zuordnungs- und Beendigungsnachrichten geschrieben, wenn der Auftrag nicht ordnungsgemäß abgeschlossen wurde.

  • Wenn MSG = 1, werden Zuordnungs- und Kündigungsnachrichten unabhängig von der Art des Auftragsabschlusses geschrieben.

TYPRUN

Gibt eine spezielle Verarbeitung für den Job an. Es folgt die Syntax:

TYPRUN = SCAN | HOLD

Wobei SCAN und HOLD die folgende Beschreibung hat

  • TYPRUN = SCAN überprüft die Syntaxfehler der JCL, ohne sie auszuführen.

  • TYPRUN = HOLD setzt den Job in der Jobwarteschlange auf HOLD. Um den Job freizugeben, kann "A" gegen den Job in der SPOOL eingegeben werden, wodurch der Job zur Ausführung gebracht wird.

TIME

Gibt die Zeitspanne an, die der Prozessor zum Ausführen des Jobs verwenden soll. Es folgt die Syntax:

TIME=(mm, ss) or TIME=ss

Wobei mm = Minuten und ss = Sekunden

Dieser Parameter kann beim Testen eines neu codierten Programms hilfreich sein. Um sicherzustellen, dass das Programm aufgrund von Schleifenfehlern nicht lange ausgeführt wird, kann ein Zeitparameter so codiert werden, dass das Programm abbricht, wenn die angegebene CPU-Zeit erreicht ist.

REGION

Gibt den Adressraum an, der zum Ausführen eines Jobschritts innerhalb des Jobs erforderlich ist. Es folgt die Syntax:

REGION=nK | nM

Hier kann die Region als nK oder nM angegeben werden, wobei n eine Zahl ist, K Kilobyte und M Megabyte ist.

Wenn REGION = 0K oder 0M ist, wird der größte Adressraum für die Ausführung bereitgestellt. In kritischen Anwendungen ist die Codierung von 0K oder 0M verboten, um eine Verschwendung des Adressraums zu vermeiden.

Beispiel

//URMISAMP JOB (*),"tutpoint",CLASS=6,PRTY=10,NOTIFY=&SYSUID, 
//   MSGCLASS=X,MSGLEVEL=(1,1),TYPRUN=SCAN, 
//   TIME=(3,0),REGION=10K

Hier wird die JOB-Anweisung über die 70. Position in einer Zeile hinaus erweitert, sodass wir in der nächsten Zeile fortfahren, die mit "//" gefolgt von einem oder mehreren Leerzeichen beginnen sollte.

Verschiedene Parameter

Es gibt nur wenige andere Parameter, die mit der JOB-Anweisung verwendet werden können, aber sie werden nicht häufig verwendet:

ADDRSPC Art des verwendeten Speichers: Virtuell oder Real
BYTES Größe der Daten, die in das Ausgabeprotokoll geschrieben werden sollen, und die Aktion, die ausgeführt werden soll, wenn die Größe überschritten wird.
LINES Maximale Anzahl von Zeilen, die gedruckt werden sollen, um das Protokoll auszugeben.
PAGES Maximale Anzahl von Seiten, die gedruckt werden sollen, um das Protokoll auszugeben.
USER Benutzer-ID, die zum Senden des Jobs verwendet wird
PASSWORD Passwort der im Parameter USER angegebenen Benutzer-ID.
COND and RESTART Diese werden in der bedingten Jobschrittverarbeitung verwendet und im Detail erläutert, während die bedingte Verarbeitung erläutert wird.