動的ルーティング・プログラムに渡されるパラメーター
パラメーターは、通信域 (COMMAREA) またはコンテナーによって CICS® 中継プログラムから動的ルーティング・プログラムに渡されます。 コピーブック DFHDYPDS は、COMMAREA またはコンテナーをマップします。COMMAREA またはコンテナーは、サポートされるすべてのプログラミング言語の適切な CICS ライブラリー内にあります。
動的ルーティング・プログラムと分散ルーティング・プログラムの両方に、同じ情報が渡されます。 一方のルーティング・プログラムにとっては意味があっても、もう一方にとっては意味がないパラメーターもあります。 一方のルーティング・プログラムには渡されるものの、もう一方には渡されることがないパラメーター値もあります。 以下のリストでは、動的ルーティング・プログラムで有効なパラメーターに限って詳しく説明しています。 動的ルーティング・プログラムに渡されないパラメーター値はリストされていません。 例えば、DYRFUNC パラメーターでは、値 X'5' がリストされていません。 X'5' は、分散ルーティング・プログラムに対するルート開始呼び出し時にのみ使用されるため、動的ルーティング・プログラムに渡されることはありません。
動的ルーティング・プログラムと分散ルーティング・プログラムの両方として同じプログラムを使用する場合は、分散ルーティング呼び出しを使用するときに重要なパラメーターと値の説明について、 分散ルーティング・プログラムに渡されるパラメーター を参照してください。
- DYRABCDE
- ルーティングされたトランザクションまたはプログラム・リンク要求が異常終了するか、または Link3270 ユーザー・トランザクションが異常終了したときに戻される、異常終了コード。
- DYRABNLC
- 異常イベント・コード、またはヌル。
このパラメーターは、ルーティングされた要求を停止するために動的ルーティング・プログラムが呼び出されるときに有効です。 ヌル以外の値は、異常イベント (トランザクションの異常終了を除く) が、要求のルーティング先である領域で発生したことを表します。 エラーの原因が調べられて修正されるまで、ルーティング・プログラムは同じ領域にさらに要求をルーティングしてはなりません。
このフィールドは、 CICSPlex® System Managerが使用します。 現在、リソース・マネージャー DB2®、 IMS、 IBM® MQ、または VSAM RLS への接続が使用不可の結果として設定されています。 詳しくは、 ストーム・ドレーン作用の回避を参照してください。
- DYRACMAA
- このフィールドは、以下の項目のルーティングに適用されます。
- 端末で開始されたトランザクション
- 端末関連の START コマンドで開始されるトランザクション
- プログラム・リンク (DPL) 要求
これらのタイプの要求のルーティングでは、以下のエントリーのいずれかが DYRACMAA に含められます。- アプリケーションの通信域 (COMMAREA) の 31 ビット・アドレス。ユーザー・アプリケーションが COMMAREA を使用する場合、またはトランザクション・ルーティングを使用する場合で、最初のトランザクションによって EXEC CICS RETURN コマンドでチャネルまたは COMMAREA が指定されているときに含められます。
- DFHROUTE コンテナーの 31 ビット・アドレス。ユーザー・アプリケーションがチャネルを使用し、そのチャネルに DFHROUTE というコンテナーを作成した場合に含められます。
- ヌル文字。ユーザー・アプリケーションに COMMAREA も DFHROUTE コンテナーもない場合に含められます。
その他すべてのタイプの要求のルーティングでは、DYRACMAA にヌル文字が含められます。
リストされた 3 タイプの適格な要求のルーティングにおいて、ユーザー・アプリケーションが COMMAREA を使用する場合は、動的ルーティング・プログラムの呼び出し方法に応じてアドレスが異なります。- ルーティング (DYRFUNC=0) のために動的ルーティング・プログラムが呼び出された場合、入力通信域のアドレス (使用可能なものがある場合)。 同様に、ルート選択エラー (DYRFUNC=1) または通知 (DYRFUNC=3) のためにルーティング・プログラムが呼び出された場合も、アドレスは入力通信域のアドレスになります。
- 前にルーティングされたトランザクションまたはリンク要求が正常に終了した (DYRFUNC=2) ためにルーティング・プログラムが呼び出された場合、出力通信域のアドレス (使用可能なものがある場合)。 ルーティングされたアプリケーションは、出力通信域を使用して、情報を動的ルーティング・プログラムに渡すことができます。
トランザクションをルーティングしており、ユーザー・アプリケーションがチャネルを使用する場合は、チャネルのアドレスではなく名前がルーティング・プログラムに渡されます。そのため、DYRCHANL パラメーターを使用してコンテナーの内容を検査および変更することはできません。
ルーティングされたトランザクションの異常終了 (DYRFUNC=4) のためにルーティング・プログラムが呼び出された場合、通信域または DFHROUTE コンテナーのいずれの情報も有効ではありません。
ルーティング・プログラムは、DYRACMAA によってアドレス指定された、いずれかのアプリケーションの通信域または DFHROUTE コンテナーに含まれるデータを変更できます。
- DYRACMAL
- 以下の項目のルーティングに適用されます。
- 端末で開始されたトランザクション
- 端末関連の START コマンドで開始されるトランザクション
- プログラム・リンク (DPL) 要求
これらのタイプの要求のルーティングでは、以下の数値のいずれかが DYRACMAL に含められます。- アプリケーション COMMAREA の長さ (バイト単位)。ユーザー・アプリケーションが COMMAREA を使用する場合に含められます。
- DFHROUTE コンテナー内のデータの長さ (バイト単位)。ユーザー・アプリケーションがチャネルを使用し、そのチャネルに DFHROUTE というコンテナーを作成した場合に含められます。
- ゼロ。ユーザー・アプリケーションに COMMAREA も DFHROUTE コンテナーもない場合に含められます。
その他すべてのタイプの要求のルーティングでは、DYRACMAL にゼロが含められます。
- DYRACTCMP
- 動的ルーティング・プログラムでは使用されません。 呼び出し時はヌルに設定されています。
- DYRACTID
- 動的ルーティング・プログラムでは使用されません。 呼び出し時はヌルに設定されています。
- DYRACTN
- 動的ルーティング・プログラムでは使用されません。 呼び出し時はヌルに設定されています。
- DYRAPPLICATION
アプリケーション・コンテキストのアプリケーション名。 アプリケーション・コンテキストを使用できない場合、またはアプリケーション・コンテキストを使用できても、アプリケーション名が設定されていない場合は、ヌルに設定されます。
- DYRAPPLMAJOR
アプリケーション・コンテキストのアプリケーション・メジャー・バージョン。 アプリケーション・コンテキストを使用できない場合は 0 に設定され、アプリケーション・コンテキストを使用できても、アプリケーション・メジャー・バージョンが設定されていない場合は -1 に設定されます。
- DYRAPPLMICRO
アプリケーション・コンテキストのアプリケーション・マイクロ・バージョン。 アプリケーション・コンテキストを使用できない場合は 0 に設定され、アプリケーション・コンテキストを使用できても、アプリケーション・マイクロ・バージョンが設定されていない場合は -1 に設定されます。
- DYRAPPLMINOR
アプリケーション・コンテキストのアプリケーション・マイナー・バージョン。 アプリケーション・コンテキストを使用できない場合は 0 に設定され、アプリケーション・コンテキストを使用できても、アプリケーション・マイナー・バージョンが設定されていない場合は -1 に設定されます。
- DYRAPPLVER
アプリケーション・コンテキストのアプリケーション・バージョン。 すべてのバージョン番号が、アプリケーション・コンテキストを使用できない場合は 0 に設定され、アプリケーション・コンテキストを使用できても、アプリケーション・バージョンが設定されていない場合は -1 に設定されます。
- DYRBLGTH
- TIOA DFHLUC バッファーのコピーの長さ。
このフィールドは、動的トランザクション・ルーティングまたは Link3270 要求にのみ適用されます (プログラム・リンク要求のルーティングは適用外)。
- DYRBPNTR
- TIOA LUC バッファーのコピーの 31 ビット・アドレス。
このフィールドは、動的トランザクション・ルーティングにのみ適用され、プログラム・リンク要求のルーティングには適用されません。
ルーティング、ルート選択エラー (DYRFUNC=0)、または通知 (DYRFUNC=3) のために動的ルーティング・プログラムが呼び出された場合、入力 TIOA のコピーが渡されます。 ルーティング・プログラムは、ルーティングされたトランザクションに渡される端末入力データを変更できます。 初期端末データの変更を参照してください。
前にルーティングされたトランザクションが正常に終了した (DYRFUNC=2) ためにルーティング・プログラムが呼び出された場合、出力 TIOA のコピーが渡されます。 ルーティング・プログラムは、出力 TIOA をモニターして、AOR で発生する可能性のある問題を検出できます。 ルーティングされたトランザクションからの情報の受信を参照してください。
Link3270 ブリッジ要求 (DYRTYPE=8) のためにルーティング・プログラムが呼び出された場合、TIOA LUC バッファーのコピーのアドレスは DYRBPNTR で渡されません。
- DYRBRTK
- Link3270 ブリッジ要求に関連付けられた、8 バイトのブリッジ・ファシリティー・トークン。 このフィールドは、DYRTYPE=8 の場合にのみ有効です。
- DYRCABP
- CICS に標準異常終了処理を続行させるかどうかを示します。
このフィールドは、動的トランザクション・ルーティングにのみ適用され、プログラム・リンク要求および Link3270 要求のルーティングには適用されません。 リンク先プログラムがリモート領域で異常終了した場合、その異常終了はローカル領域に反映されます。つまり、EXEC CICS LINK コマンドを発行したプログラムにそれが渡されます。
:- Y
- CICS 異常終了処理を続行します。
- N
- トランザクションを停止し、 CICS 異常終了処理を続行せず、DYRLPROG によって指定されたプログラムに制御を渡します。
制御された方法でこの状態を処理し、端末ユーザーに適切なメッセージを発行できるローカル・プログラムに制御を渡すには、このオプションを使用します。
N を入力する場合は、DYRLPROG がローカル・システム上の有効なプログラムの名前を指定していることを確認してください。
DYRCABP に適用されるデフォルト値はありません。
- DYRCHANL
- プログラム・リンクまたは START コマンドにチャネルが関連付けられていれば、そのチャネルの名前です。 このフィールドは、DPL 要求、非端末関連 START 要求、および端末関連 START 要求によって開始されたトランザクションのルーティングにのみ適用されます。 他のタイプの要求の場合、またはコマンドにチャネルが関連付けられていない場合、このフィールドにはブランクが入ります。
ルーティング・プログラムにはチャネルのアドレスではなく名前 が渡されるため、このフィールドの内容を使用してコンテナーの内容を検査または変更することはできないことに留意してください。 ルーティング・プログラムがアプリケーション・コンテナーの内容を検査または変更する方法については、 アプリケーションのコンテナーの変更 および DYRACMAA フィールドの説明を参照してください。
- DYRCLOUD
- アプリケーション・コンテキストのクラウド・ルーティング・データ。 これは、他のすべてのアプリケーション・コンテキスト・フィールドをカプセル化するコンテナーです。 デフォルトで、またアプリケーション・コンテキストを使用できない場合に、ヌルに設定されます。
- DYRCOMP
- CICS コンポーネント・コードです。 動的ルーティング・プログラムの呼び出しの場合は、常に RT に設定されます。
- DYRCOUNT
- DYRFUNC が 0、1、または 3 に設定された、このトランザクションまたはリンク要求で動的ルーティング・プログラムが呼び出された回数。 このフィールドを使用して、プログラムが要求のルーティングを試行する回数を制限します。
- DYRDTRRJ
- DTRTRAN システム初期設定パラメーターで指定された共通トランザクション定義で定義されたトランザクションの処理を拒否するか受け入れるかを示します。
このフィールドは、動的トランザクション・ルーティングおよび Link3270 要求のルーティングにのみ適用され (プログラム・リンク要求のルーティングは適用外)、DYRTRXN が Y に設定されている場合にのみ該当します。
以下の値が有効です。- Y
- トランザクションは拒否されます。 Y がデフォルトです。
- N
- トランザクションは拒否されません。
動的ルーティング・プログラムが呼び出されると、このパラメーターは必ず拒否状態に設定されます。 DTRTRAN システム初期設定パラメーターによって定義されたトランザクションを動的にルーティングするには、この標識を受け入れ状態に変更する必要があります。
トランザクションを拒否すると、メッセージ DFHAC2001が出されます。Transaction tranid is unrecognized.動的トランザクション・ルーティングのためにユーザーの端末に送信されます。 Link3270 要求では、クライアントに戻された BRIH に、トランザクションが見つからなかったことを示す戻りコードと、DTRTRAN システム初期設定パラメーターで指定されたトランザクションをルーティング・プログラムが拒否したことを示す完了コードが含められます。
- DYRDTRXN
- ルーティングされるトランザクションが、 DTRTRAN システム初期設定パラメーターで指定された共通トランザクション定義によって定義されるか、特定のトランザクション定義によって定義されるかを示します。
このフィールドは、動的トランザクション・ルーティングおよび Link3270 要求にのみ適用され、プログラム・リンク要求のルーティングには適用されません。
以下の値が有効です。- Y
- トランザクションは、DTRTRAN システム初期設定パラメーターで指定された定義によって定義されます。 つまり、入力トランザクション ID に対するリソース定義はありません。
動的トランザクション・ルーティングの場合、トランザクションは、DTRTRAN システム初期設定パラメーターで指定されたトランザクション ID を使用する端末専有領域で開始されます。
動的トランザクション・ルーティングの場合、入力トランザクション ID は、DYRTRAN フィールドで動的ルーティング・プログラムに渡されます。 Link3270 要求の場合、共通トランザクション定義を使用して、要求のルーティング特性が決定されます。 要求には、共通トランザクション ID ではなく、元のトランザクション ID がまだ入っています。 要求がローカルで実行される場合、要求は正常にドライバーに渡されますが、ユーザー・トランザクションが定義されていないためドライバーはユーザー・トランザクションの開始に失敗します。
- N
- トランザクションは、DTRTRAN システム初期設定パラメーターで指定された定義によって定義されません。 入力トランザクション ID のためにインストールされたリソース定義が存在します。
動的トランザクション・ルーティングの場合、トランザクションは、入力トランザクション ID を使用する端末専有領域で開始されます。 DYRTRAN フィールドで動的ルーティング・プログラムに渡されるトランザクション ID は、トランザクション・リソース定義からのリモート・トランザクション ID です (この ID が入力トランザクション ID と異なる場合)。
Link3270 要求の場合、DYRTRAN フィールドでルーティング・プログラムに渡されるトランザクション ID は、TRANSACTION リソース定義に定義されているリモート・トランザクション ID です。
- DYRERROR
- DYRFUNC が 1 に設定されている場合にのみ値を持ちます。 DYRERROR は、最後に経路を選択しようとしたときに発生したエラーのタイプを示します。 IPIC 接続でのルーティングの試行に失敗し、同じ名前の接続を使用したその後の試行も失敗した場合 (SYSID 不検出以外の理由で)、その接続でのルーティングの試行で発生したエラーのタイプが戻されます。 以下の値が有効です。
- 0
- 選択された SYSID が不明です。
- 1
- 選択されたシステムはサービス中ではありません。
- 2
- 選択されたシステムはサービス中ですが、使用可能なセッションがありません。
- 3
- 割り振り要求が拒否され、SYSIDERR がアプリケーション・プログラムに戻されました。 このエラーは、以下のいずれかの理由で発生します。
- XZIQUE グローバル・ユーザー出口プログラムが、割り振りの拒否を要求した。
- CONNECTION リソース定義で指定された QUEUELIMIT 値に達したため、 CICS は割り振り要求を自動的に拒否しました。
- 4
- 割り振り要求のキューがパージされており、SYSIDERR が待機中のすべてのアプリケーション・プログラムに戻されました。 このエラーは、以下のいずれかの理由で発生します。
- XZIQUE グローバル・ユーザー出口プログラムが、キューのパージを要求した。
- CICS は、CONNECTION リソース定義で指定された MAXQTIME 制限に達したために、キューを自動的にパージしました。
- 5
- 選択されたシステムはこの機能をサポートしていません。 この値は、ルーティング・プログラムが以下のいずれかのアクションを実行しようとした場合に設定されます。
- EXEC CICS START コマンドによって開始されたトランザクションを、MRO または APPC 並列セッション・リンクで接続されていない領域にルーティングする。
- LU6.1 接続でトランザクションか、プログラム・リンク要求または Link3270 要求をルーティングする。
- Link3270 要求を、サポートされないリリースの CICS の領域にルーティングする。
- IPIC 接続を介してCICS TS for z/OS®バージョン 4.1 より前の領域にトランザクションをルーティングします。
- IPIC 接続で APPC デバイスをルーティングする。
値 6 から B はすべて、プログラム・リンク要求のルーティングの試行に適用されます。 これらのエラー条件の意味については、 LINKを参照してください。
- 6
- EXEC CICS LINK コマンドが LENGERR を戻しました。
- 7
- EXEC CICS LINK コマンドが PGMIDERR を戻しました。
- 8
- EXEC CICS LINK コマンドが INVREQ を戻しました。
- 9
- EXEC CICS LINK コマンドが NOTAUTH を戻しました。
- A
- EXEC CICS LINK コマンドが TERMERR を戻しました。
- B
- EXEC CICS LINK コマンドが ROLLEDBACK を戻しました。
- F
- ターゲット領域にある XPCERES グローバル・ユーザー出口プログラムは、UERCRESU の戻りコードを設定しました。これは、必要なリソースがターゲット領域で使用できないことを意味します。 このエラー・コードは、プログラム・リンク、Link3270 ブリッジ、および非端末関連の START 要求の場合に設定されます。
- DYRFUNC
- 動的ルーティング・プログラムの今回の呼び出しの理由を示します。 以下の値が有効です。
- 0
- ルート選択のために呼び出されました。
- 1
- ルート選択でエラーが発生したために呼び出されました。
- 2
- 前にルーティングされたトランザクションまたはプログラム・リンク要求が正常に終了したために呼び出されたか、あるいはユーザー・トランザクションが正常に終了した要求のために呼び出されました。
- 3
- 静的にルーティングされた要求の宛先を通知するために呼び出されました。 この通知が該当するケースは以下のとおりです。
- ATI 要求
- DYNAMIC(YES) として定義されたトランザクションが、端末関連の自動トランザクション開始 (ATI) 要求によって (例えば、インターバル制御機能の開始要求の有効期限によって) 開始されたものの、このトランザクションが動的ルーティングに不適格な場合。
端末関連 EXEC CICS START コマンドによって開始されたどのトランザクションが動的ルーティングに適格であるかについては、 START コマンドによって呼び出されるトランザクションのルーティングを参照してください。
- プログラム・リンク要求
- プログラムが DYNAMIC(YES) と定義されているか、またはプログラムが定義されていない一方で、呼び出し側が EXEC CICS LINK コマンドの SYSID オプションでリモート領域の名前を指定した場合。
この場合には、ターゲット領域の明示的な指定が、動的ルーティング・プログラムから戻された SYSID に優先します。
- ブリッジ要求
- セッション・モードで、要求されたトランザクションが最初のユーザー・トランザクションではなく、DYNAMIC(YES) と定義されている場合。
- 4
- ルーティングされたトランザクション、または要求されたユーザー・トランザクションが異常終了したために呼び出されました。
- 7
- 作業単位の終了を処理するための呼び出しを示すために呼び出されました。
DYRTYPE フィールドは、ルーティング要求または通知要求のタイプを通知します。
- DYRLEVEL
- ルーティングされた要求を正常に処理するためにターゲット AOR で必要な CICS のレベルです。 以下の値が有効です。
- X'00'
- 現在サポートされている任意のバージョンの CICS が要求を処理できます。
- X'01'
- この値は、エンタープライズ Bean および CORBA ステートレス・オブジェクト (分散ルーティング・プログラムによって処理される) のメソッド要求に対してのみ設定されます。
- X'02'
- この値は、エンタープライズ Bean および CORBA ステートレス・オブジェクト (分散ルーティング・プログラムによって処理される) のメソッド要求に対してのみ設定されます。
- X'03'
- CICS TS for z/OSバージョン 3.1。 この値は、以下の要求の場合に設定されます。
- チャネルが関連付けられている DPL 要求。
- チャネルが関連付けられている START 要求。
- (分散ルーティング・プログラムによって処理される) インバウンド Web サービス要求。
- (分散ルーティング・プログラムによって処理される) エンタープライズ Bean および CORBA ステートレス・オブジェクトに対するメソッド要求。
- X'04'
- CICS TS for z/OSバージョン 3.2。
X'00 ' より大きい値は、要求を正常に処理するために必要な 特定レベル (最小レベルではない) の CICS を示していることに注意してください。
このパラメーターは、複数領域論理サーバーの
同じ論理サーバー内の異なる CICS 領域が異なるレベルの CICSにあるこの混合レベルの操作は、ローリング・アップグレード専用です。 この運用は、一部のインターオペラビリティー・シナリオで障害の発生リスクを高めるため、恒久的に利用するためのものではありません。 通常の推奨される操作モードでは、論理サーバー内のすべての領域が同じレベルの CICS と Java™になります。ローリング・アップグレード
を実行するのに役立ちます。一度に 1 つの領域が、サーバーを停止することなく、 CICS の 1 つのリリースから次のリリースにアップグレードされます。 特定のレベルの CICS を必要とする要求は、適切な AOR に経路指定できます。 - DYRLPROG
- ルーティングされるトランザクションの最初のプログラムの名前か、またはルーティングされるリンク・コマンドで指定されたプログラムの名前。
- トランザクション・ルーティング
- トランザクションをローカルでルーティングする場合には、このフィールドを使用して、代わりに実行するプログラムの名前を指定できます。 例えば、すべてのリモート CICS 領域が使用不可であり、トランザクションをルーティングできない場合、ローカル端末専有領域でプログラムを実行して、適切なメッセージをユーザーに送信することができます。
DYRCABP=N を指定した場合は、DYRLPROG をブランクに設定しないでください。 DYRCABP=N を指定した場合は、DYRLPROG で有効なプログラム名を必ず指定してください。
- プログラム・リンク要求
- DYRFUNC が 0 または 3 に設定されている場合、DYRLPROG には、以下の順序で取得されたリンク対象のプログラムの名前が含まれます。
- インストールされたプログラム定義の REMOTENAME オプションから。
- REMOTENAME が指定されていない場合、またはプログラム定義がない場合、EXEC CICS LINK コマンドの PROGRAM オプションから。
このフィールドを使用すると、プログラム・リンク要求で指定されたものとは異なる、代替プログラムをリンクするように指定できます。 要求のルーティング先の領域に応じて、ローカル・プログラムまたはリモート・プログラムのいずれかを指定できます。
DYRLPROG の値を変更した場合、選択した代替プログラムが DYNAMIC(YES) と定義されているなら、ルート選択のために動的ルーティング・プログラムが再度呼び出されることに注意してください。
- ブリッジ要求
- DYRTYPE=8の場合、このフィールドは変更しないでください。変更しても、 CICSによって無視されます。
動的ルーティング・プログラムのすべての呼び出しで DYRLPROG を変更できますが、これが有効になるのは DYRFUNC が 0 または 1 に設定されている場合のみです。
- DYRLUOW
- 8 バイトのローカル作業単位 ID。 このトークンは、LOCKED 親和性タイプのキーの一部を形成します。
このフィールドは、DYRTYPE=4 または 9 (DPL) あるいは DYRFUNC=7 (作業単位の終了) の場合にのみ有効です。 DYRTYPE 4 は CHANNEL なしの DPL で、DYRTYPE 9 は CHANNEL ありの DPL です。
- DYRNETNM
- DYRSYSID で識別される CICS 領域のネット名。
動的ルーティング・プログラムの最初の呼び出しによって DYRNETNM 値が変更された場合、 CICS は新しいネット名を使用して CICS 領域に要求をルーティングしようとします。
- DYRNUOW
- 27 バイトのネットワーク作業単位 ID。 このトークンは、LOCKED 親和性タイプのキーの一部を形成します。
このフィールドは、DYRTYPE=4 または 9 (DPL) あるいは DYRFUNC=7 (作業単位の終了) の場合にのみ有効です。
- DYROPERATION
アプリケーション・エントリー・ポイントのアプリケーション・コンテキスト・オペレーション名。 アプリケーション・コンテキストを使用できない場合、ヌルに設定されます。
- DYROPTER
- ルーティングされたトランザクションまたはリンク要求が終了 (成功または失敗して終了) したときに動的ルーティング・プログラムを再度呼び出すかどうかを指定します。 以下の値が有効です。
- N
- 動的ルーティング・プログラムを再度呼び出しません。 N がデフォルトです。
- Y
- 動的ルーティング・プログラムを再度呼び出します。
このオプションは、リモート CICS 領域にルーティングされるトランザクション、リンク要求、またはブリッジ要求に対して指定できます。また、ローカルで実行されるトランザクション、リンク要求、またはブリッジ要求に対しても指定できます。
- DYRPLATFORM
アプリケーションがデプロイされているプラットフォームのアプリケーション・コンテキスト・プラットフォーム名。 アプリケーション・コンテキストを使用できない場合、またはアプリケーション・コンテキストを使用できても、プラットフォーム名が設定されていない場合は、ヌルに設定されます。
- DYRPROCCMP
- 動的ルーティング・プログラムでは使用されません。 呼び出し時はヌルに設定されています。
- DYRPROCID
- 動的ルーティング・プログラムでは使用されません。 呼び出し時はヌルに設定されています。
- DYRPROCN
- 動的ルーティング・プログラムでは使用されません。 呼び出し時はヌルに設定されています。
- DYRPROCT
- 動的ルーティング・プログラムでは使用されません。 呼び出し時はヌルに設定されています。
- DYRPRTY
- 端末専有領域とアプリケーション専有領域の間の接続が MRO または IPIC である場合、あるいはブリッジ要求を処理しているときに、アプリケーション専有領域でタスクのディスパッチ優先順位を設定するために使用できます。
- トランザクション・ルーティング
- 動的ルーティング・プログラムを呼び出す前に、 CICS はこの値を中継トランザクション・タスクの優先順位に設定します。
- プログラム・リンク要求
- 動的ルーティング・プログラムを呼び出す前に、 CICS はこの値を、プログラム・リンク要求を発行したタスクの優先順位に設定します。
- ブリッジ要求
- 動的ルーティング・プログラムを呼び出す前に、 CICS はこの値を、ルーター領域のユーザー・トランザクションの TRANSACTION リソース定義で定義された値に設定します。
動的ルーティング・プログラムの最初の呼び出しからの戻り時に、DYRRTPRI 値が Y であり、端末専有領域とアプリケーション専有領域の間に MRO または IPIC 接続がある場合、 CICS は DYPPRTY 値をアプリケーション専有領域に渡します。
- DYRQUEUE
- DYRSYSID で指定されたリモート・システムですぐに使用できるセッションがない場合に、要求をキューに入れるかどうかを指定します。 以下の値が有効です。
- Y
- 必要な場合に要求をキューに入れます。 Y がデフォルトです。
- N
- 要求をキューに入れません。
ブリッジ要求の場合、DYRQUEUE が Y に設定されてから、動的ルーティング・プログラムが呼び出されます。 ユーザー置換可能プログラムによってこの値に加えられた変更は、 CICSによって無視されます。
- DYRRETC
- 処理の進め方を CICS に指示する戻りコードが入っています。
- トランザクション・ルーティング
- 以下の値が有効です。
- 0
- トランザクションの処理を続行します。
- 4
- メッセージまたはアベンドなしでトランザクションを停止します。
- 8
- メッセージまたはアベンドを出してトランザクションを終了します。
ルーティング・プログラムが呼び出されるときはいつでも、DYRRETC が 0 に設定されます。 ルート選択のために呼び出された場合、またはルート選択でエラーが発生したために呼び出された場合、 CICS にトランザクションの処理を続行させるには、0 に設定したままにする必要があります。
CICS にトランザクションを停止させ、メッセージまたは異常終了を発行し、値 8 を戻します。
メッセージまたは異常終了 (DFHDYP が必要なすべての処理を完了したことを示す) を出さずに CICS にトランザクションを停止させるには、値 4 を戻します。
APPC トランザクションのルーティングで戻りコード 4 を設定することは、予測不能な結果をもたらすため、避ける必要があります。
4 を除くゼロ以外の戻りコードを設定することは、8 を設定することと等価です。
- プログラム・リンク要求
- 以下の値が有効です。
- 0
- リンク要求の処理を続行します。
- ゼロ以外の値
- エラー状態をプログラムに戻します。
ルーティング・プログラムが呼び出されるときはいつでも、DYRRETC が 0 に設定されます。 ルート選択のために呼び出された場合、またはルート選択でエラーが発生したために呼び出された場合、 CICS にリンク要求の処理を続行させるには、リンク要求を 0 に設定したままにする必要があります。
CICS にリンク要求を拒否させるには、ゼロ以外の値を戻します。 EXEC CICS LINK コマンドを発行したプログラムは、RESP2 値が 27 で PGMIDERR 状態を受け取ります。
- ブリッジ要求
- 以下の値が有効です。
- 0
- 要求の処理を続行します。
- 4
- エラー・メッセージを発行せずに要求の処理を停止します。
- 8
- エラー・メッセージを出して要求の処理を停止します。
ルーティング・プログラムが呼び出されるときはいつでも、DYRRETC が 0 に設定されます。 ルート選択のために呼び出された場合、またはルート選択でエラーが発生したために呼び出された場合、 CICS にリンク要求の処理を続行させるには、リンク要求を 0 に設定したままにする必要があります。
CICS がメッセージを出さずに要求を停止するようにするには、値 4 を戻します。 クライアントに返される BRIH メッセージ・ヘッダーには、動的ルーティング・プログラムが要求を拒否したことをクライアントに通知する戻りコードと、要求をルーティングする最後の試行が失敗した理由の詳細を示す完了コードが含まれています。
CICS に要求を停止させ、メッセージを発行させるには、値 8 を戻します。 クライアントに返される BRIH には、動的ルーティング・プログラムが要求を拒否したことをクライアントに通知する戻りコードと、要求をルーティングする最後の試行が失敗した理由の詳細を示す完了コードが含まれます。
ルーティング・プログラムが通知のために呼び出される場合、またはトランザクションの終了時に呼び出される場合は、戻りコードを設定しません。 設定したコードは、 CICSによって無視されます。
- DYRRTPRI
- 端末専有領域とアプリケーション専有領域の間の接続が MRO または IPIC である場合に、トランザクション、リンク要求、または要求のディスパッチ優先順位をアプリケーション専有領域に渡すかどうかを示します。 以下の値が有効です。
- N
- ディスパッチ優先順位は渡されません。 N がデフォルトです。
- Y
- ディスパッチ優先順位は渡されます。
- DYRSRCTK
- ルーティングされたトランザクションの MVS™ ワークロード管理サービスおよびレポート・クラス・トークンです。 ルーティング・プログラムは、 CICS によって設定され、CICSPlex SM によって使用されるこの値を変更してはなりません。
- DYRSYSID
- これは、 CICS 領域のシステム ID (SYSID) です。 このパラメーターの厳密な意味は、以下に示すように DYRFUNC および DYRTYPE の値に応じて異なります。
- DYRFUNC が 0 (ルート選択) に設定されている場合
- DYRTYPE が 0、2、3、または 8 (いずれかのタイプのトランザクション・ルーティング) に設定されている場合、DYRSYSID には以下のいずれかの名前が含まれます。
- インストールされたトランザクション定義の REMOTESYSTEM オプションで指定された CICS 領域名
- REMOTESYSTEM が指定されていない場合は、ローカル CICS 領域のシステム名。
- DYRTYPE が 4 または 9 (DPL ルーティング) に設定されている場合、DYRSYSID には以下のいずれかの名前が含まれます。
- インストールされたプログラム定義の REMOTESYSTEM オプションで指定された CICS 領域名。注: REMOTESYSTEM オプションでリモート領域を指定した場合、ルーティング・プログラムは要求をローカルにルーティングできません。
- REMOTESYSTEM が指定されていない場合、またはプログラム定義がない場合は、ローカル CICS 領域のシステム名。
- インストールされたプログラム定義の REMOTESYSTEM オプションで指定された CICS 領域名。
動的ルーティング・プログラムは、DYRSYSID の値を受け入れることも、 CICSに戻る前に DYRSYSID の値を変更することもできます。
CICS に戻す SYSID がローカル SYSID と同じである場合、 CICS はトランザクションまたはプログラムをローカル領域で実行します。
- DYRTYPE が 0、2、3、または 8 (いずれかのタイプのトランザクション・ルーティング) に設定されている場合、DYRSYSID には以下のいずれかの名前が含まれます。
- DYRFUNC が 1 (経路選択エラー) に設定されている場合、DYRSYSID には、前の呼び出しで動的ルーティング・プログラムによって CICS に返された CICS 領域名が含まれます。DYRFUNC=1 の場合に動的ルーティング・プログラムが実行できる処理は、DYRERROR パラメーターの設定に応じて異なります。
- DYRERROR が 0 (不明な SYSID) または 1 (CICS 領域がサービス中ではない) に設定されていて、 CICS にルーティングを再試行させたい場合は、 CICSに戻る前に DYRSYSID を変更する必要があります。
- DYRERROR が 2 (セッション使用不可) に設定されていて、 CICS にルーティングを再試行させたい場合は、DYRSYSID を変更するか、DYRQUEUE の値を Y (セッションが使用可能になるまで要求をキューに入れる) に変更する必要があります。
- DYRFUNC が 2 (ルーティングされた要求の終了) に設定されている場合、DYRSYSID には、完了したトランザクションまたはリンク要求が実行された CICS 領域の名前が含まれます。
- DYRFUNC が 3 (通知) に設定されている場合:
- ATI 要求の場合、DYRSYSID には以下のいずれかの名前が含まれます。
- EXEC CICS START コマンドの SYSID オプションで指定されたリモート CICS 領域名
- SYSID が指定されていない場合は、インストールされたトランザクション定義の REMOTESYSTEM オプションで指定されたリモート CICS 領域名
- REMOTESYSTEM が指定されていない場合は、ローカル CICS 領域のシステム名。
- プログラム・リンク要求の場合、DYRSYSID には、EXEC CICS LINK コマンドの SYSID オプションで指定されたリモート CICS 領域名が含まれます。
- ブリッジ要求の場合、DYRSYSID には、要求がルーティングされ、ユーザー・トランザクションが実行される CICS 領域の SYSID が含まれます。
DYRSYSID または DYRNETNAME の値に加えられた変更は無視されます。
- ATI 要求の場合、DYRSYSID には以下のいずれかの名前が含まれます。
- DYRFUNC が 4 (異常終了) に設定されている場合、DYRSYSID には、トランザクションが異常終了した CICS 領域の名前が含まれます。
- DYRFUNC が 0 (ルート選択) に設定されている場合
- DYRTRAN
- リモート・トランザクション ID が含まれます。
- トランザクション・ルーティング
- DYRFUNC が 0 または 3 に設定されている場合、DYRTRAN には、インストールされている TRANSACTION リソースの REMOTENAME オプションに指定されたリモート・トランザクション ID が含まれます。
- ブリッジ要求
- DYRTYPE=8 の場合、DYRTRAN にはターゲット・ユーザー・トランザクションのトランザクション ID が含まれます。この ID は現在の領域で既知であるためです。 これは現行トランザクション ID とは異なる点に注意してください。
- プログラム・リンク要求
- DYRFUNC が 0 または 3 に設定されている場合、DYRTRAN には、以下の順序で取得されたリモート・ミラー・トランザクションのトランザクション ID が含まれます。
- LINK コマンドの TRANSID オプションから。注: LINK コマンドの TRANSID オプションに指定された値は、ルーティング・プログラムによってオーバーライドすることはできません。
- プログラム定義の TRANSID オプションから。
- CSMI、一般ミラー・トランザクション。 TRANSID オプションのいずれも指定されていない場合は、CSMI がデフォルトです。
- LINK コマンドの TRANSID オプションから。
動的ルーティング・プログラムは、このリモート・トランザクション ID を受け入れることも、リモート CICS 領域に転送するために別のトランザクション名を指定することもできます。 指定された名前が 4 文字より長い場合は、 CICSによって切り捨てられます。
動的ルーティング・プログラムのすべての呼び出しで DYRTRAN を変更できますが、この変更が有効になるのは以下の状況に限られます。- DYRFUNC が 0 または 1 に設定されている場合。
- 元の値が、EXEC CICS LINK コマンドの TRANSID オプションから取得されたのではない場合。 LINK コマンドの TRANSID オプションに指定された値は、ルーティング・プログラムで指定変更できません。
- DYRTYPE
- 呼び出されているプログラムを必要としているルーティング要求のタイプです。 トランザクション・ルーティングの場合、このフィールドは、DYRFUNC が 0 (ルート選択) または 3 (通知) に設定されているときにのみ有効です。 以下の値を動的ルーティング・プログラムに渡すことができます。
- 0
- 端末から開始されたトランザクション。
- 1
- 静的にルーティングされる ATI 要求。
- 2
- 端末関連の EXEC CICS START コマンドによって開始されるトランザクション。この場合、START に関連付けられたデータもチャネルもありません。
- 3
- 端末関連 EXEC CICS START コマンドによって開始されるトランザクション。この場合、START に関連付けられたデータはありますが、チャネルはありません。
- 4
- チャネルなしのプログラム・リンク要求。
- 8
- ブリッジ要求。
- 9
- チャネルありのプログラム・リンク要求。
- A
- START に関連付けられたチャネルがある、端末関連の EXEC CICS START コマンドによって開始されるトランザクション。
- DYRUAPTR
- DYRVER が 7 以上の場合、このフィールドには新しいユーザー域 DYRUSERN のアドレスが含まれます。 新しいユーザー域メカニズムにより、ルーティング・プログラムのソースは、通信域を作成した CICS リリースから独立したものになります。 これまでのユーザー域フィールド DYRUSER は、互換性の目的でのみ保持されています。
ユーザー域は、DYRUAREA DSECT によってマップできます。
DYRUAPTR が 7 より小さいシステムの場合、DYRUAPTR の内容は予測不能です。
- DYRUOWAF
- このフィールドは、現行のネットワーク作業単位が完了するときに DYRTPE=4 または 9 (DPL) の要求に対して FUNC=7 コールバックが必要であることを CICS に通知するために、呼び出し先ユーザー出口アプリケーションによって使用されます。CICS からの呼び出しを受け取った後は、このフィールドに該当のデータは含まれません。DYRUOWAF は、DPL 要求において CICS への応答を提供するためにのみ使用されます。 以下の値が有効です。
- N
- コールバックは必要ありません。
- Y
- コールバックが必要です。
ある UOW に対して複数の DPL 呼び出しがある場合、それらの呼び出しのいずれかで Y が戻されたら、この UOW の最後にコールバックが行われます。
- DYRUSER
- 1024 バイトのユーザー域。
このフィールドは互換性の目的でのみ保持されています。DYRUAPTR および DYRUSERN フィールドの説明を参照してください。
- DYRUSERID
- 要求に関連付けられた CICS ユーザー ID です。
トランザクション・ルーティング、プログラム・リンク要求、およびブリッジ要求の場合、DYRUSERID には現在のトランザクションの実行に使用されているユーザー ID が含まれます。
ルーティングまたはルート選択エラー (それぞれ DYRFUNC=0 または 1) のために呼び出された場合、このフィールドを検査することで、ルーティング・プログラムは、要求に関連付けられたユーザー ID に基づいて要求をルーティングできます。
- DYRUSERN
- 1024 バイトのユーザー域。
CICS は、特定のタスクに対して動的ルーティング・プログラムを呼び出す前に、このユーザー域をゼロに初期化します。 このユーザー域は、動的ルーティング・プログラムで変更できます。変更されたユーザー域は、同じ要求におけるその後の動的ルーティング・プログラムの呼び出しに渡されます。
- DYRVER
- 動的ルーティング・プログラム・インターフェースのバージョン番号。 CICS Transaction Server for z/OS、 バージョン 5 リリース 4の場合、数値は 11 です。