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

Tuxedo COBOL リファレンス

 Previous Next Contents View as PDF  

TPBROADCAST(3cbl)

名前

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.

機能説明

tpbroadcast() は、クライアント・プロセスやサーバ・プロセスがシステム内に登録されているクライアントに任意通知型メッセージを送ることができるようにします。ターゲット・クライアント・セットは、tpbroadcast() に渡されるワイルドカード以外の識別子すべてと一致するクライアントで構成されます。識別子の指定にワイルドカードを使用できます。

LMIDUSRNAME および CLTNAME は、すべて TPBCTDEF-REC に入り、ターゲット・クライアント・セットの選択に使用する論理識別子です。論理識別子の SPACES 値は、その引数のワイルドカードとなります。ワイルドカード引数は、そのフィールドの全クライアント識別子と一致します。各識別子は、システムが有効とみなすよう定義されたサイズの制約事項を満たさなければなりません。つまり、各識別子の長さは 0 から 30 文字まででなければなりません。

要求のデータ部は、DATA-REC によって識別され、TPTYPE-REC 内の LEN は、送信する DATA-REC の大きさを指定します。ただし、DATA-REC が長さの指定を必要としないタイプのレコードである場合 LEN は無視されます (0 でかまいません)。TPTYPE-REC 内の REC-TYPESPACES の場合、DATA-REC および LEN は無視され、データ部なしで要求が送られます。

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

TPNOBLOCK

この要求は、ブロッキング条件が存在する場合 (たとえば、メッセージの送信先である内部バッファがいっぱいの場合など) には、送信されません。TPNOBLOCK または TPBLOCK のいずれかが設定されていなければなりません。

TPBLOCK

ブロッキング条件が存在する場合には要求は送られません (たとえば、メッセージの送信先である内部バッファがいっぱいのとき)。TPNOBLOCK または TPBLOCK のいずれかが設定されていなければなりません。

TPNOTIME

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

TPTIME

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

TPSIGRSTRT

ルーチン内部のシステム・コールがシグナルによって中断された場合、中断されたシステム・コールは再発行されます。tpbroadcast() が正常終了した場合には、メッセージはシステムに渡され、選択されたクライアントに転送されます。tpbroadcast() は、選択された各クライアントにメッセージが送られるのを待機しません。TPNOSIGRSTRT または TPSIGRSTRT のいずれかが設定されていなければなりません。

TPNOSIGRSTRT

ルーチン内部のシステム・コールがシグナルによって中断された場合、中断されたシステム・コールは再開されず、この呼び出しは異常終了します。TPNOSIGRSTRT または TPSIGRSTRT のいずれかが設定されていなければなりません。

戻り値

TPBROADCAST() は正常終了時には、TP-STATUS に [TPOK] を設定します。

エラー

次の条件が発生すると、TPBROADCAST() はブロードキャスト・メッセージをアプリケーション・クライアントに送信せず、TP-STATUS に次の値を設定します。

[TPEINVAL]

無効な引数が指定されました。不当な LMID を使用すると、TPBROADCAST() は異常終了し、TPEINVAL() が返されます。ただし、存在しないユーザやクライアントの名前の場合は、どこにもブロードキャストされないだけでこのルーチンは正常に終了します。

[TPETIME]

ブロッキング・タイムアウトが発生しました。ブロッキング・タイムアウトは、TPBLOCKTPTIME の両方が指定された場合にのみ発生します。

[TPEBLOCK]

呼び出し時にブロッキング条件が検出されましたが、TPNOBLOCK が指定されていました。

[TPGOTSIG]

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

[TPEPROTO]

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

[TPESYSTEM]

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

[TPEOS]

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

移植性

TPNOTIFY() に記述されているインターフェイスはすべて、ネイティブ・サイトの UNIX システムベースのプロセッサ上で利用できます。さらに、ルーチン TPBROADCAST()TPCHKUNSOL() およびルーチン TPSETUNSOL() は、UNIX および MS-DOS ワークステーション・プロセッサ上で利用できます。

使用法

シグナル・ベースの通知方法を選択したクライアントは、シグナルに関する制約から、システムがシグナルで通知を制御することはできません。このような状態で通知がなされた場合、システムは、選択されたクライアントに対する通知方法をディップインに切り替えることを示すログ・メッセージを生成し、以後、クライアントにはディップイン方式で通知が行われることになります。(通知方法の詳細については、UBBCONFIG(5) の中の RESOURCES セクションの NOTIFY パラメータの説明を参照してください)。

クライアントのシグナル通知は、常にシステムによって行われるので、元の通知呼び出しがどこで行われるかにかかわらず、通知の形態は一貫しています。したがって、シグナル・ベースの通知を使用するには次の条件が必要です。

アプリケーション管理者の ID は、そのアプリケーションのコンフィギュレーション・ファイルで識別されます。

あるクライアントに対してシグナル・ベースの通知方法を選択すると、いくつかの ATMI 呼び出しは異常終了します。TPSIGRSTRT の指定がなければ、任意通知型メッセージを受け取るため、TPGOTSIG() を返します。通知方法の選択については、UBBCONFIG(5) および TPINITIALIZE(3cbl) を参照してください。

関連項目

TPINITIALIZE(3cbl)TPNOTIFY(3cbl)TPTERM(3cbl)UBBCONFIG(5)

 

Back to Top Previous Next
Contact e-docsContact BEAwebmasterprivacy