JCL - EXEC-Anweisung

Jede JCL kann aus vielen Jobschritten bestehen. Jeder Jobschritt kann ein Programm direkt ausführen oder eine Prozedur aufrufen, die wiederum ein oder mehrere Programme ausführt (Jobschritte). Die Anweisung, die die Jobschrittprogramm- / Prozedurinformationen enthält, ist dieEXEC statement.

Der Zweck der EXEC-Anweisung besteht darin, die erforderlichen Informationen für das im Jobschritt ausgeführte Programm / die Prozedur bereitzustellen. In dieser Anweisung codierte Parameter können bei der Ausführung Daten an das Programm übergeben, bestimmte Parameter der JOB-Anweisung überschreiben und Parameter an die Prozedur übergeben, wenn die EXEC-Anweisung eine Prozedur aufruft, anstatt ein Programm direkt auszuführen.

Syntax

Es folgt die grundlegende Syntax einer JCL EXEC-Anweisung:

//Step-name EXEC Positional-param, Keyword-param

Beschreibung

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

SCHRITTNAME

Dies identifiziert den Jobschritt innerhalb der JCL. Es kann eine Länge von 1 bis 8 mit alphanumerischen Zeichen haben.

EXEC

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

POSITIONAL-PARAM

Dies sind Positionsparameter, die zwei Arten haben können:

Positionsparameter Beschreibung
PGM Dies bezieht sich auf den Programmnamen, der im Jobschritt ausgeführt werden soll.
PROC Dies bezieht sich auf den Prozedurnamen, der im Jobschritt ausgeführt werden soll. Wir werden es in einem separaten Kapitel diskutieren.

KEYWORD-PARAM

Im Folgenden sind die verschiedenen Schlüsselwortparameter für die EXEC-Anweisung aufgeführt. Sie können einen oder mehrere Parameter basierend auf den Anforderungen verwenden, die durch Komma getrennt sind:

Schlüsselwortparameter Beschreibung
PARM

Wird verwendet, um dem Programm, das im Jobschritt ausgeführt wird, parametrisierte Daten bereitzustellen. Dies ist ein programmabhängiges Feld und hat keine bestimmten Regeln, außer dass der PARM-Wert im Falle von Sonderzeichen im Angebot enthalten sein muss.

Zum Beispiel wird der unten angegebene Wert "CUST1000" als alphanumerischer Wert an das Programm übergeben. Befindet sich das Programm in COBOL, wird der über einen PARM-Parameter in einer JCL übergebene Wert im LINKAGE-ABSCHNITT des Programms empfangen.

ADDRSPC

Hiermit wird angegeben, ob für den Jobschritt virtueller oder realer Speicher zur Ausführung erforderlich ist. Virtueller Speicher ist pageable, während realer Speicher nicht vorhanden ist und zur Ausführung im Hauptspeicher abgelegt wird. Jobschritte, die eine schnellere Ausführung erfordern, können im realen Speicher abgelegt werden. Es folgt die Syntax:

ADDRSPC=VIRT | REAL

Wenn ein ADDRSPC nicht codiert ist, ist VIRT die Standardeinstellung.

ACCT

Dies gibt die Abrechnungsinformationen des Jobschritts an. Es folgt die Syntax:

ACCT=(userid)

Dies ähnelt dem Positionsparameter accounting informationin der JOB-Anweisung. Wenn es sowohl in der JOB- als auch in der EXEC-Anweisung codiert ist, gelten die Abrechnungsinformationen in der JOB-Anweisung für alle Jobschritte, bei denen ein ACCT-Parameter nicht codiert ist. Der ACCT-Parameter in einer EXEC-Anweisung überschreibt den in der JOB-Anweisung vorhandenen Parameter nur für diesen Jobschritt.

Allgemeine Schlüsselwortparameter der EXEC- und JOB-Anweisung

Schlüsselwortparameter Beschreibung
ADDRSPC In der JOB-Anweisung codierter ADDRSPC überschreibt den in der EXEC-Anweisung codierten ADDRSPC eines Jobschritts.
TIME Wenn TIME in einer EXEC-Anweisung codiert ist, gilt dies nur für diesen Jobschritt. Wenn es sowohl in der JOB- als auch in der EXEC-Anweisung angegeben ist, sind beide wirksam und können aufgrund eines der beiden Zeitüberschreitungsfehler verursachen. Es wird nicht empfohlen, den Parameter TIME sowohl in der JOB- als auch in der EXEC-Anweisung zusammen zu verwenden.
REGION

Wenn REGION in einer EXEC-Anweisung codiert ist, gilt dies nur für diesen Jobschritt.

Die in der JOB-Anweisung codierte REGION überschreibt die in der EXEC-Anweisung eines Jobschritts codierte REGION.

COND

Wird verwendet, um die Ausführung des Jobschritts basierend auf dem Rückkehrcode des vorherigen Schritts zu steuern.

Wenn ein COND-Parameter in einer EXEC-Anweisung eines Jobschritts codiert ist, wird der COND-Parameter der JOB-Anweisung (falls vorhanden) ignoriert. Die verschiedenen Tests, die mit einem COND-Parameter durchgeführt werden können, werden in der bedingten Verarbeitung erläutert.

Beispiel

Es folgt ein einfaches Beispiel für ein JCL-Skript zusammen mit JOB- und EXEC-Anweisungen:

//TTYYSAMP JOB 'TUTO',CLASS=6,MSGCLASS=X,REGION=8K,
//      NOTIFY=&SYSUID
//*
//STEP010 EXEC PGM=MYCOBOL,PARAM=CUST1000,
//      ACCT=(XXXX),REGION=8K,ADDRSPC=REAL,TIME=1440