•
•
• IP CICSソケット・インタフェースを自動的に起動するには、PLTPIでDFHDELIMエントリの後に次のように入力します。IP CICSソケット・インタフェースを自動的に停止するには(IP CICSソケットに対応している他のプログラムも含む)、PLTSDでDFHDELIMエントリの後に次のエントリを入力します。
2. リスナーがgivesocket()関数呼出しを発行
3. ハンドラがtakesocket()関数呼出しを発行
a. ハンドラがCICS LINKコマンドを発行して、TMA TCPプロトコル・ヘッダーに指定されているプログラムを実行します。Oracle Tuxedoサービス・リクエストの送信元のクライアント・アプリケーションからリクエスト・データが渡されている場合は、そのリクエスト・データがLINKコマンドから渡されます。
a. ハンドラからEXEC CICS START TRANS呼出しが発行されますが、この呼出しでは、TMA TCPプロトコル・ヘッダーに指定されるサービスに応じて着信サービス・ファイルに指定したトランザクションが使用されます。このトランザクションは、アプリケーション・ハンドラ・プログラムと同じにする必要があります。
注意: セキュリティが有効な場合、EXEC CICS START TRANSID呼出しは、TMA TCPプロトコル・ヘッダーに指定されているユーザーIDを使用します。tpacall/TPNOREPLYリクエストの場合は、リモート・プログラムがCICS START TRANSIDコマンドで呼び出された後に、呼出し元にデータが戻されません。この場合は、サービスに対して一意のトランザクションを定義する必要があります。着信サービス情報画面を使用して、この一意のトランザクション名を入力するようにし、アプリケーション・ハンドラ起動用のトランザクション名は使用しないようにします。アクティブなTMA TCP for CICSプログラムを強制終了するには、付属の停止用トランザクションBDWNを使用します。オプションの指定内容によっては、リクエストの処理がすべて完了してから、すべてのハンドラを停止することもできます。導入先によっては、インストール時にBDWNトランザクションの名前が変更されることがあるため、名前を確認するようにしてください。リスト2-1 ハンドラの場合のBDWNコマンド行構文すべてのハンドラ、すべてのリクエスタ、またはその両方を停止します。共有メモリーを割り当てた後にハンドラが異常終了したため解放されなかった共有メモリーの解放も行います。BDWNトランザクションのオプション・パラメータの指定内容に応じて、ハンドラをすぐに停止することも、すべてのリクエストの処理完了後に停止することもできます。デフォルトは、ALLです。これはBDWNのデフォルトです。すべてのハンドラを停止しますが、受信したすべてのリクエストの処理が完了してから、BDWNトランザクションを実行します。このパラメータを指定した場合は、異常終了したハンドラの共有メモリーを解放します。どのリクエスタも停止しません。
1. CICSクライアント・プログラム(ユーザーのプログラム)が、EXEC CICS LINK コマンドをTMA TCP for CICSの前処理リクエスタに発行します。
6.
• 管理ツール(「Oracle TMA TCP for CICSの構成および管理」に記載)を使用して、リクエスタを無効にする方法。この方法の場合、選択されたリクエスタは、自身の表を空にし、すべてのリクエスタの処理が完了してから停止します。また、サービス・リクエストからそれを呼び出すことができなくなります。リクエスタを有効にできる状態になったら、管理ツールを使用してリクエスタを有効にします。
• 付属の停止トランザクションBDWNを使用する方法。この方法の場合は、リクエストの処理がすべて完了してから、すべてのリクエスタが停止されます。導入先によっては、BDWNトランザクションの名前がインストール時に変更されていることがあります。TMA TCP for CICSのインストール担当者に確認してください。リスト2-2 リクエスタの場合のBDWNコマンド行構文すべてのハンドラ、リクエスタ、またはその両方を停止します。その他に、論理マシン識別子(LMID)ごとに関連付けられている、リクエスタの共有メモリーを解放します。BDWNトランザクションのオプション・パラメータの指定内容に応じて、ハンドラまたはリクエスタをすぐに停止することも、すべてのリクエストの処理が完了してから停止することもできます。デフォルトは、ALLです。これはBDWNのデフォルトです。すべてのリクエスタを停止しますが、すべてのリクエストの処理が完了してから、BDWNトランザクションを実行します。また、各LMIDに関連付けられているメモリーを解放します。このパラメータを指定する場合、ハンドラは停止しません。
表2-1 Oracle Tuxedoの用語 FML(フィールド操作言語)バッファは、可変長で動的な自己記述型のバッファです。バッファ内のフィールドごとにその属性を表す専用のヘッダーが関連付けられます。Oracle Tuxedoでは、FMLバッファとVIEWバッファは密接な関係にあり、相互に直接変更できます。
表2-2 データ変換のルール STRING とCHAR
注意:
この項には、入出力バッファおよびレコードのVIEW定義の開発に役立つ情報を記載しています。また、TMA TCP Gateway環境で文字列データと数値データがどのように扱われるのかについても記載してします。CICSアプリケーションによって使用される入出力レコードのVIEW定義を作成する際に、文字列フィールドで使用されるNULL終端文字を含む余分な位置まで指定しないでください。
注意: TMA TCP Gatewayによって実行される文字セット変換は全面的に、XPG(X/Openポータビリティ・ガイド)に従って完全にローカライズできます。ASCIIとEBCDICとの間の変換は、メッセージ・ファイルから読み込むことができます。TMA TCP Gatewayソフトウェアのデフォルトの動作で、ほとんどの英語版のアプリケーションの要件を満たすはずですが、表のカスタマイズが必要になることもあります。詳細な手順は、Oracle TMA TCP Gatewayユーザーズ・ガイドを参照してください。たとえば、double型のFMLフィールドをリモートの送信先システム環境のパック10進数フィールドに変換するには、その処理に適したdec_t type VIEW要素を指定します。また、数値と文字列との間でも変換が可能です。たとえば、FMLバッファをdec_t型に直接変換することはできませんが、10進数値を文字列フィールドに格納し、そのフィールドをVIEW定義のdec_tフィールドにマップすることができます。