COBOLを使用したOracle Tuxedoアプリケーションのプログラミング

     前  次    新規ウィンドウで目次を開く    PDFとして表示 - 新規ウィンドウ  Adobe Readerを入手 - 新規ウィンドウ
コンテンツはここから始まります

イベント・ベースのクライアントおよびサーバーのコーディング

このトピックには次の項が含まれます:

 


イベントの概要

イベント・ベースの通信では、特定の状況(イベント)が発生すると、Oracle Tuxedoシステムのプロセスに通知されます。

Oracle Tuxedoシステムには、次の2種類のイベント・ベースの通信があります。

非請求イベント

非請求イベントは、メッセージを待たないクライアント・プログラム、またはメッセージを要求しないクライアント・プログラムとの通信に使用されるメッセージです。

ブローカ・イベント

ブローカ・イベントを使用すると、メッセージの受信と配信を行う無名ブローカを介して、クライアントとサーバーが透過的に通信できるようになります。このようなブローカを使用した通信は、Oracle Tuxedoシステムの基本要素であるクライアント/サーバーの通信パラダイムの1つです。

イベント・ブローカは、イベント・ポスト・メッセージを受信してフィルタし、それらのメッセージをサブスクライバに配布するOracle Tuxedoのサブシステムです。ポスト元とは、特定のイベントが発生したときにそれをイベント・ブローカに報告(ポスト)するOracle Tuxedoシステムのプロセスです。サブスクライバとは、特定のイベントがポストされたときに常に通知する必要があるOracle Tuxedoシステムのプロセスです。

Oracle Tuxedoシステムでは、サービスのリクエスタとプロバイダの数の比率が一定である必要はなく、任意の数のポスト元が任意の数のサブスクライバに対してメッセージをポストできます。ポスト元は単にイベントをポストするだけで、情報を受信するプロセスや、情報の処理方法については関知しません。サブスクライバには指定されたイベントが通知されますが、その情報のポスト元は通知されません。このように、イベント・ブローカでは位置透過性が実現されます。

通常、イベント・ブローカ・アプリケーションは、例外イベントを処理します。アプリケーションの設計者は、アプリケーション内でどのイベントを例外イベントとして定義してモニターする必要があるのかを決定しなければなりません。たとえば、銀行業務アプリケーションでは、高額な引出しがあったときにイベントがポストされるように設定し、すべての引出しに対してイベントがポストされる必要はありません。また、すべてのユーザーがそのイベントをサブスクライブする必要はありません。支店長だけに通知すれば十分です。

通知処理

イベントがポストされると、EventBrokerはイベントをサブスクライブしているクライアントまたはサーバー(あるいは両方)に対して、1つ以上の通知処理を実行します。表8-1は、EventBrokerが実行する通知処理の種類を示しています。

表8-1 イベント・ブローカの通知処理
通知処理
説明
非請求通知メッセージ
クライアントは、TPNOTIFYルーチンで送信された場合と同じように、クライアントの非請求メッセージ処理ルーチンでイベント通知メッセージを受信します。
サービス呼出し
サーバーは、TPACALLによって送信された場合と同じように、サービス・ルーチンに対する入力としてイベント通知メッセージを受け取ります。
信頼性の高いキュー
イベント通知メッセージは、TPDEQUEUE(3cbl)を使用して、Oracle Tuxedoシステムの高信頼性キューに格納されます。イベント通知レコードは、コンテンツへのリクエストが発行されるまで格納されます。Oracle Tuxedoシステムのクライアントまたはサーバー・プロセスでTPDEQUEUE(3cbl)を呼び出して、この通知レコードを取り出すことができます。または、TMQFORWARD(5)を設定して、通知レコードを取り出すOracle Tuxedoシステムのサービス・ルーチンを自動的にディスパッチすることもできます。
/Qの詳細は、『ATMI /Qコンポーネントの使用』を参照してください。

アプリケーション管理者は、Oracle Tuxedoの管理用APIを使用して、次の通知処理を行うEVENT_MIB(5)エントリを作成できます。

注: EVENT_MIB(5)エントリを作成できるのは、Oracle Tuxedoアプリケーション管理者だけです。

