CICSRequest ノードは、CICS® Transaction Server for z/OS® に送られた要求の成功または失敗を示す、さまざまな応答メッセージを戻すことがあります。
CICSRequest ノードには 4 つの出力ターミナルがあります。
- Out: CICS から戻されるデータを含む、メッセージ・ツリーの伝搬元となる出力ターミナル。
- Failure: CICSRequest ノードの例外が検出された場合、または CICSRequest ノードから CICS への接続障害が生じた場合に、メッセージがルーティングされる出力ターミナル。
- Error: CICS エラー (異常終了) が生じた場合に、メッセージの伝搬先となる出力ターミナル。
- Timeout: 個別の要求が CICS に送られ、要求に時間がかかりすぎて要求ごとのタイムアウトが生じた場合に、メッセージの伝搬先となる出力ターミナル。
CICSRequest ノードで「
出力データのロケーション」結果プロパティーを構成することにより、応答の送信先とするロケーションを選択できます。
このプロパティーは、
CICSRequest ノードが出力を入れる、メッセージ・ツリー内のロケーションを指定します。
- 正常な呼び出しの処理
CICSRequest ノードが CICS アプリケーションを正常に呼び出したとき、結果のメッセージは Out ターミナルに伝搬されます。
- CICS 異常終了の処理
CICS での異常終了によって、メッセージは Error ターミナルから伝搬されることになります。 入力メッセージは、LocalEnvironment の CICS¥AbendCode フィールドと共に伝搬されます。 Error ターミナルが接続していない場合、異常終了は失われます。
異常終了が発生したとき、CICSRequest ノードがブローカー・トランザクションに参加するように構成されている場合は、CICS タスクが即時にロールバックされます。
複数の CICS ノードが作業単位に含まれる場合、異常終了がエラーまたは障害ターミナルで処理されるのかどうかに関係なく、各ノードの CICS アクティビティーがロールバックされます。
メッセージの処理時に CICS によって実行される後続の処理は新しい作業単位で実行されます。
作業単位は、同じリソースを共用するフロー内のノードによって実行される作業です。この場合、作業単位は、(「CICS サーバー」プロパティーで定義されている URL または構成可能サービスを介して) 同じ CICS サーバーに接続されているフロー内の CICSRequest ノードによって実行されるすべての作業です。
例えば、メッセージ・フローに 5 つの CICS ノードが含まれていて、そのうち 3 つは CICS サーバー A に接続され、2 つは CICS サーバー B に接続される場合、サーバー A に接続されるノードによって実行されるすべての作業が 1 つの作業単位を形成し、サーバー B に接続されるノードによって実行されるすべての作業が別の作業単位を形成します。
CICS サーバー A に接続されている CICS ノードのいずれかで異常終了が発生した場合、サーバー A に接続されているフロー内のすべての CICS ノードによって実行された作業は、単一の作業単位を形成しているため、ロールバックされます。
サーバー A に接続される CICSRequest ノードによって実行される後続のすべての作業は、新しい作業単位を開始し、サーバー B の作業単位は、サーバー A の作業単位のロールバックの影響を受けません。
- 要求タイムアウトの処理
CICSRequest ノードに「要求タイムアウト」基本プロパティーが構成されている場合、特定のメッセージの処理が指定の時間 (秒数) よりも長くかかるときには、その要求は失敗してメッセージが Timeout ターミナルから伝搬されます。 出力メッセージには、入力メッセージ本体と、ExceptionList 内のタイムアウト例外が含まれています。
Timeout ターミナルが接続されていないでタイムアウトが起こると、要求タイムアウト例外は Failure ターミナルにルーティングされます。 Failure ターミナルに接続していない場合は、ブローカーが例外をスローし、その例外を処理できる直近のアップストリーム・ノードに制御を戻します。 デフォルト動作では、メッセージが入力ノードに戻されます。
- ノードでの障害の処理
その他の障害は、Failure ターミナルに伝搬されます。 起こりうる障害には、以下のものがあります。
- ターゲットの CICS 領域との通信不能。
- 内部 CICSRequest ノードの例外の検出。
- 無効なメッセージ本体。 例えば、構文解析エラー、または入力メッセージによって作成される構造が CICSRequest ノードで構成された「通信域の長さ」基本プロパティーよりも大きいなどです。
戻される COMMAREA で同様の状況があっても、検出はできません。
例えば、戻されるデータが「通信域の長さ」プロパティーで定義された値よりも大きい場合、CICS でメモリー・リークが生じます。
そのため、「通信域の長さ」基本プロパティーを正しく構成する必要があります。
CICSConnection 構成可能サービスを使用して、
CICSRequest ノードへの接続詳細を変更できます。 CICSConnection 構成可能サービスの作成、変更、報告、および削除に関する詳細は、
CICSRequest ノードの接続情報の変更を参照してください。