TI が TP を有効化して例外を返す方法
TI には、TI アプリケーションなどの Automation サーバー アプリケーションから例外を返すメタ データ メカニズムが用意されています。 TI はこのメカニズムを使用して、メインフレーム開発者に、メインフレーム エラー情報 (例外データとも呼ばれます) を通常のアプリケーションから返すオプションの方法を提供します。
トランザクション プログラム (TP) は、応答メッセージの一部として例外ブロックを含むオプションのメタ データとしてエラー情報を返します。 例外ブロックには、Automation 例外構造の設定に使用できる標準形式の情報が含まれています。
TI エラー メッセージの範囲は 0 から 9999 です。 メインフレームから返されるメタデータ エラー メッセージ番号は、同じ範囲内に収まる可能性があります。 TI エラー メッセージとメインフレームから返されるメタ データ メッセージを区別するために、TI はメインフレームから返されたメタ データ エラー メッセージの数に 10000 を追加します。
TP では、このメカニズムを使用して、TP 状態に関する情報を TI ランタイム環境に提供することもできます。 具体的には、TP は TP が次のかどうかを示すことができます。
これまでに実行された作業をコミットする (および会話の割り当てを解除する) 場合。
現在の会話に対してこれ以上の作業を実行できなくなり、クライアントが準備とコミットを行う必要があります。
トランザクションのコミットを妨げるエラーが発生しました。
TP が会話の割り当てを突然解除することは常に可能ですが、TI 例外を使用すると、呼び出し元のクライアント アプリケーションにエラーに関する詳細情報を返すことができるようになります。
TI は、例外ブロックに含まれる情報を使用して TI ランタイム環境の状態情報を更新し、(要求された場合) クライアント アプリケーションに例外を返します。
次の表は、EXCEPINFO 例外構造のフィールドを示しています。
フィールド | 説明 |
---|---|
wCode | 例外ブロックで返されたエラー コード。 |
bstrSource | 顧客のオブジェクトとリモート TP に関する情報に基づいて TI によって自動的に生成されます。 |
bstrDescription | 例外ブロックから。 このエラーの説明は、リモート TP に由来します。 |
bstrHelpFile | オブジェクトのコンポーネント ライブラリ (レジストリ内) に関連付けられているヘルプ パスを取得し、コンポーネント ライブラリにカスタム情報として含まれる修飾されていないファイル名と組み合わせることによって形成されます。 これにより、開発者はヘルプ ファイルの作成時にファイル名を識別しながら、展開中にヘルプ ファイルがインストールされる場所を管理者が最終的に制御できるようになります。 |
dwHelpContext | 例外から。 |
Scode | wCode と同じです。 |
TP は、実際に例外を発生させずに状態情報を返す可能性があります。 メインフレーム TP コードを可能な限り簡単にするために、例外データはオプションのメタ データの一部であり、エラーが発生したかどうかにかかわらず、すべてのケースで返されます。