EGL デバッガーを使用して VSE DL/I アプリケーションをデバッグする
z/VSE 上の DL/I データベースにアクセスする EGL プログラムをデバッグできます。
EGL デバッガーは VSE Connector Client を使用して、z/VSE 上の CICS® の下で DL/I データベースに
アクセスします。
ほとんどの DL/I 操作がサポートされていますが、制限がいくつかあります。
- DL/I データベース PCB のみがサポートされます。デバッガーは I/O PCB、TP PCB、GSAM PCB にはアクセスできません。
- DL/I 呼び出しのうち GSCD と XRST はサポートされません。
- IMS PSB 内のすべてのデータベース PCB に名前を付ける必要があります。 その名前は、EGL PSB において対応する pcbName プロパティーに一致しなければなりません。 あるいは、ご使用のプログラムで CBLTDLI インターフェースが利用されている場合、EGL PSB 内の PCB は、VSE PSB 内の PCB と同じ位置に存在しなければなりません。
ホスト環境の構成
デバッグの場合、いくつかの前提条件がホスト上で必要です。
- AIBTDLI インターフェースがインストールされていなければなりません。
- DL/I VSE 1.11 以降がインストールされていなければなりません。
- DL/I 用の APAR PQ39683 が適用されていなければなりません。
- CICS/DLI システムにおいて、すべての PSB が DL/I オンライン中核 DLZNUCxx で定義されていなければならず、
アクティブな MPS システムが必要です (CICS ログで
「DLZ093I MPS STARTED WITH APPLID=MYCICS」という行を検索してください)。
このオンライン中核には、プログラム DLZBPC00 用のエントリーと任意の PSB (リモート・アクセスに必要となるもの) が含まれていなければなりません。
例えば、次のようになります。
DLZACT TYPE=PROGRAM,PGMNAME=DLZBPC00,PSBNAME=(myPSB1,myPSB2...) - DL/I タスク終了出口 DLZBSEOT は SVA に常駐していなければなりません。
- 上記の要件が満たされない場合は、DLI プラグインが使用不可であるという例外が示されます。
注意:
要件が満たされない場合は、次の例外が表示されます。
DLI Plugin is disabled.
ローカル・ワークスペースの構成
以下のアクションをローカル・ワークスペースで実行して、リモート・デバッグを使用可能にします。
- ページで「systemType を DEBUG に設定」オプションを クリアします。 こ れにより、EGL はビルド記述子オプションのシステム・タイプを使用するようになります。
- VSE 用のリモート DL/I を使用するには、デバッグに使用される EGL ビルド記述子を以下のように設定する必要があります。
- destHost
- VSE ホスト名または IP アドレス。
- destUserID
- VSE ホストに接続するためのユーザー ID。
- destPassword
- VSE ホストに接続するためのパスワード。
- destPort
- VSE Connector Server が listen するポートの番号。 このオプションが指定されていない場合は、ポート 2893 が使用されます。
- imsID
- リモート DL/I アクセスに使用される CICS 領域の APPLID (この CICS 領域にはアクティブな MPS システムが必要です)。
- imsPSB
- デバッグに使用されるホスト PSB の名前。 これは、EGL デバッガー設定における PSB オプションを オーバーライドします。
- system
- VSEBATCH または VSECICS。
- debugTrace
- デバッガーでエラーが発生する場合は、これを yes に設定します。 トレースは Rational® Business Developer コンソールに出力されます。

- EGL デバッグ設定を以下のように設定します。
ページで、VSEConnector.jar と cci.jar が 「クラスパスの順序 (Class path oder)」セクションに含まれていることを確認します。
- ページで
以下の情報を入力します。
- ConversionTable
- ホストの言語を定義します。
- PSB Name
- PSB 名を指定するために、以下のいずれかのオプションを選択します。
- ビルド記述子オプション imsPSB を確認する (Review the build descriptor option imsPSB)
- ビルド記述子オプション imsPSB に非ブランク値があると、PSB 名のその他のソースより優先されます。
- PSB 名を求めてユーザーにプロンプトを出す
- 各デバッグ・セッションが開始するときに、DL/I データへのアクセスに 使用される PSB 名を入力するようにプロンプトが出されます。ODBA インターフェース では、PCB を指定する必要があり、また、IMS™ のプログラムか、 または CICS の dliLib.psbData のいずれかで定義された PSB の PCB に一致する必要があります。
- DLILib.psbData からの PSB 名を使用
- CICS のデフォルト。プログラムは、トランザクションのコミット/ロールバックの決定について、DL/I プロパティーをそのまま使用しますが、PSB 名は、dliLib の psbData レコードから作成されます。
- PSB 名にプログラム名を使用
- IMS のデフォルト。これは、alias プロパティーの値 (使用される場合) か、プログラム名のいずれかです。 この値は、大文字に変換されます。
EGL デバッガーは、ご使用の EGL プログラムに以下のいずれかを必要とします。
- callInterface = DLICallInterfaceKind.CBLTDLI の場合、PCB の数とそれぞれの位置に関して、EGL PSB では PCB の順序が VSE PSB における順序と同じになっていなければなりません。
- callInterface = DLICallInterfaceKind.AIBTDLI (callInterface オプションが指定されない場合のデフォルト) の 場合、EGL PSB 内の PCB には、VSE PSB における PCB と同じ名前が必要です。