![]() |
![]() |
|
|
クライアント・プロセスの例
次の疑似コードは、通常のクライアント・プロセスがアプリケーションに参加してから分離するまでの処理を示しています。
クライアント・プロセスのパラダイム
. . .
Check level of security
CALL TPSETUNSOL to name your handler routine for TPU-DIP
get USRNAME, CLTNAME
prompt for application PASSWD
SET TPU-DIP TO TRUE.
CALL "TPINITIALIZE" USING TPINFDEF-REC
USER-DATA-REC
TPSTATUS-REC.
IF NOT TPOK
error processing
. . .
make service call
receive the reply
check for unsolicited messages
. . .
CALL "TPTERM" USING TPSTATUS-REC.
IF NOT TPOK
error processing
. . .
EXIT PROGRAM.
この例では、TPINITIALIZE は 次の 3 つの引数を取ります。
TPINITIALIZE と TPTERM は、呼び出しが成功すると、TP-STATUS IN TPSTATUS-REC に [TPOK] を返します。いずれのコマンドでもエラーが検出されると、コマンドは失敗し、エラーの原因を示す値が TP-STATUS に設定されます。TPSTATUS-REC は、COBOL の COPY ファイルに定義されています。TP-STATUS の値については、「エラーの管理」 を参照してください。各 ATMI 呼び出しで返される全エラー・コードのリストについては、『BEA Tuxedo COBOL リファレンス』 の 「COBOL アプリケーション・トランザクション・モニタ・インターフェイスの紹介」を参照してください。
次の例は、TPINITIALIZE と TPTERM ルーチンの使用方法を示しています。このコード例は、BEA Tuxedo ソフトウェアに提供されている銀行業務のサンプル・アプリケーション bankapp から引用したものです。
アプリケーションへの参加と分離
IDENTIFICATION DIVISION.
PROGRAM-ID. FIG1-3.
AUTHOR.TUXEDO DEVELOPMENT.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
*
WORKING-STORAGE SECTION.
*****************************************************
* Tuxedo の定義
*****************************************************
01 TPSTATUS-REC.
COPY TPSTATUS.
*
01 TPINFDEF-REC.
COPY TPINFDEF.
*****************************************************
* ログ・メッセージの定義
*****************************************************
01 LOGMSG.
05 FILLER PIC X(10) VALUE "FIG12-3 =>".
05 LOGMSG-TEXT PIC X(50).
01 LOGMSG-LEN PIC S9(9) COMP-5.
*
01 USER-DATA-REC PIC X(75).
******************************************************
PROCEDURE DIVISION.
START-HERE.
MOVE LENGTH OF LOGMSG TO LOGMSG-LEN.
*****************************************************
* システムへのクライアントの登録
*****************************************************
MOVE SPACES TO USRNAME.
MOVE SPACES TO CLTNAME.
MOVE SPACES TO PASSWD.
MOVE SPACES TO GRPNAME.
MOVE ZERO TO DATALEN.
SET TPU-DIP TO TRUE.
*
CALL "TPINITIALIZE" USING TPINFDEF-REC
USER-DATA-REC
TPSTATUS-REC.
IF NOT TPOK
MOVE "TPINITIALIZE FAILED" TO LOGMSG-TEXT
PERFORM DO-USERLOG
PERFORM EXIT-PROGRAM.
*****************************************************
* アプリケーション固有のコード
*****************************************************
. . .
*****************************************************
* アプリケーションからの分離
*****************************************************
CALL "TPTERM" USING TPSTATUS-REC.
IF NOT TPOK
MOVE "TPTERM FAILED" TO LOGMSG-TEXT
PERFORM DO-USERLOG.
EXIT-PROGRAM.
STOP RUN.
*****************************************************
* ユーザ・ログにメッセージを記録
*****************************************************
DO-USERLOG.
CALL "USERLOG" USING LOGMSG
LOGMSG-LEN
TPSTATUS-REC.
この例は、TPINITIALIZE を呼び出すことによって、アプリケーションに参加しているクライアント・プロセスを示しています。エラーが発生すると、USERLOG を呼び出して、中央イベント・ログにメッセージを書き込みます。
![]() |
![]() |
![]() |
|
Copyright © 2001 BEA Systems, Inc. All rights reserved.
|