z/OS 用ランタイム JCL テンプレート

z/OS® バッチ および IMS™ BMP 環境で genRunFile ビルド記述子オプションを YES に設定すると、プログラムを実行するためのサンプルのランタイム JCL が、EGL によって作成されます。ファイル名は alias.jcx です。 alias はプログラムの alias プロパティーによって設定され、8 文字に切り捨てられます。 alias プロパティーが指定されていない場合は、8 文字に切り捨てられたプログラム名になります。 サンプルのランタイム JCL は、z/OS ホストに転送した後に調整できます。あるいは、出力コードを生成する前に、EGL がサンプルのランタイム JCL の基本パターンを指定するために使用するテンプレートをカスタマイズすることができます (カスタマイズについては、z/OS 用ランタイム JCL テンプレートの変更を参照してください)。

生成されるファイルの名前とタイプは、以下のようにターゲット・システムによって決まります。
サンプルのランタイム JCL を作成するために使用するテンプレートは、次の基準に従って選択されます。

ランタイム JCL テンプレート

次の表では、z/OS バッチ・プログラムの実行に使用する JCL テンプレートおよびプロシージャーを示します。
表 1. MVS バッチ・プログラムの実行に使用されるテンプレート

Environ-
ment

プログラム SQL DL/I CICS® EXCI の呼び出し テンプレート テンプレートによって呼び出されるプロシージャー
z/OS バッチ メイン はい はい 該当なし fda2mebb DLIBATCH
z/OS バッチ メイン いいえ はい 該当なし fda2mebc DLIBATCH
z/OS バッチ メイン はい いいえ いいえ fda2mebd  
z/OS バッチ メイン はい いいえ はい fda2mesx  
z/OS バッチ メイン いいえ いいえ いいえ fda2mebe  
z/OS バッチ メイン いいえ いいえ はい fda2mebx  
z/OS バッチ 呼び出し先 テンプレートの使用は、SQL または DL/I の使用によって影響を受けません。 * * fda2meba  

JCL テンプレートのそれぞれには、カラム 1 から始まる ?DD? 行が含まれています。 この行は、プログラムが使用するファイルおよびデータベース用の DD ステートメントを挿入するための生成関数が存在する場所を示しています。 この行は、DD ステートメントを配置する場所を制御するために JCL テンプレート内で移動させます。 ?DD? を含むこの行を除去すると、DD ステートメントは生成された JCL 内には含まれません。

前述の例外が fda2meba テンプレートです。 呼び出し先プログラム、ライブラリー、およびサービスの場合、fda2meba テンプレートには DD ステートメントしか組み込まれていません。これらの DD ステートメントを、任意のメインプログラムのサンプル・ランタイム JCL に取り込むことができます。このプログラムは、生成したプログラムを呼び出すか、ライブラリーまたはサービスを使用します。

z/OS バッチ用 DL/I の使用についての補足

次の属性または関数が少なくとも 1 つプログラムに含まれている場合に、DL/I の使用法が示されます。
  • プログラムによって使用される PSBRecord に、ELAWORK 以外のデータベースが含まれている。
  • プログラムの PSB が、call ステートメントで渡される。
  • プログラムが、PSBRecord からパラメーターとして PSB または PCB を受け取る。
  • プログラムで、dliLib.AIBTDLIdliLib.EGLTDLI、または vgLib.VGTDLI システム関数が使用される。
  • プログラムで sysLib.audit が使用され、PSBRecord がそのプログラムで使用される。
  • プログラムが、任意のステートメントで PSBRecord から任意の PCB を参照する。
  • プログラムによって、シリアル・ファイルが GSAM に関連付けられる。

IMS BMP 用ランタイム JCL テンプレート

