分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編

[目次][索引][前へ][次へ]

6.7.7 CBLDCCLS('A-NOTIFY')一方通知受信

<この項の構成>
(1) 形式
(2) 機能
(3) UAPで値を設定するデータ領域
(4) 値が返されるデータ領域
(5) ステータスコード

(1) 形式

(a) マルチスレッド環境の場合
●PROCEDURE DIVISIONの指定
 
CALL  'CBLDCCLS'  USING  一意名1  一意名2
 
●DATA DIVISIONの指定
 
01  一意名1.
  02  データ名A  PIC  X(8)  VALUE 'A-NOTIFY'.
  02  データ名B  PIC  X(5).  
  02  FILLER  PIC  X(3).  
  02  データ名C  PIC  S9(9)  COMP VALUE ZERO.
  02  データ名D  PIC  S9(9)  COMP.
  02  データ名E  PIC  X(64).  
  02  データ名F  PIC  X(8).  
  02  データ名G  PIC  9(9)  COMP.
01  一意名2.
  02  データ名H  PIC  S9(9)  COMP.
  02  データ名I  PIC  X(n).  
 
(b) シングルスレッド環境の場合
●PROCEDURE DIVISIONの指定
 
CALL  'CBLDCCLT'  USING  一意名1  一意名2
 
●DATA DIVISIONの指定
 
01  一意名1.
  02  データ名A  PIC  X(8)  VALUE 'A-NOTIFY'.
  02  データ名B  PIC  X(5).  
  02  FILLER  PIC  X(3).  
  02  データ名C  PIC  S9(9)  COMP VALUE ZERO.
  02  データ名D  PIC  S9(9)  COMP.
  02  データ名E  PIC  X(64).  
  02  データ名F  PIC  X(8).  
          
01  一意名2.
  02  データ名H  PIC  S9(9)  COMP.
  02  データ名I  PIC  X(n).  
 

(2) 機能

サーバ側の要求コード(CBLDCRPC('CLTSEND '))によって通知されるメッセージを,データ名Dで指定した値まで待ち続けます。受信した時点でCUPに制御を戻し,ステータスコード,通知メッセージ,通知メッセージ長,通知元サーバのホスト名,通知元サーバのノード識別子を返します。

この関数を発行する前に,CBLDCCLS('O-NOTIFY')を発行しておく必要があります。

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

(4) 値が返されるデータ領域

(5) ステータスコード

ステータスコード 意味
00000 正常終了しました。
02501 データ領域に指定した値が誤っています。
02502 CBLDCCLS('O-NOTIFY')が実行されていません。
02504 必要なバッファが確保できませんでした。
02506 ネットワーク障害が発生しました。
02507 メッセージの受信時にタイムアウトになりました。
02518 システムエラーが発生しました。
02535 バージョン不一致が発生しました。
02544 データ名Gに指定した一方通知受信IDは,CBLDCCLS('O-NOTIFY')で受け取った一方通知受信IDと異なっています。
02546 受信したメッセージが,CUPで用意した領域に収まりません。収まらないメッセージは切り捨てました。データ名E,およびデータ名Fには,値を設定済みです。
02548 不正なメッセージを受信しました。
02549 一方通知受信待ち状態がCBLDCCLS('CANCEL ')によって解除されました。データ名E,データ名H,およびデータ名Iには,値を設定済みです。