BEA Logo BEA Tuxedo Release 8.0

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

 

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

 


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)

 

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