Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 プログラム作成リファレンス COBOL言語編


TPADVERTISE

〈このページの構成〉

名称

サービス名の広告

形式

01 SERVICE-NAME PIC X(15).
01 PROGRAM-NAME PIC X(32).
01 TPSTATUS-REC.
   COPY TPSTATUS.
 
CALL "TPADVERTISE" USING SERVICE-NAME PROGRAM-NAME TPSTATUS-REC.

機能

TPADVERTISEは,サーバで提供するサービスを広告します。TPADVERTISEを実行しない場合,サーバのサービスは,ブート時に広告されて,シャットダウンされたときに広告が取り消されます。

TPADVERTISEは,サーバのSERVICE-NAMEを広告します。SERVICE-NAMEは,15文字以下にしてください。ただし,SPACES(空白)は使えません。長過ぎる名称でも有効となりますが,15文字に切り詰められます。切り詰められた名称が ほかのサービス名と一致しないようにしてください。

PROGRAM-NAMEは,サービスプログラムの名称です。このプログラムは,SERVICE-NAMEへのサービス要求がサーバに受信されたら,いつでも起動されます。PROGRAM-NAMEには,SPACES(空白)を設定しないでください。

SERVICE-NAMEがすでにそのサーバで広告されていて,PROGRAM-NAMEが広告されているプログラムと一致した場合は,TPADVERTISEは正常にリターンします(切り詰められた名称が,すでに広告されていた名称と一致していた場合も含みます)。しかし,そのSERVICE-NAMEがすでにそのサーバで広告されていた場合でも,PROGRAM-NAMEが広告されているプログラムと一致しないときは,エラーリターンします(切り詰められた名称が,すでに広告されている名称と一致していた場合にも起こります)。

『データ領域』

『●SERVICE-NAME

応答するサービスのサービス名を設定します。』

『●PROGRAM-NAME

サービスプログラム名を設定します。』

『●TPSTATUS-REC

TPADVERTISEの実行結果を示すリターン値が設定されます。』

リターン値

成功した場合,TPADVERTISEはTP-STATUSにTPOKを設定します。

エラー

次のような場合,TPADVERTISEはエラーリターンして,次のうちどれか一つの値をTP-STATUSに設定します。

TPEINVAL

SERVICE-NAMEかPROGRAM-NAMEのどちらかがSPACES(空白)になっています。またはPROGRAM-NAMEに設定した値が有効な名称ではありません。

TPELIMIT

領域の制限で,SERVICE-NAMEを広告できません。

TPEMATCH

SERVICE-NAMEはすでにそのサーバで広告されていますが,PROGRAM-NAMEのプログラムではありません。TPADVERTISEが失敗しても,SERVICE-NAMEは,現在広告しているプログラムを広告したままです(つまり,PROGRAM-NAMEは現在広告されているプログラムと置き換わりません)。

TPEPROTO

TPADVERTISEが間違った状況で呼ばれました。

TPESYSTEM

コミュニケーションリソースマネジャシステムでエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。

TPEOS

オペレーティングシステムにエラーが起こりました。厳密なエラーの性質は,product-specificな方法で定義されます。

関連項目

TPSVCSTART,TPUNADVERTISE

『OpenTP1で使う場合の注意事項』

  1. 『TPADVERTISEは,SPPでだけ呼び出せます。サーバの起動時には,ユーザサービス定義で指定した,すべてのサービスが自動的に広告されます。このプログラムのユーザサービス定義で指定してあるサービス名とプログラムの組み合わせだけ広告できます。』

  2. 『OpenTP1では,TPADVERTISEを呼び出すUAPのサービスグループと,広告されているサービスを広告したUAPのサービスグループが同じである場合は,広告済みと見なして,正常リターンします。サービスグループが一致していない場合は,エラーリターンします。』

  3. 『OpenTP1では,PROGRAM-NAMEは20文字まで有効です。』