EVENT_MIB(5)の詳細は、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』を参照してください。

イベント・ブローカ・サーバー

TMUSREVTはOracle Tuxedoシステムで提供されるサーバーで、ユーザー定義のイベントに対するイベント・ブローカとして動作します。TMUSREVTはイベント・レポート用のメッセージ・レコードを処理し、それらのレコードをフィルタして配信します。イベントのブローカ処理を行うには、Oracle Tuxedoアプリケーション管理者がこれらのサーバーを1つ以上起動する必要があります。

TMSYSEVTはOracle Tuxedoシステムで提供されるサーバーで、システム定義のイベントに対するイベント・ブローカとして動作します。TMSYSEVTTMUSREVTは似ています。ただし、別個のサーバーが提供されているので、アプリケーション管理者はこの2種類のイベント通知の処理について様々なレプリケーション戦略を持つことができます。詳細については、『Oracle Tuxedoアプリケーションの設定』を参照してください。

システム定義のイベント

Oracle Tuxedoシステムでは、システムの警告と障害に関連する定義済の特定のイベントが検出されてポストされます。これらの処理はイベント・ブローカによって行われます。たとえば、システム定義のイベントには、設定の変更、状態の変更、接続の障害、マシンの分断などがあります。イベント・ブローカによって検出されるシステム定義のイベントの全リストについては、『ファイル形式、データ記述、MIBおよびシステム・プロセス・リファレンス』「EVENTS(5)」を参照してください。

システム定義のイベントは、Oracle Tuxedoシステム・コードで定義されているため、ポストする必要はありません。システム定義のイベント名は、アプリケーション定義のイベント名とは異なり、必ずドット(.)で始まります。アプリケーション定義のイベント名をドットで始めることはできません。

クライアントとサーバーは、システム定義のイベントをサブスクライブできます。ただし、システム定義のイベントは、アプリケーション内のすべてのクライアントが使用するのではなく、主にアプリケーション管理者が使用します。

イベント・ブローカをアプリケーションに組み込む場合、イベント・ブローカが多数のサブスクライバに大量の配信を行うためのシステムではないことを考慮してください。発生するすべての動作に対してイベントをポストしないでください。また、すべてのクライアントとサーバーがイベントをサブスクライブする必要はありません。イベント・ブローカに負荷がかかると、システムのパフォーマンスに影響し、通知が行われなくなる場合があります。負荷を最小限にするには、『Oracle Tuxedoシステムのインストール』で説明するように、アプリケーション管理者がオペレーティング・システムのIPCリソースを慎重に調整する必要があります。

イベント・ブローカ・プログラミング・インタフェース

イベント・ブローカ・プログラミング・インタフェースは、ワークステーションを含むすべてのOracle Tuxedoシステムのサーバー・プロセスおよびクライアント・プロセスに対してC言語およびCOBOL言語で使用できます。

プログラマは、次の処理をコーディングします。

  1. クライアントまたはサーバーは、アプリケーション定義のイベント名にレコードをポストします。
  2. ポストされたレコードは、そのイベントをサブスクライブしている任意の数のプロセスに転送されます。

サブスクライバへの通知方法には様々な方法(「通知処理」を参照)があり、イベントはフィルタされます。通知処理とフィルタリングは、プログラミング・インタフェースとOracle Tuxedoシステムの管理用APIを使用して設定します。

 


非請求メッセージ・ハンドラの定義

非請求メッセージ・ハンドラを定義するには、次のシグネチャを使用してTPSETUNSOL(3cbl)ルーチンを呼び出します。

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を使用すると、非請求メッセージがOracle Tuxedoシステム・ライブラリによって受信されたときに呼び出されるルーチンをクライアントが識別できるようになります。TPSETUNSOLを初めて呼び出す前に、クライアントに代わってOracle Tuxedoシステム・ライブラリが受信した非請求メッセージはログに記録されるだけで無視されます。システムが通知や検出に使用する処理方法は、アプリケーションのデフォルト設定によって決まります。このデフォルト設定は、クライアントごとに変更できます。詳細については、『Oracle Tuxedo ATMI COBOL関数リファレンス』「TPINITIALIZE (3cbl)」を参照してください。

