BEA Logo BEA Tuxedo Release 8.0

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

 

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

 


TPCONNECT(3cbl)

名前

TPCONNECT()- 会話接続の確立

形式

01 TPSVCDEF-REC.
COPY TPSVCDEF.

01
TPTYPE-REC.
COPY TPTYPE.

01
DATA-REC.
COPY User data.

01
TPSTATUS-REC.
COPY TPSTATUS.

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

機能説明

TPCONNECT() により、プログラムは会話サービス、TPSVDEF-REC 内の SERVICE-NAME との半二重接続をセットアップできます。 この名前は、会話サーバがポストした会話サービス名の1つでなければなりません。

呼び出し元は、接続セットアップ処理の一部として、アプリケーション定義データを受信サービス・ルーチンに渡すことができます。呼び出し元がデータを渡すことを選択した場合には、DATA-REC にはデータが入り、TPTYPE-REC 内の LEN は送信するレコードの大きさを指定します。 ただし、DATA-REC が長さの指定を必要としないタイプのレコードである場合 LEN は無視されます (0 でかまいません)。 TPTYPE-REC 内の REC-TYPESPACES である場合、DATA-REC および LEN は無視されます (アプリケーション・データは会話サービスに渡されません)。 REC-TYPE および TPTYPE-REC 内の SUB-TYPE は、SERVICE-NAME が認識するタイプおよびサブタイプと一致しなければなりません。

TPSVCSTART() の正常終了時には会話サービスは DATA-REC および LEN を受け取るので、TPCONNECT() が送信したデータを獲得するために、会話サービスが TPRECV() を呼び出すことはありません。

次に、TPSVCDEF-REC の有効な設定の一覧を示します。

TPNOTRAN

呼び出し元がトランザクション・モードにあり、この設定を使用していると、SERVICE-NAME が呼び出されても、呼び出し元のトランザクションの一部として実行されません。トランザクションをサポートしないサーバに SERVICE-NAME が属しており、呼び出し元がトランザクション・モードにある場合は、この設定を指定しなければなりません。 このフラグ設定を使用するトランザクション・モードの呼び出し元は、依然としてトランザクション・タイムアウトの対象となります (それ以外はなし)。 この設定を使用した状態で呼び出されたサービスが正常に実行できない場合、呼び出し元のトランザクションは影響を受けません。TPNOTRAN または TPTRAN が設定されていなければなりません。

TPTRAN

呼び出し元がトランザクション・モードにあり、この設定が使用されていると、SERVICE-NAME が呼び出されたときに、このプログラムは呼び出し元のトランザクションのために実行されます。 呼び出し元がトランザクション・モードにない場合、この設定は無視されます。TPNOTRAN または TPTRAN が設定されていなければなりません。

TPSENDONLY

呼び出し元は、最初にそれがデータの送信のみを行え、呼び出されたサービスはデータの受信のみを行えるよう接続を設定します (つまり、呼び出し元が当初の接続の制御権を有するように)。 TPSENDONLY または TPRECVONLY のいずれかを指定しなければなりません。

TPRECVONLY

呼び出し元は、それがデータの受信のみを行え、呼び出されたサービスがデータの送信のみを行えるように接続を設定します (つまり、呼び出されるサービスが当初、接続の制御権を有するように)。 TPSENDONLY または TPRECVONLY のいずれかを指定しなければなりません。

TPNOBLOCK

ブロッキング条件が存在する場合、接続が設定されず、データが送信されません (たとえば、メッセージが送信されるときに使用されるデータ・バッファがいっぱいである場合)。TPNOBLOCK または TPBLOCK が設定されていなければなりません。

TPBLOCK

TPBLOCK がセットされ、ブロッキング条件が存在する場合は、呼び出し元はブロッキング条件が消失するか、またはタイムアウト (トランザクション・タイムアウト、またはブロッキング・タイムアウト) が発生するまでブロックします。TPNOBLOCK または TPBLOCK が設定されていなければなりません。

TPNOTIME

この設定は、呼び出し元が無制限にブロックでき、ブロッキング・タイムアウトの影響を受けないようにすることを指定します。 トランザクション・タイムアウトは引き続きプログラムに対して有効です。TPNOTIME または TPTIME が設定されていなければなりません。

TPTIME

このフラグは、ブロッキング条件が存在し、ブロッキング時間に達すると、呼び出し元がブロッキング・タイムアウトを受け取ることを示します。TPNOTIME または TPTIME が設定されていなければなりません。

TPSIGRSTRT

シグナルが関数内部のシステム・コールを中断させると、呼び出しが再度出されます。 TPNOSIGRSTRT または TPSIGRSTRT が設定されていなければなりません。

TPNOSIGRSTRT

TPNOSIGRSTRT を指定しているときにシグナルが関数内部のシステム・コールを中断させると、その呼び出しは異常終了し、TP-STATUSTPGOTSIG() が設定されます。 TPNOSIGRSTRT または TPSIGRSTRT が設定されていなければなりません。

戻り値

TPCONNECT() は正常終了時には、TP-STATUS に [TPOK] を設定し、TPSVDEF-REC 内の COMM-HANDLE に通信ハンドルを返します。このハンドルは、以降の呼び出しにおいて接続を参照するために使用されます。

エラー

次の条件が発生すると、TPCONNECT() は異常終了し、TP-STATUS に次の値を設定します。 特に説明がなければ、この障害は呼び出し元のトランザクションには影響しません。

[TPEINVAL]

無効な引数が指定されました (TPSVCDEF-REC の設定が無効など)。

[TPENOENT]

SERVICE-NAME が存在しないか、会話サーバでないため、SERVICE-NAME への接続を行えません。

[TPEITYPE]

REC-TYPE および SUB-TYPE が、SERVICE-NAME が受け付けるタイプおよびサブタイプではありません。

[TPELIMIT]

未終了の接続の最大数に達したため、接続が送られませんでした。

[TPETRAN]

SERVICE-NAME はトランザクションをサポートしないプログラムに属していますが、TPNOTRAN が設定されていませんでした。

[TPETIME]

タイムアウトが発生しました。 呼び出し元がトランザクション・モードの場合は、トランザクション・タイムアウトが発生し、そのトランザクションは「アボートのみ」とマークされます。トランザクション・モードでない場合、ブロッキング・タイムアウトが発生し、TPBLOCKTPTIME の両方が指定されていました。 トランザクション・タイムアウトが発生すると、トランザクションがアボートされない限り、接続を使ったメッセージの送受信や新しい接続の開始はできません。これらの操作を行おうとすると、[TPETIME] が発生して失敗します。

[TPEBLOCK]

ブロッキング条件が存在し、TPNOBLOCK が指定されていました。

[TPGOTSIG]

シグナルを受け取りましたが、TPSIGRSTRT が指定されていませんでした。

[TPEPROTO]

TPCONNECT() の呼び出し方法が不適切です。

[TPESYSTEM]

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

[TPEOS]

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

関連項目

TPDISCON(3cbl)TPRECV(3cbl)TPSEND(3cbl)

 

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