Jcl-base-library
JCL-ベースライブラリ
ベースライブラリ*は、JCLまたはプログラムで呼び出されるカタログ式プロシージャで実行されるプログラムのロードモジュールを保持するパーティションデータセット(PDS)です。 ベースライブラリは、 *JOBLIB ライブラリのJCL全体または STEPLIB ステートメントの特定のジョブステップに指定できます。
JOBLIBステートメント
構文
JCL JOBLIBステートメントの基本構文は次のとおりです。
JOBLIBステートメントは、JCL内のすべてのEXECステートメントに適用できます。 EXECステートメントで指定されたプログラムは、JOBLIBライブラリで検索され、続いてシステムライブラリで検索されます。
たとえば、EXECステートメントがCOBOLプログラムを実行している場合、COBOLプログラムのロードモジュールはJOBLIBライブラリ内に配置する必要があります。
STEPLIBステートメント
ジョブステップ内で実行されるプログラムの場所を識別するために、 STEPLIB ステートメントが使用されます。 STEPLIBステートメントは、EXECステートメントの後、ジョブステップのDDステートメントの前に指定されます。
構文
JCL STEPLIBステートメントの基本構文は次のとおりです。
EXECステートメントで指定されたプログラムは、STEPLIBライブラリで検索され、続いてシステムライブラリで検索されます。 ジョブステップでコーディングされたSTEPLIBは、JOBLIBステートメントをオーバーライドします。
例
次の例は、JOBLIBおよびSTEPLIBステートメントの使用法を示しています。
ここでは、プログラムMYPROG1(STEP1)のロードモジュールがMYPROC.SAMPLE.LIB1で検索されます。 見つからない場合は、システムライブラリで検索されます。 STEP2では、STEPLIBがJOBLIBをオーバーライドし、プログラムMYPROG2のロードモジュールがMYPROC.SAMPLE.LIB2で検索され、次にシステムライブラリで検索されます。
INCLUDEステートメント
PDSのメンバー内でコーディングされたJCLステートメントのセットは、 INCLUDE ステートメントを使用してJCLに含めることができます。 JESがJCLを解釈すると、INCLUDEメンバー内のJCLステートメントのセットがINCLUDEステートメントを置き換えます。
構文
JCL INCLUDEステートメントの基本構文は次のとおりです。
INCLUDEステートメントの主な目的は再利用性です。 例えば、多くのJCLで使用される共通ファイルは、INCLUDEメンバー内のDDステートメントとしてコーディングし、JCLで使用できます。
ダミーDDステートメント、データカード仕様、PROC、JOB、PROCステートメントは、INCLUDEメンバー内にコーディングできません。 INLCUDEステートメントは、INCLUDEメンバー内でコーディングでき、さらに15レベルまでネストできます。
JCLLIBステートメント
構文
JCL JCLLIBステートメントの基本的な構文は次のとおりです。
JCLLIBステートメントで指定されたライブラリーは、ジョブで使用されるプログラム、プロシージャー、およびINCLUDEメンバーを見つけるために、指定された順序で検索されます。 JCLにはJCLLIBステートメントが1つしかありません。 JOBステートメントの後、EXECおよびINCLUDEステートメントの前に指定されますが、INCLUDEメンバー内でコーディングすることはできません。
例
次の例では、プログラムMYPROG3およびINCLUDEメンバーMYINCLが、MYPROC.BASE.LIB1、MYPROC.BASE.LIB2、システムライブラリの順に検索されます。