バインド制御パーツは、 z/OS システム用に 生成される DB2 プログラムでのみ使用されます。 バインド制御の目的は、プログラムと DB2 が同一レベルになるようにすることです。 バインド制御パーツの情報は、DB2 プロセッサーに渡されるバインド制御ファイルの作成に使用されます。 バインド制御ファイルは、準備時に作成される DB2 計画の中に含まれるデータベース要求モジュール (DBRM) を指定します。
複数のバインド制御パーツを定義できます。bind ビルド記述子オプションは、 生成の出力時に含めるバインド制御パーツを示します。
TSOLIB ACTIVATE DA('%DSNLOAD%')
ALLOC FI(DBRMLIB) SHR DA('%EZEPID%.%SYSTEM%.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('%ELA%.SELADBRM')
DSN SYSTEM($DSYS%)
BIND PLAN(%EZEALIAS%) -
MEMBER(%EZEALIAS%) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS)
* OWNER(OWNERGRP)
TSOLIB ACTIVATE DA('DSN8HLQ.DSNLOAD')
ALLOC FI(DBRMLIB) SHR DA('ORDERSYS.ZOSBATCH.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('ELAHLQ.V5R0M0.SELADBRM')
DSN SYSTEM(DSN8)
BIND PLAN(MAILORDR)
MEMBER(MAILORDR, ELADBRM4) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS)
* OWNER(OWNERGRP)
ELADBRM4 は EGL 提供 DBRM で、z/OS バッチ環境で使用されます。場合によっては、パッケージを既存の計画にバインドする方が好ましいことがあります。これを実行するには、特定の環境で使用されるすべてのバインドで使用するテンプレートを含んだ EGL バインド制御パーツを作成し、このパーツをワークスペースに保存しなければなりません。
例えば、次に類似した BIND_TEMPLATE という名前のバインド制御パーツを作成するとします。
TSOLIB ACTIVATE DA('%DSNLOAD%')
ALLOC FI(DBRMLIB) SHR DA('%EZEPID%.%SYSTEM%.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('%ELA%.SELADBRM')
DSN SYSTEM(%DSYS%)
BIND PACKAGE(%MYCOLLECTIONNAME%) -
MEMBER(%EZEALIAS%) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS)
* OWNER(OWNERGRP)
直前の例の MYCOLLECTIONNAME は、ユーザー定義シンボリック・パラメーターです。これを作成し、ビルド記述子パーツに値を設定することができます。 もう 1 つのシンボリック・パラメーターは、EGL 組み込みテンプレートで使用されるのと同じものです。
TSOLIB ACTIVATE DA('DSN8HLQ.DSNLOAD')
ALLOC FI(DBRMLIB) SHR DA('ORDERSYS.ZOSBATCH.DBRMLIB')
CONCATD FI(DBRMLIB) SHR DA('ELAHLQ.V5R0M0.SELADBRM')
DSN SYSTEM(DSN8)
BIND PLAN(MYABPLAN) -
MEMBER(PROGRAMA,PROGRAMB,ELADBRM4) -
ACT(REP) -
RETAIN -
VALIDATE(BIND) -
ISOLATION(CS) -
* OWNER(OWNERGRP)
ELADBRM4 は EGL 提供 DBRM で、DB2 を使用する場合に必ず z/OS バッチ環境で必要になります。ProgramA という名前のバインド制御パーツと、ProgramB という名前の同一のバインド制御パーツを作成できます。この結果、EGL はプログラム固有のバインド制御パーツを自動的に検出します。 代わりに、MYABPLAN という名前の単一バインド制御パーツを作成し、 ProgramA または ProgramB のいずれかを生成するときは必ず、bind ビルド記述子オプションを MYABPLAN を指すように設定してもかまいません。
EGL を使用した SQL データベース内のデータに対するアクセスについては、トピック『SQL データ・アクセス』および「EGL 言語解説書」の関連トピックを参照してください。