CURR-ROUTINEパラメータは、非請求メッセージを処理する16種類の定義済ルーチンを識別します。これらのルーチンには、Cルーチンとしてはtm_displatch1 - _tm_dispatch8の8種類、COBOLルーチンとしてはTMDISPATCH9 - TMDISPATCH16の8種類があります。(また、CURR-ROUTINEに0を設定した場合、Oracle Tuxedoシステム・ライブラリがクライアントに代わって受信した非請求メッセージはログに記録されるだけで無視されます。)Cルーチンは、TPSETUNSOL(3cbl)のパラメータ定義に準拠している必要があります。COBOLルーチンを使用する場合は、TPGETUNSOLを呼び出してデータを受信する必要があります。

次のサンプル・コードは、COBOLプログラムでの非請求ルーチンの設定方法を示しています。

リスト8-1 非請求ルーチンの設定
*
* Call TPSETUNSOL - Set a COBOL unsolicited message handler
* Routine TMDISPATCH9 will be called
*
   MOVE 9 to CURR-ROUTINE.
   CALL "TPSETUNSOL" USING
                       CURR-ROUTINE
                       PREV-ROUTINE
                       TPSTATUS-REC.
   IF NOT TPOK
             Routine TMDISPATCH9 will receive unsolicited messages
   ELSE
             Process error condition

 


非請求メッセージの送信

Oracle Tuxedoシステムでは、リクエスト/レスポンス型呼び出しまたは会話型通信の処理を妨げずに、クライアント・プロセスに非請求メッセージを送信できます。

非請求メッセージは、名前、または以前に処理されたメッセージと共に受信した識別子を使用して、クライアント・プロセスに送信できます。名前による送信にはTPBROADCAST(3cbl)、識別子による送信にはTPNOTIFY(3cbl)を使用します。TPBROADCASTで送信されるメッセージの発信元は、サービスまたは別のクライアントです。TPNOTIFYで送信されるメッセージの発信元は、サービスだけです。

名前によるメッセージのブロードキャスト

TPBROADCAST(3cbl)ルーチンを使用すると、アプリケーションの登録されたクライアントにメッセージが送信されます。これは、サービスまたは別のクライアントから呼び出すことができます。登録されたクライアントとは、TPINITIALIZEを呼び出したが、まだTPTERMを呼び出してはいないクライアントのことです。

TPBROADCASTルーチンの呼出しには、次のシグネチャを使用します。

01 TPBCTDEF-REC.
COPY TPBCTDEF.
01 TPTYPE-REC.
COPY TPTYPE.
01 DATA-REC.
COPY User Data.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPBROADCAST" USING TPBCTDEF-REC TPTYPE-REC DATA-REC TPSTATUS-REC.

表8-2は、PBCTDEF-RECデータ構造体のメンバーを示しています。

表8-2 TPBCTDEF-RECデータ構造体のメンバー
メンバー
説明
LMID
クライアントの論理マシン識別子を指すポインタ。SPACES値をワイルドカードとして使用できるので、複数のクライアントにメッセージを送信できます。
USRNAME
クライアント・プロセスのユーザー名が存在する場合、そのユーザー名。SPACES値をワイルドカードとして使用できるので、複数のクライアントにメッセージを送信できます。
CLTNAME
クライアント・プロセスのクライアント名が存在する場合、そのクライアント名。NULL値をワイルドカードとして使用できるので、複数のクライアントにメッセージを送信できます。
設定値(TPBLOCK-FLAGなど)
TPBROADCASTコマンドの設定値。使用できる設定値については、『Oracle Tuxedo ATMI COBOL関数リファレンス』「TPBROADCAST(3cbl)」を参照してください。

TPTYPE-RECレコードの詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』「サービスの定義」を参照してください。

次のサンプル・コードは、すべてのクライアントを送信先としてTPBROADCASTを呼び出す方法を示しています。送信メッセージは、STRING型レコード内にあります。

リスト8-2 TPBROADCASTの使用
    . . .
