bea ホーム | 製品 | dev2dev | support | askBEA
BEA Logo Tuxedo
 ドキュメントのダウンロード   サイトマップ   用語集 
検索
0

Tuxedo COBOL リファレンス

 Previous Next Contents View as PDF  

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]

このエラー・コードは、タイムアウトが発生したか、または現在のトランザクションがすでに「ロールバックのみ」とマークされているにもかかわらず TPCONNECT() が試行されたことを示します。

呼び出し元がトランザクション・モードにある場合、トランザクションはすでに「ロールバックのみ」になっているか、またはタイムアウトが発生しています (中途終了マークが付けられる)。呼び出し元がトランザクション・モードにない場合、ブロッキング・タイムアウトが発生しています。ブロッキング・タイムアウトは、TPBLOCKTPTIME の両方が指定された場合にのみ発生します。

トランザクション・タイムアウトが発生すると、1 つの例外を除き、トランザクションがアボートされない限り、新しいリクエストを送信したり、未処理の応答を受信しようとしても、TPETIME で異常終了します。例外は、ブロックされず、応答を期待せず、かつ呼び出し元のトランザクションのために送信されない要求 (つまり、TPNOTRANTPNOBLOCK、および TPNOREPLY が設定された状態で TPACALL() が呼び出される場合) です。

サービスがトランザクション内部で失敗すると、そのトランザクションは TX_ROLLBACK_ONLY 状態になります。ほとんどの場合、この状態はタイムアウトと同じものとして扱われます。このトランザクションの以降の ATMI 呼び出しは、TPETIME で異常終了します (前の段落で説明した例外を除く)。

[TPGOTSIG]

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

[TPEPROTO]

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

[TPESYSTEM]

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

[TPEOS]

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

関連項目

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

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy