•
• リスト6-1 OTMAを使用する場合のメッセージのサンプル
サーバー・トランザクションに渡されるリクエスト・メッセージには、I/O PCBのLTERMフィールド内にあるトランザクション・パイプ(tpipe)の名前が格納されます。セキュリティ機能を使用している場合は、I/O PCBのUSERIDフィールドとGROUPIDフィールドにも、それに関連するデータが格納されます。IMSクライアント・トランザクションは、リモート・システムが提供するサービスに対するリクエストを発行するトランザクションです。IMSクライアント・トランザクションとOTMAクライアント・ゲートウェイを使用する前に、DFSYPRX0およびDFSYDRU0 IMSユーザー・イグジットをインストールする必要があります。これらのユーザー・イグジットに関する詳細は、IBM社のドキュメント『Open Transaction Manager Access Guide』を参照してください。これらのイグジットの基本的なサンプルは、「JCLおよびユーザー・イグジットのサンプル」の項を参照してください。
1. エラー・コードについては、「エラー・コードと理由コード」の項で説明しています。 理由コードについては、「エラー・コードと理由コード」の項で説明しています。 このリクエストに関連付けられている端末の名前(IMS LTERM)。たとえば、端末メッセージを処理するトランザクションからリクエストが発行される場合、この名前は、関連付けられている端末の名前になります。
どのクライアント・リクエストも所定のレスポンス・トランザクションが関連付けられている必要があります(リクエスト自体にはアプリケーション・レベルのレスポンスが要求されていないとしても)。TMA TCP for IMS製品は、エラーが発生してリクエストを処理できない場合に備えて、レスポンス・トランザクションをスケジュールします(たとえば、リクエストが正しくフォーマットされていない可能性がある場合、指定サービスが使用できない可能性がある場合など)。TMA TCP for IMSゲートウェイは、処理先のリモート・システムに送信される各リクエストを監視します。レスポンスが要求されており、規定の時間内に受信されない場合、リクエストはタイムアウトになります。
•
•
フィールド操作言語(FML)バッファは、可変長で動的な自己記述型のバッファです。バッファ内のフィールドごとにその属性を表す専用のヘッダーが関連付けられます。Oracle Tuxedo製品では、FMLバッファとVIEWバッファは密接な関係にあり、相互に直接変更できます。
• CARRAYフィールドは、そのままのバイトの並びで変換されずに渡されます。
• STRINGおよびCHARフィールドは(必要に応じて)ASCIIからEBCDICに変換されます。
•
• FLOATおよびDOUBLEフィールドはそれぞれ、COMP-1とCOMP-2に変換されます。
注意: Oracle Tuxedo製品には、VIEW内に、10進数値をサポートするdec_t_tという名前のフィールド・タイプがあります。TMA TCP for IMSゲートウェイは、これらのフィールドをマシンに依存しない表現形態であるパック10進数に変換します。たとえば、dec_t(m,n)とすると、S9(2*m-(n+1))V9(n) COMP-3という結果になります。したがって、8,5というサイズの10進数のフィールドはS9(10)V9(5) COMP-3になります。
• 入出力バッファおよびレコードのVIEW定義の開発に役立つ情報IMSアプリケーションによって使用される入出力バッファのVIEW定義を作成する際に、文字列フィールドで使用されるNULL終端文字を含む余分な部分まで指定しないでください。たとえば、リモートのIMSアプリケーション・プログラム側では入力レコードの文字数が10文字であることを前提としている場合は、そのフィールドには、10+1 (NULL終端文字も含む長さ)ではなく、10と指定してください。
注意: TMA TCP Gatewayによって実行される文字セットの変換は、X/Openポータビリティ・ガイドに従って、全面的に各国の言語に対応させることができます。ASCIIとEBCDICとの間の変換は、メッセージ・ファイルから読み込むことができます。TMA TCP Gateway製品のデフォルトの動作で、ほとんどの英語版のアプリケーションの要件を満たすはずです。しかし、表のカスタマイズが必要になることもあります。詳細な手順は、Oracle Tuxedo Mainframe Adapter for TCP Gatewayユーザーズ・ガイドを参照してください。たとえば、double型のFMLフィールドをリモートの送信先システム環境のパック10進数フィールドに変換するには、その処理に適したdec_t type VIEW要素を指定します。また、数値と文字列との間でも変換が可能です。たとえば、FMLバッファをdec_t型に直接変換することはできませんが、10進数値を文字列フィールドに格納し、そのフィールドをVIEW定義のdec_tフィールドにマップすることができます。