**************************************************
* Prepare the record to broadcasted
**************************************************
    MOVE "HELLO, WORLD" TO DATA-REC.
    MOVE 11 TO LEN.
    MOVE "STRING" TO REC-TYPE.
*
    SET TPNOBLOCK TO TRUE.
    SET TPNOTIME TO TRUE.
    SET TPSIGRSTRT TO TRUE.
*
    MOVE SPACES TO LMID.
    MOVE SPACES TO USRNAME.
    MOVE SPACES TO CLTNAME.
    CALL "TPBROADCAST" USING TPBCTDEF-REC
                        TPTYPE-REC
                        DATA-REC
                        TPSTATUS-REC.
    IF NOT TPOK
        error processing

識別子によるメッセージのブロードキャスト

TPNOTIFY(3cbl)ルーチンを使用すると、以前に処理されたメッセージと一緒に受信した識別子を使用してメッセージがブロードキャストされます。これは、サービスからのみ呼び出すことができます。

TPNOTIFYルーチンの呼出しには、次のシグネチャを使用します。

01 TPSVCDEF-REC.
COPY TPSVCDEF.
01 TPTYPE-REC.
COPY TPTYPE.
01 DATA-REC.
COPY User Data.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPNOTIFY" USING TPSVCDEF-REC TPTYPE-REC DATA-REC TPSTATUS-REC.

TPSVCDEF-RECデータ構造体の詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』「グローバル・トランザクションのコーディング」TPTYPE-RECレコードの詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』「サービスの定義」を参照してください。

 


非請求メッセージの確認

クライアントがディップ・イン通知モードで実行されている場合に非請求メッセージがあるかどうかを確認するには、次のシグネチャを使用してTPCHKUNSOL(3cbl)ルーチンを呼び出します。

01 MSG-NUM          PIC S9(9)  COMP-5.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPCHKUNSOL" USING MSG-NUM TPSTATUS-REC.

未処理のメッセージがある場合、TPSETUNSOLで指定された非請求メッセージ処理ルーチンが呼び出されます。処理が終了すると、このルーチンは処理した非請求メッセージの数を返し、[TPOK]にTP-STATUSを設定します。

クライアントがシグナル・ベースまたはスレッド・ベースの通知モードで実行されている場合、またはクライアントが非請求メッセージを無視している場合にこのルーチンを呼び出すと、ルーチンは何も処理を行わずにすぐに制御を戻します。

次の例は、非請求メッセージが到着しているかどうかを確認する方法を示しています。

リスト8-3 非請求メッセージの到着
*
* Check for unsolicited messages
*
    CALL "TPCHKUNSOL" USING MESS-NUM
                       TPSTATUS-REC.
*
    IF TPOK
         IF MESS-NUM IS = 0
             No messages were processed by the
             unsolicited routine
    ELSE
         MESS-NUM number of messages were
            processed by the unsolicited routine
    END-IF
    ELSE
       process error
    END-IF

 


非請求メッセージの取得

非請求メッセージを取得するには、TPGETUNSOL(3cbl)ルーチンを呼び出す必要があります。このルーチンは、非請求メッセージ・ハンドラからのみ呼び出すことができます。TPGETUNSOLルーチンの呼出しには、次のシグネチャを使用します。

01 TPTYPE-REC.
COPY TPTYPE.
01 DATA-REC.
COPY User data.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL "TPGETUNSOL" USING TPTYPE-REC DATA-REC TPSTATUS-REC.

TPTYPE-RECレコードの詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』「サービスの定義」を参照してください。

次の例は、非請求メッセージの取得方法を示しています。

リスト8-4 非請求メッセージの取得
 IDENTIFICATION DIVISION.
 PROGRAM-ID. TMDISPATCH9.
 ENVIRONMENT DIVISION.
 CONFIGURATION SECTION.
 SOURCE-COMPUTER. USL-486.
 OBJECT-COMPUTER. USL-486.
*
 DATA DIVISION.
 WORKING-STORAGE SECTION.
*
 01 TPTYPE-REC.
    COPY TPTYPE.
*
 01 TPSTATUS-REC.
    COPY TPSTATUS.
*
 01 DATA-REC PIC X(1000).
*
 PROCEDURE DIVISION.
