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

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

(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.
  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(4) 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と異なっています。
02547OSが自動的に割り当てるポート番号が不足しています。

(6) 注意事項

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