bea ホーム | 製品 | dev2dev | support | askBEA |
![]() |
![]() |
|
![]() |
e-docs > Tuxedo > Tuxedo COBOL リファレンス > セクション 3(cbl) - COBOL 関数 |
Tuxedo COBOL リファレンス
|
名前
TPSETUNSOL()−任意通知型メッセージの処理方法の設定
形式
01 CURR-ROUTINE PIC S9(9) COMP-5.
01 PREV-ROUTINE PIC S9(9) COMP-5.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPSETUNSOL" USING CURR-ROUTINE PREV-ROUTINE TPSTATUS-REC.
機能説明
TPSETUNSOL() は、任意通知型メッセージが BEA Tuxedo システムのライブラリによって受け取られる際に呼び出すルーチンをクライアントが指定できるようにします。TPSETUNSOL() の最初の呼び出しの前に、BEA Tuxedo ATMI ライブラリがクライアントのために受け取った任意通知型メッセージは記録されますが、無視されます。関数番号 CURR-ROUTINE に 0 を設定して TPSETUNSOL() を呼び出した場合も、同じ結果になります。システムが通知や検出のために使用する方法は、アプリケーションのデフォルトの設定で決まります。このデフォルトは、クライアントごとに変更できます (TPINITIALIZE(3cbl) を参照)。
TPSETUNSOL() の呼び出し時に CURR-ROUTINE に渡されるルーチン番号には、定義済みの 16 のルーチンから 1 つを選択します。ルーチン名は、任意通知型メッセージを処理する C のルーチンの場合は、_tm_dispatch1 から _tm_dispatch8 まで、同じメッセージを処理する COBOL のルーチンの場合は、TMDISPATCH9 から TMDISPATCH16 まででなければなりません。C の関数 (_tm_dispatch1 から _tm_dispatch8 まで) は、tpsetunsol(3c) に記述されているパラメータ定義に準拠していなければなりません。COBOL のルーチン (TMDISPATCH9 から TMDISPATCH16 まで) は、データの受信に TPGETUNSOL() を使用しなければなりません。
C アプリケーションの任意通知型メッセージ処理ルーチン内での処理は、次の BEA Tuxedo 関数に限定されています。tpalloc()、tpfree()、tpgetctxt()、tpgetlev()、tprealloc()、および tptypes()。
COBOL アプリケーションの任意通知型メッセージ処理ルーチン内での処理は、次の BEA Tuxedo 関数に限定されています。TPGETLEV() および TPGETCTXT()。
戻り値
TPSETUNSOL() は正常終了時には、TP-STATUS に [TPOK] を設定し、任意通知型メッセージ処理ルーチンの以前の設定条件を返します。PREV-ROUTINE が 0 の場合、以前に任意通知型メッセージ処理ルーチンが設定されていないことを示し、正常終了です。
エラー
次の条件が発生すると、TPSETUNSOL() は異常終了し、TP-STATUS に次の値を設定します。
移植性
TPNOTIFY() に記述されているインターフェイスはすべて、ネイティブ・サイトの UNIX システムベースのプロセッサ上で利用できます。さらに、ルーチン TPBROADCAST() と TPCHKUNSOL() およびルーチン TPSETUNSOL() は、UNIX および MS-DOS ワークステーション・プロセッサ上で利用できます。
TPSETUNSOL() は Windows、OS/2、および RS6000 では利用できません。ダイナミック・リンク・ライブラリと共用ライブラリの動作方法がこれらの環境では異なるためです。これらのプラットフォーム上で呼び出されると、TPEPROTO() が返されます。これらの環境では、C 言語のインターフェイス tpsetunsol() を使用してハンドラ関数を設定します。
関連項目
TPGETCTXT(3cbl)、TPGETUNSOL(3cbl)、TPINITIALIZE(3cbl)、TPTERM(3cbl)
![]() |
![]() |
![]() |
![]() |
||
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |