破棄不能メッセージ出口ルーチンにより、異常終了した 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 フィールドに指定されます。
|