次の表では、IMS BMP プログラムの実行に使用する JCL テンプレートおよびプロシージャーを示します。
注: DL/I は常時 IMS BMP 環境に存在します。
表 2. IMS BMP の実行に使用されるテンプレート
環境 プログラム SQL テンプレート テンプレートによって呼び出されるプロシージャー
IMS BMP メイン はい fda2meia IMSBATCH
IMS BMP メイン いいえ fda2meib IMSBATCH
IMS BMP 呼び出し先 * fda2meba  
注: * テンプレートの使用は、SQL の使用によって影響を受けません。
JCL テンプレートのそれぞれには、カラム 1 から始まる ?DD? 行が含まれています。 この行は、プログラムが使用するファイルおよびデータベース用の DD ステートメントを挿入するための生成関数が存在する場所を示しています。 この行は、DD ステートメントを配置する場所を制御するために JCL テンプレート内で移動させます。 ?DD? を含むこの行を除去すると、DD ステートメントは生成された JCL 内には含まれません。

ファイルおよびデータベースの割り振りテンプレート

呼び出し先プログラム、ライブラリー、およびサービスの場合、fda2meba テンプレートには DD ステートメントのみが含まれています。 生成されたプログラムを呼び出したり、ライブラリーまたはサービスを使用したりする任意のメインプログラムのサンプル・ランタイム JCL に、これらの DD ステートメントを取り込むことができます。

プログラムによって使用されるファイルまたはデータベースの一部は、ファイル割り振りステートメントを生成するためのファイルまたはデータベースのテンプレートを必要とします。 次の表は、以下の情報に基づいて選択されたテンプレートを示しています。
  • レコードのタイプ
  • レコードが入力か出力か
  • リソース関連パーツで指定されるファイル・タイプ
表 3. ファイル割り振りステートメントを生成するためのテンプレート
レコード・タイプ 入力または出力 関連付けられたファイル・タイプ z/OS バッチ用 JCL テンプレート
DL/I セグメント 入力または出力   fda2mdli
索引付き、相対、シリアル Input VSAM、VSAMRS fda2mvsi
索引付き、相対、シリアル Output VSAM、VSAMRS fda2mvso
シリアル Input SEQ、SEQRS fda2msdi
シリアル Output SEQ、SEQRS fda2msdo
シリアル Input GSAM fda2mgsi、fda2mims
シリアル Output GSAM fda2mgso、fda2mims
注: ファイルおよびデータベースのテンプレートから生成されるステートメントは、プログラム・テンプレート内の ?DD? 行によってマークを付けられた場所に組み込まれます。
fda2mims
fda2mims テンプレートは、GSAM 用の追加テンプレートです。IMS BMP ジョブの場合、シリアル・ファイルまたはプリンターが GSAM ファイルと関連付けられているときは、テンプレート fda2mims も含まれています。
fda2mdli
fda2mdli テンプレートが含まれるのは、ターゲット環境が z/OS バッチである場合のみです。IMS BMP ターゲット環境では、データベースは IMS 制御領域に既に割り振られているはずです。このテンプレートは、DD ステートメントをコメント化します。 EGL では、このステートメントのビルドに必要なリソース関連情報は収集されません。プログラムが生成された後に、サンプルのランタイム JCL でこれらの DD ステートメントの最終的な調整を行う必要があります。

ファイルおよびデータベースの割り振りプレースホルダー・テンプレート

プログラム用に生成されたサンプルのランタイム JCL は、変更して DD ステートメントを組み込む必要があります。この処理は、レコード固有の変数 record-name.resourceAssociation または converseVar.printerAssociation システム変数を使用して参照されるファイル用に必要になります。または、呼び出されるプログラムが使用するか、実行単位内の初期プログラムで転送されたプログラムが使用するファイルおよびデータベース用に必要になります。

次の表は、サンプルのランタイム JCL に、DD ステートメントを組み込むことのできる場所を示すコメントを生成するテンプレートを示しています。

表 4. サンプルのランタイム・ファイルにコメントを生成するテンプレート
プログラム・ファンクション MVS バッチまたは IMS BMP 用の JCL テンプレート
プログラムの calltransfer to program、または transfer to transaction ステートメントで、ターゲット・プログラムとして sysVar.transferName または変数名が使用されます。 fda2meza
プログラムの calltransfer to program、または transfer to transaction ステートメントで、ターゲット・プログラムとして特定のプログラム名が使用されます。 fda2mcal
プログラムで、レコード固有の変数 record-name.resourceAssociation または converseVar.printerAssociation システム変数が設定されます。 fda2mezd

フィードバック