IMS 破棄不能メッセージ出口

破棄不能メッセージ出口ルーチンにより、異常終了した IMS アプリケーション・プログラムに関連付けられた入力メッセージの処理方法をエンタープライズ・サーバに指定できます。この出口ルーチンは、入力メッセージの処理中にアプリケーションが異常終了した場合に制御を引き受けます。破棄不能メッセージ出口が存在しない場合は、エンタープライズ・サーバによって入力メッセージが破棄されます。

注:データは、破棄不能メッセージ出口との間で常に ASCII 形式で渡されます。

呼び出し

破棄不能メッセージ出口ルーチンは、入力メッセージの処理中にアプリケーションが異常終了した場合に呼び出されます。

コーディングの要件

ファイル名と場所
出口ルーチン・プログラム DFSNDMX0.cbl を指定する必要があります。また、このプログラムが ES_IMS_EXITPATH 環境変数によって指定されたディレクトリにある必要があります。
処理オプション
次の処理オプションが有効です。
通常の処理を続行する
通常の処理を続行するオプションは、デフォルトのオプションです。このオプションを要求するには、エンタープライズ・サーバに戻る前に戻りコードをゼロに設定します。このオプションを要求すると、エンタープライズ・サーバはこの出口ルーチンが呼び出されなかったときのように続行します。エンタープライズ・サーバは、アプリケーションの異常終了時に処理されていたトランザクションを停止して、システムから入力メッセージを削除し、発信元ターミナルに DFS555I メッセージを発行します (可能な場合)。
入力メッセージをシステムから削除する
このオプションを要求するには、エンタープライズ・サーバに戻る前に戻りコードを 4 に設定します。このオプションを要求すると、エンタープライズ・サーバは処理されていたトランザクションを停止して、システムから入力メッセージを削除し、発信元ターミナルに DFS555I メッセージを発行します。
入力メッセージを一時停止キューに移動する
このオプションを要求するには、エンタープライズ・サーバに戻る前に戻りコードを 8 に設定します。このオプションを要求すると、エンタープライズ・サーバは処理されていたトランザクションを停止して、入力メッセージをトランザクションの一時停止キューに移動し、発信元ターミナルに DFS555I メッセージを発行します。
入力メッセージを元のトランザクションに再びキューする
このオプションを要求するには、エンタープライズ・サーバに戻る前に戻りコードを 12 に設定します。このオプションを要求すると、エンタープライズ・サーバは、処理されていたトランザクションの正常処理キューに入力メッセージを再びキューします。エンタープライズ・サーバは、NDM インターフェイス・ブロッキングの NDMTRNST フィールドの内容によって処理を行うことを指示されない限り、トランザクションを停止して DFS555I メッセージを発行します (以下を参照)。
代替の宛先に入力メッセージをキューする
このオプションを要求するには、エンタープライズ・サーバに戻る前に、戻りコードを 16 に設定し、有効な送信先を NDM インターフェイス・ブロッキングの NDMDEST フィールドに入力します。代替の宛先には、トランザクション・コードまたは LTERM 名を指定できます。このオプションを要求すると、エンタープライズ・サーバは処理されていたトランザクションを停止して、入力メッセージを代替の宛先にキューし、エンタープライズ・サーバ・コンソールに成功メッセージを発行し、発信元ターミナルに DFS555I メッセージを発行します。NDMDEST に無効な宛先 (ゼロや空白など) またはエンタープライズ・サーバにとって未知の宛先が含まれている場合、エンタープライズ・サーバは要求を無視して宛先を変更し通常の処 を続行します。
エンタープライズ・サーバとの通信
エンタープライズ・サーバとの通信を有効にするには、出口ルーチンでは標準のユーザ出口パラメータ・リストからパラメータを指定し、破棄不能メッセージ (NDM) インターフェイス・ブロッキングを使用する必要があります。詳細は、標準ユーザ出口パラメータ・リストおよび『破棄不能メッセージ (NDM) インターフェイス・ブロッキング』を参照してください。
戻りコード
エンタープライズ・サーバに戻る前に、出口ルーチンでは次の戻りコードのいずれかを設定する必要があります。
戻りコード 説明
0 通常の処理を続行する。
4 入力メッセージをシステムから削除する。
8 入力メッセージを一時停止キューに移動する。
12 入力メッセージを元のトランザクションに再びキューする。
16 入力メッセージを代替の宛先にキューする。この宛先は NDM インターフェイス・ブロッキングの NDMDEST フィールドに指定されます。