BEA Logo BEA Tuxedo Release 8.0

  BEA ホーム  |  イベント  |  ソリューション  |  パートナ  |  製品  |  サービス  |  ダウンロード  |  ディベロッパ・センタ  |  WebSUPPORT

 

   Tuxedo ホーム   |   BEA Tuxedo COBOL リファレンス   |   先頭へ   |   前へ   |   次へ   |   目次

 


TPSVCSTART(3cbl)

名前

TPSVCSTART() - BEA Tuxedo ATMI のサービスの開始

形式

01 TPSVCDEF-REC.
COPY TPSVCDEF.

01
TPTYPE-REC.
COPY TPTYPE.

01
DATA-REC.
COPY User data.

01
TPSTATUS-REC.
COPY TPSTATUS.

CALL "TPSVCSTART" USING
TPSVCDEF-REC TPTYPE-REC DATA-REC TPSTATUS-REC.

機能説明

TPSVCSTART() は、サービス・ルーチンをコーディングする際に最初に呼び出す BEA Tuxedo ATMI のルーチンです。 実際、サービス・ルーチン内で TPSVCSTART() より先にほかの呼び出しを行うと、エラーになります。 TPVCSTART() は、サービスのパラメータおよびデータを取り出すために使用されます。 このルーチンは、ルーチン TPCALL() または TPACALL() を介して要求を受け取るサービス、およびルーチン TPCONNECT()TPSEND() および TPRECV() を介して通信を行う会話サービスの両方に使用できます。

ルーチン TPCALL()TPACALL() または TPFORWAR() による要求を処理するサービス・ルーチンは、最大 1 つの着信メッセージを受け取り (TPSVCSTART が正常に終了したとき)、最大 1 つの応答を送ります (TPRETURN() によってサービス・ルーチンを終了したとき)。

一方、会話サービスは、最大 1 つの着信メッセージとオープン接続の参照手段とともに、接続要求により呼び出されます。 TPSVCSTART() が正常に終了すると、接続元プログラムまたは会話サービスは、アプリケーションで定義されるとおりにデータの送受信を行うことができます この接続は半二重方式で確立されます。つまり、接続の一方の側は、他方から明示的に制御を渡されるまで、会話を制御することはできません (データを送信できません)。

トランザクションとの関連で言えば、サービス・ルーチンはトランザクション・モードで呼び出されると、1 つのトランザクションにしか参加できません。 サービス・ルーチン作成者側から見るかぎり、トランザクションはサービス・ルーチンから返った時点で終了します。 サービス・ルーチンは、トランザクション・モードで呼び出されなかった場合、TPBEGIN()TPCOMMIT() および TPABORT() を使用して必要な回数だけトランザクションを起動できます。 ただし、トランザクションの終了には TPRETURN() を使用しません。 したがって、サービス・ルーチン内から起動された未終了のトランザクションについて、TPRETURN() を呼び出すと、エラーになります。

DATA-REC は、サービスのデータが読み込まれる場所を指定し、TPTYPE-REC 内の LEN は、DATA-REC に移動される最大バイト数を示します。 TPSVCSTART の正常終了時には、DATA-REC に移動された実際のバイト数が LEN に入ります。 TPTYPE-REC 内の REC-TYPE および SUB-TYPE にはそれぞれデータのタイプおよびサブタイプが入ります。 メッセージが DATA-REC より大きい場合は、DATA-REC にはこのレコードに入るバイト数分のみが入ります。メッセージの残りは破棄され、TPSVCSTART()TPTRUNCATE() を設定します。

正常終了時に LEN0 である場合は、サービスには着信データがなく、DATA-REC は変更されていません。 入力時に LEN0 にすると、エラーになります。

正常終了時には、TPSVCDEF-REC 内の SERVICE-NAME は、要求元のプログラムがサービスの起動に使用したサービス名が入ります。

TPSVCSTART() の終了時の TPSVCDEF-REC 設定は、次のようになります。

TPREQRSP

サービスは、TPCALL() または TPACALL() を使用して起動されました。 この設定は、TPCONV と相互に排他的です。

TPCONV

サービスは、TPCONNECT() を使用して起動されました。 この会話用の通信ハンドルは、TPSVCDEF-REC 内の COMM-HANDLE に入っています。 この設定は、TPREQRSP と相互に排他的です。

TPNOTRAN

サービス・ルーチンはトランザクション・モードにありません。 この設定は、TPTRAN と相互に排他的です。

TPTRAN

サービス・ルーチンはトランザクション・モードにあります。 この設定は、TPNOTRAN と相互に排他的です。

TPNOREPLY

サービス・ルーチンの呼び出し元プログラムは応答を期待していません。 この設定は、TPREQRSP が設定されている場合のみ有効です。 この設定は、TPREPLY と相互に排他的です。

TPREPLY

サービス・ルーチンの呼び出し元プログラムは応答を期待しています。 この設定は、TPREQRSP が設定されている場合のみ有効です。 この設定は、TPNOREPLY と相互に排他的です。

TPSENDONLY

サービスは、接続を介してデータの送信のみ可能で、接続の他方の側のプログラムはデータの受信しかできないよう呼び出されます。 この設定は、TPCONV が設定されている場合のみ有効です。 この設定は、TPRECVONLY と相互に排他的です。

TPRECVONLY

サービスは、接続を介してデータの受信のみ可能で、接続の他方の側のプログラムはデータの送信しかできないよう呼び出されます。 この設定は、TPCONV が設定されている場合のみ有効です。 この設定は、TPSENDONLY と相互に排他的です。

TPSVCDEF-REC 内の APPKEY は、アプリケーション側で定義した認証サービスが要求クライアント・プログラムに割り当てるアプリケーション・キーに設定します。 このキー値は、このサービス・ルーチンの今回の呼び出し中になされたあらゆるサービス要求とともに渡されます。 アプリケーション認証サービスを通らないクライアントを起動する場合には、APPKEY の値は-1 になります。 このようなクライアントには、保護アプリケーションとの相互運用性を有する以前のリリース・レベルのクライアントがあります。

戻り値

TPSVCSTART() は正常終了時には、TP-STATUS に [TPOK] を設定します。 着信メッセージの大きさが入力時に LEN に指定されたより大きい場合、TPTRUNCATE() が設定され、LEN 分のデータのみが DATA-REC に移動されて残りのデータは破棄されます。

エラー

次の条件が発生すると、TPSVCSTART() は異常終了し、TP-STATUS に次の値を設定します。

[TPEINVAL]

無効な引数が指定されました。

[TPEPROTO]

TPSVCSTART() が不正なコンテキストで呼ばれました。.

[TPESYSTEM]

BEA Tuxedo システムのエラーが発生しました。エラーの正確な内容はログ・ファイルに書き込まれます。

[TPEOS]

オペレーティング・システムのエラーが発生しました。

関連項目

buildserver(1)TPBEGIN(3cbl)TPCALL(3cbl)TPCONNECT(3cbl)TPINITIALIZE(3cbl)TPOPEN(3cbl)TPSVRDONE(3cbl)TPSVRINIT(3cbl)

 

先頭へ戻る 前のトピックへ 次のトピックへ