*
 A-000.
*
   MOVE "CARRAY" TO REC-TYPE.
   MOVE 1000 TO LEN.
   CALL "TPGETUNSOL" USING TPTYPE-REC
                      DATA-REC
                      TPSTATUS-REC.
   IF NOT TPOK
             error processing
*
   Process message
   DISPLAY "TPGETUNSOL IS TPOK".
   DISPLAY "MESSAGE IS" DATA-REC.
   DISPLAY "LENGTH IS" LEN.
   EXIT PROGRAM.
*

 


イベントのサブスクライブ

TPSUBSCRIBE(3cbl)ルーチンを使用すると、Oracle TuxedoシステムのATMIクライアントまたはサーバーがイベントをサブスクライブできるようになります。

サブスクライバは、非請求通知メッセージ、サービス呼び出し、高い信頼性のキュー、またはアプリケーション管理者が設定する別の通知方法によって、通知を受け取ります。(別の通知方法の設定については、『Oracle Tuxedoアプリケーションの設定』を参照してください。)

TPSUBSCRIBEルーチンの呼出しには、次のシグネチャを使用します。

01  TPEVTDEF-REC.
COPY TPEVTDEF.
01  TPQUEDEF-REC.
COPY TPQUEDEF.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL “TPSUBSCRIBE” USING TPEVTDEF-REC TPQUEDEF-REC TPSTATUS-REC

TPEVTDEF-RECデータ構造体のシグネチャは、次のとおりです。

05 TPBLOCK-FLAG     PIC S9(9) COMP-5.
88 TPBLOCK VALUE 0.
88 TPNOBLOCK VALUE 1.
05 TPTRAN-FLAG PIC S9(9) COMP-5.
88 TPTRAN VALUE 0.
88 TPNOTRAN VALUE 1.
05 TPREPLY-FLAG PIC S9(9) COMP-5.
88 TPREPLY VALUE 0.
88 TPNOREPLY VALUE 1.
05 TPTIME-FLAG PIC S9(9) COMP-5.
88 TPTIME VALUE 0.
88 TPNOTIME VALUE 1.
05 TPSIGRSTRT-FLAG PIC S9(9) COMP-5.
88 TPNOSIGRSTRT VALUE 0.
88 TPSIGRSTRT VALUE 1.
05 TPEV-METHOD-FLAG PIC S9(9) COMP-5.
88 TPEVNOTIFY VALUE 0.
88 TPEVSERVICE VALUE 1.
88 TPEVQUEUE VALUE 2.
05 TPEV-PERSIST-FLAG PIC S9(9) COMP-5.
88 TPEVNOPERSIST VALUE 0.
88 TPEVPERSIST VALUE 1.
05 TPEV-TRAN-FLAG PIC S9(9) COMP-5.
88 TPEVNOTRAN VALUE 0.
88 TPEVTRAN VALUE 1.
*
05 EVENT-COUNT PIC S9(9) COMP-5.
05 SUBSCRIPTION-HANDLE PIC S9(9) COMP-5.
05 NAME-1 PIC X(127).
05 NAME-2 PIC X(127).
05 EVENT-NAME PIC X(31).
05 EVENT-EXPR PIC X(255).
05 EVENT-FILTER PIC X(255).

次の表は、TPEVTDEF-RECデータ構造体のメンバーを示しています。

メンバー
説明
EVENT-COUNT
イベント・カウント。
SUBSCRIPTION-HANDLE
サブスクリプション・ハンドル。
NAME-1NAME-2
キューに登録された空間の名前。サブスクライバがTPEVQUEUEを設定した場合、イベント通知はNAME-1で指定されるキュー・スペースと、NAME-2で指定されるキューに登録されます。
EVENT-NAME
イベント名。
EVENT-EXPR

