ブリッジ要求の動的ルーティング

ブリッジの制御下で 3270 ユーザー・トランザクションを実行するには、クライアント・プログラムが最初に、ブリッジ・ルーター領域で実行中の DFHL3270 に対して LINK、ECI、または EXCI の呼び出しを発行し、ブリッジ・インバウンド・メッセージ・ヘッダー (BRIH) を含む COMMAREA を渡す必要があります。

BRIH には、ターゲット・ユーザー・トランザクションの名前が含まれます。 次に、 DFHL3270 (ブリッジ・プログラム) は、COMMAREA を渡して CICS® ドライバー・プログラムにリンクします。 ユーザー・トランザクションが動的ルーティングの対象となる場合、DFHL3270 は、ドライバー・プログラムが実行されるターゲット・システムを決定するための動的ルーティング・プログラムを呼び出します。

ユーザー・トランザクションは常に、ドライバー・プログラムと同じ領域で実行されます。 ユーザー・トランザクションではなく、ユーザー・トランザクションを実行するためのクライアント要求が動的にルーティングされます。

ドライバー・プログラムに対するブリッジ要求が動的ルーティングの対象となるかどうかは、ルーター領域でのターゲット・トランザクションのリソース定義を使用して判別されます。 ルーター領域でターゲット・ユーザー・トランザクションが定義されていなければ、DTRTRAN システム初期設定パラメーターで指定された共通トランザクション定義を使用して、要求が動的ルーティングの対象となるかどうかが判別されます。

セッション・モードでは、最初のユーザー・トランザクション要求のターゲット・システムが、セッション内の後続のすべてのユーザー・トランザクション要求をどこにルーティングするかを決定します。 リモート要求は、MRO リンクでルーター領域に接続された他の領域にルーティングすることも、APPC (LUTYPE6.2) ISC リンクで接続された他のシステムにルーティングすることもできます。

注: ローカル・システムは、動的ルーティング・プログラムが実行されている CICS ルーター領域です。
動的ルーティング・プログラムは、以下の場合に呼び出されます。
  • 単一トランザクション・モードで、トランザクションが DYNAMIC(YES) と定義されているか、またはトランザクションが定義されておらず DTRTRAN トランザクションが DYNAMIC(YES) と定義されている場合。
  • セッション・モードで、最初のユーザー・トランザクションが DYNAMIC(YES) と定義されているか、またはトランザクションが定義されておらず DTRTRAN トランザクションが DYNAMIC(YES) と定義されている場合。
  • セッション・モードで、後続のユーザー・トランザクションが DYNAMIC(YES) と定義されているか、またはトランザクションが定義されておらず DTRTRAN トランザクションが DYNAMIC(YES) と定義されている場合。 この場合、セッションの最初のユーザー・トランザクションによってターゲット・システムが既に決まっているので、通知のためにのみルーティング・プログラムが呼び出されます。ルーティング・プログラムが要求のターゲット・システムを変更することはできません。
  • ルート選択でエラーが発生した場合、例えば、初期 (ルート選択) 呼び出しでルーティング・プログラムから戻されたターゲット領域が使用不可の場合。 この場合、ルーティング・プログラムは代替ターゲットを指定できます。 このプロセスは、ルーティング・プログラムが使用可能ターゲットを選択するか、ゼロ以外の戻りコードを設定するまで繰り返されます。
  • ユーザー・トランザクションが完了した後、終了時に再呼び出しするようルーティング・プログラムが要求した場合。