JCL-EXECステートメント

各JCLは、多くのジョブステップで構成できます。各ジョブステップは、プログラムを直接実行することも、プロシージャを呼び出すこともできます。プロシージャは、1つ以上のプログラム(ジョブステップ)を実行します。ジョブステッププログラム/手順情報を保持するステートメントは、EXEC statement.

EXECステートメントの目的は、ジョブステップで実行されるプログラム/プロシージャに必要な情報を提供することです。このステートメントでコーディングされたパラメーターは、実行時にプログラムにデータを渡し、JOBステートメントの特定のパラメーターをオーバーライドし、EXECステートメントがプログラムを直接実行する代わりにプロシージャーを呼び出す場合にパラメーターをプロシージャーに渡すことができます。

構文

以下は、JCLEXECステートメントの基本構文です。

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

説明

上記のEXECステートメント構文で使用されている用語の説明を見てみましょう。

ステップ名

これは、JCL内のジョブステップを識別します。長さは1〜8で、英数字を使用できます。

EXEC

これは、EXECステートメントとして識別するためのキーワードです。

POSITIONAL-PARAM

これらは位置パラメータであり、次の2つのタイプがあります。

位置パラメータ 説明
PGM これは、ジョブステップで実行されるプログラム名を指します。
PROC これは、ジョブステップで実行されるプロシージャ名を指します。別の章で説明します。

キーワード-パラメータ

以下は、EXECステートメントのさまざまなキーワードパラメーターです。要件に基づいて1つ以上のパラメーターを使用でき、それらはコンマで区切られます。

キーワードパラメータ 説明
PARM

ジョブステップで実行されているプログラムにパラメータ化されたデータを提供するために使用されます。これはプログラムに依存するフィールドであり、特殊文字がある場合にPARM値を引用符で囲む必要があることを除いて、明確な規則はありません。

たとえば、以下に示すように、値「CUST1000」が英数字値としてプログラムに渡されます。プログラムがCOBOLである場合、JCLのPARMパラメーターを介して渡された値は、プログラムのLINKAGESECTIONで受信されます。

ADDRSPC

これは、ジョブステップの実行に仮想ストレージと実ストレージのどちらが必要かを指定するために使用されます。仮想ストレージはページング可能ですが、実ストレージはページング可能ではなく、実行のためにメインメモリに配置されます。より高速な実行が必要なジョブステップは、実ストレージに配置できます。構文は次のとおりです。

ADDRSPC=VIRT | REAL

ADDRSPCがコーディングされていない場合、VIRTがデフォルトです。

ACCT

これは、ジョブステップのアカウンティング情報を指定します。構文は次のとおりです。

ACCT=(userid)

これは位置パラメータに似ています accounting informationJOBステートメント内。JOBステートメントとEXECステートメントの両方でコーディングされている場合、JOBステートメントのアカウンティング情報は、ACCTパラメーターがコーディングされていないすべてのジョブステップに適用されます。EXECステートメントのACCTパラメーターは、そのジョブ・ステップについてのみJOBステートメントに存在するパラメーターをオーバーライドします。

EXECおよびJOBステートメントの共通キーワードパラメーター

キーワードパラメータ 説明
ADDRSPC JOBステートメントでコーディングされたADDRSPCは、任意のジョブステップのEXECステートメントでコーディングされたADDRSPCをオーバーライドします。
TIME TIMEがEXECステートメントでコーディングされている場合、そのジョブステップにのみ適用されます。JOBステートメントとEXECステートメントの両方で指定されている場合、両方が有効になり、どちらかが原因でタイムアウトエラーが発生する可能性があります。JOBステートメントとEXECステートメントの両方でTIMEパラメーターを一緒に使用することはお勧めしません。
REGION

REGIONがEXECステートメントでコーディングされている場合、そのジョブステップにのみ適用されます。

JOBステートメントでコード化されたREGIONは、任意のジョブステップのEXECステートメントでコード化されたREGIONをオーバーライドします。

COND

前のステップの戻りコードに基づいてジョブ・ステップの実行を制御するために使用されます。

CONDパラメーターがジョブステップのEXECステートメントにコーディングされている場合、JOBステートメントのCONDパラメーター(存在する場合)は無視されます。CONDパラメーターを使用して実行できるさまざまなテストについては、条件付き処理で説明されています。

以下は、JOBおよびEXECステートメントとともにJCLスクリプトの簡単な例です。

//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