CICS–DBCTL インターフェース状況プログラムの作成

CICS®-DBCTL インターフェース状況プログラム DFHDBUEX は、 CICS-DBCTL インターフェースのサポートの一部を形成するユーザー置換可能プログラムです。 これは、CICS が正常に DBCTL に接続したり、DBCTL から切断したりするときに、常にユーザー提供のコードを呼び出すように設計されています。 これは CICS アプリケーション環境で実行され、特定のポイントで駆動されます。 これにより、CICS–DBCTL インターフェースが初期化または終了するときに CICS-DL/I トランザクションを使用可能および使用不可にすることができます。

ENABLE コマンドでは、以下の場合に DFHDBUEX が呼び出されます。
  • CICS は正常に DBCTL に接続しました。 これは、接続要求が CICS から DBCTL に発行された後に発生します。 初期化の完了のために、制御出口 (DFHDBCTX) がデータベース・リソース・アダプター (DRA) によって呼び出されます。 制御出口は制御トランザクション (CDBO) をポストします。 そして、制御プログラム (DFHDBCT) は DFHDBUEX を呼び出します。
DISABLE コマンドでは、以下の場合に DFHDBUEX が呼び出されます。
  • DBCTL からの切断要求が発行された。 CICS-DBCTL メニュー・プログラム (DFHDBME) は、切断トランザクション (CDBT) を開始して DBCTL から切断します。 切断プログラム (DFHDBDSC) は DFHDBUEX を呼び出してから、インターフェース終了要求をアダプターに発行します。
  • 制御トランザクション (CDBO) が以下のいずれかのイベントの通知を受けた。
    • DBCTL へのチェックポイント・フリーズ要求
    • DRA の異常終了
    • DBCTL の異常終了。
    これらの各ケースで、制御プログラム (DFHDBCT) は DFHDBUEX を呼び出します。
DFHDBUEX への入力は、DFHEICAP によってアドレス指定される通信域によって行われます。 通信域のレイアウトを 図 1に示します。
図1: DFHDBUEX 通信域
DBUSHEAD    DS      OCL4              Standard Header
DBUREQT     DS      CL1               Function Code
DBUCOMP     DS      CL2               Component Code         Always "DB"
DBURESV     DS      CL1               Reserved
DBUREAS     DS      CL1               Reason for disconnection
DBUSUFF     DS      CL2               DRA startup table suffix
DBUDBCTL    DS      CL4               DBCTL identifier
パラメーター・リストには、次の情報が含まれています。
DBUREQT
要求タイプ。 機能コードには、以下の値のうちの 1 つがあります。
DBUCONN (X'01 ')
接続済み
DBUDISC (X'02 ')
切断。
DBUREAS
切断の理由。 以下のフラグが含まれます。
DBUMENU (X'01 ')
メニューからの切断
DBUDBCC (X'02 ')
DBCTL へのチェックポイント・フリーズ入力
DBUDRAF (X'03 ')
DRA 失敗の発生
DBUDBCF (X'04 ')
DBCTL 失敗の発生。
DBUSUFF
DRA 開始テーブル接尾部。
DBUDBCTL
DBCTL 識別子。