サブスクライブするイベント。正規表現を含み、NULL文字で終了する最大255文字の文字列を指定します。正規表現は、tpsubscribe(3c)で指定された形式です(『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』を参照)。たとえば、次のようにeventexprを設定します。

  • "\\..*" - 呼出し側は、すべてのシステム定義のイベントをサブスクライブします。
  • "\\.SysServer.*" - 呼出し側は、サーバーに関連するすべてのシステム定義のイベントをサブスクライブします。
  • "[A-Z].*" - 呼出し側は、A - Zの大文字で始まるすべてのユーザー定義のイベントをサブスクライブします。
  • ".*(ERR|err).*" - 呼出し側は、account_errorまたはERROR_STATEなど、イベント名にERRまたはerrを含むすべてのユーザー定義のイベントをサブスクライブします。
EVENT-FILTER
イベント・ブローカがイベントをポストする前に、評価する必要のあるブール型のフィルタ規則を含む文字列。ポストするイベントを受け取ると、イベント・ブローカはそのイベントのデータにフィルタ規則(定義されている場合)を適用します。データがフィルタ・ルールに合格した場合、イベント・ブローカは指定された通知方法を呼び出し、そうでない場合、イベント・ブローカはその通知方法を無視します。呼出し側は、異なるフィルタ・ルールを利用して同じイベントを何度でもサブスクライブすることができます。
イベント・フィルタ機能を使用すると、サブスクライバは通知されるイベントを限定できます。たとえば、$10,000.00を超える額の引出しがあった場合に、イベントがポストされるとします。その場合、サブスクライバがより高い額(たとえば$50,000.00)の通知だけを必要とすることがあります。または、特定の顧客による高額の引出しの通知だけを必要とする場合があります。
フィルタ・ルールは、フィルタ・ルールの適用対象となる型付きレコードによって異なります。フィルタ規則の詳細は、『Oracle Tuxedo ATMI COBOL関数リファレンス』「TPSUBSCRIBE(3cbl)」リファレンス・ページを参照してください。
SETTINGS
(TPBLOCK-FLAG

TPTRAN-FLAG、など)
サーバーの特性を制御するその他の設定。設定値の詳細は、『Oracle Tuxedo ATMI COBOL関数リファレンス』を参照してください。

TPQUEDEF-RECデータ構造体の詳細は、『ATMI /Qコンポーネントの使用』を参照してください。

システム定義のイベントとアプリケーション定義のイベントは、TPSUBSCRIBEルーチンを使用してサブスクライブできます。

サブスクリプション、およびMIBを更新するためにOracle Tuxedoシステムのサーバー・プロセスで実行されるサービス・ルーチンは、信頼されたコードとみなされます。

このルーチンの詳細は、『Oracle Tuxedo ATMI COBOL関数リファレンス』「TPSUBSCRIBE(3cbl)」を参照してください。

 


イベントに対するサブスクリプションの削除

TPUNSUBSCRIBE(3cbl)ルーチンを使用すると、Oracle TuxedoシステムのATMIクライアントまたはサーバーがイベントに対するサブスクリプションを削除できます。

TPUNSUBSCRIBEルーチンの呼出しには、次のシグネチャを使用します。

01  TPEVTDEF-REC.
COPY TPEVTDEF.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL “TPUNSUBSCRIBE” USING TPEVTDEF-REC TPSTATUS-REC

TPEVTDEF-RECデータ構造体の詳細は、「イベントのサブスクライブ」を参照してください。TPQUEDEF-RECデータ構造体の詳細は、『ATMI /Qコンポーネントの使用』を参照してください。

 


イベントのポスト

TPPOST (3cbl)ルーチンを使用すると、Oracle Tuxedo ATMIクライアントまたはサーバーがイベントをポストできます。

TPPOSTルーチンの呼出しには、次のシグネチャを使用します。

01  TPEVTDEF-REC.
COPY TPEVTDEF.
01 TPTYPE-REC.
COPY TPSTATUS.
01 TPDATA-REC.
COPY TPSTATUS.
01 TPSTATUS-REC.
COPY TPSTATUS.
CALL “TPPST” USING TPEVTDEF-REC TPTYPE-REC TPDATA-REC TPSTATUS-REC

TPEVTDEF-RECデータ構造体の詳細は、「イベントのサブスクライブ」TPTYPE-RECレコードの詳細は、『C言語を使用したOracle Tuxedo ATMIアプリケーションのプログラミング』「サービスの定義」を参照してください。


  先頭に戻る       前  次