Hitachi

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


6.6.1 CBLDCCLS('SEND ') − メッセージの送信

〈この項の構成〉

(1) 形式

(a) マルチスレッド環境の場合

■ PROCEDURE DIVISIONの指定

CALL 'CBLDCCLS' USING 一意名1

■ DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8) VALUE 'SEND    '.
   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 9(4) COMP.
   02 FILLER    PIC X(2).
   02 データ名H  PIC 9(9) COMP-X.
   02 データ名I  PIC X(n).

(b) シングルスレッド環境の場合

■ PROCEDURE DIVISIONの指定

CALL 'CBLDCCLT' USING 一意名1

■ DATA DIVISIONの指定

01 一意名1.
   02 データ名A  PIC X(8)  VALUE 'SEND    '.
   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 9(4) COMP.
   02 FILLER    PIC X(2).
   02 データ名G  PIC 9(9) COMP.
   02 データ名I  PIC X(n).

(2) 機能

MHPへメッセージを送信します。

CBLDCCLS('SEND ')を実行する場合,データ名Cに4または16を指定したCBLDCRPS('OPEN ')を,あらかじめ実行しておく必要があります。

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

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

(5) ステータスコード

ステータスコード

意味

00000

正常終了しました。

02501

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

02502

次のどちらかの要因が考えられます。

  • CBLDCRPS('OPEN ')が実行されていません。

  • CBLDCRPS('OPEN ')は実行されていますが,データ名Cに4または16を指定していません。

02504

メモリ不足が発生しました。

02506

ネットワーク障害が発生しました。

02507

コネクション確立要求時にタイムアウトになりました。

02518

システムエラーが発生しました。

02538

資源不足が発生しました。

02539

ホスト名が誤っています。または,データ名E,およびDCSNDHOSTの両方にホスト名が指定されていません。

02541

相手システムに対するコネクションの確立要求が拒絶されました。

02544

データ名Hに指定したクライアントIDはCBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。

02547

OSが自動的に割り当てるポート番号が不足しています。

(6) 注意事項

メッセージ送信時に相手システムからコネクションが解放された場合,送信するメッセージ長によっては,コネクションの解放を検知できないことがあります。この場合は,CBLDCCLS('SEND ')の次以降に発行する要求文で検知することがあります。CUPを作成するときは,このことを考慮してください。