Hitachi

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


CBLDCRPC('SETSVPRI')

〈このページの構成〉

名称

サービス要求のスケジュールプライオリティの設定

形式

PROCEDURE DIVISIONの指定

CALL  'CBLDCRPC'  USING 一意名1

DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8) VALUE  'SETSVPRI'.
   02 データ名B  PIC X(5).
   02 FILLER    PIC X(3).
   02 データ名C  PIC S9(9) COMP VALUE ZERO.

機能

サービス要求のプライオリティを設定します。サービス要求単位でスケジュールプライオリティを制御する場合に呼び出します。ここで設定したプライオリティは,CBLDCRPC('SETSVPRI')を再び呼び出すまで更新されません。したがって,同じプライオリティでまとめてサービス要求をする場合は,CBLDCRPC('SETSVPRI')を1回だけ呼び出します。

CBLDCRPC('SETSVPRI')で指定したプライオリティは,直後に呼び出すCBLDCRPC('CALL ')で,スケジュールキューを経由してサーバに通知されます。

CBLDCRPC('SETSVPRI')を1回も呼び出さない処理の場合は,スケジュールサービスの省略時解釈値である4が,サービス要求のプライオリティとして指定されます。

UAPで値を設定するデータ領域

●データ名A

サービス要求のスケジュールプライオリティの設定を示す要求コードを「VALUE 'SETSVPRI'」と設定します。

●データ名C

サービス要求のスケジュールプライオリティを,0,または1から8の範囲で設定します。データ名Cの設定は省略できません。

最も高いプライオリティの値は1で,最も低いプライオリティの値は8です。

0を設定した場合は,スケジュールサービスの省略時解釈となります。

上記以外の値を設定した場合は,CBLDCRPC('SETSVPRI')は無視されます。

OpenTP1から値が返されるデータ領域

●データ名B

ステータスコードが,5けたの数字で返されます。

ステータスコード

ステータスコード

意味

00000

正常に終了しました。

00301

データ名に設定した値が間違っています。

要求コード(データ名A)が間違っている場合も含みます。

上記以外

プログラムの破壊などによる,予期しないエラーが起こりました。

注意事項

  1. キュー受信型サーバでは,設定したサービス要求のプライオリティは,サーバUAPのユーザサービス定義に,service_priority_control = Y(プライオリティを制御する)を指定している場合だけ有効です。サービス要求する相手のサーバUAPでプライオリティを制御していない場合は,CBLDCRPC('SETSVPRI')を呼び出しても無効になります。

  2. 2回目以降の連鎖RPCをする CBLDCRPC('CALL ')と,連鎖RPCを終了するために呼び出す CBLDCRPC('CALL ')に対して,サービス要求のプライオリティを設定しても無効になります。

  3. CBLDCRPC('CALL ')は,CBLDCRPC('SETSVPRI')で変更した値をリセットしません。プライオリティをリセットする場合は,データ名Cに0を設定した CBLDCRPC('SETSVPRI')を呼び出してください。