6.6.5 CBLDCCLS('ASMSEND ')組み立てメッセージの送信

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

(1) 形式

(a) マルチスレッド環境の場合
●PROCEDURE DIVISIONの指定

CALL 'CBLDCCLS' USING 一意名1 一意名2 一意名3

●DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8)  VALUE 'ASMSEND△'.
  02 データ名B  PIC X(5).
  02 FILLER    PIC X(3).
  02 データ名C  PIC S9(9) COMP VALUE ZERO.
  02 データ名D  PIC 9(4) COMP.
  02 FILLER    PIC X(2).
  02 データ名E  PIC S9(9) COMP.
  02 FILLER    PIC X(4).
  02 データ名F  PIC X(n).
01 一意名2.
  02 データ名G  PIC S9(9) COMP.
  02 データ名H  PIC X(n).
01 一意名3.
  02 データ名I  PIC 9(9) COMP.

(b) シングルスレッド環境の場合
●PROCEDURE DIVISIONの指定

CALL 'CBLDCCLT' USING 一意名1 一意名2

●DATA DIVISIONの指定

01 一意名1.
  02 データ名A  PIC X(8)  VALUE 'ASMSEND△'.
  02 データ名B  PIC X(5).
  02 FILLER   PIC X(3).
  02 データ名C  PIC S9(9) COMP VALUE ZERO.
  02 データ名D  PIC 9(4) COMP.
  02 FILLER    PIC X(2).
  02 データ名E  PIC S9(9) COMP.
  02 FILLER    PIC X(4).
  02 データ名F  PIC X(n).
01 一意名2.
  02 データ名G  PIC S9(9) COMP.
  02 データ名H  PIC X(n).

(2) 機能

メッセージの組み立て機能を使用して,メッセージを送信します。この場合,4バイトのメッセージ情報を送信したあと,データ名Hに指定されたメッセージを送信します。相手システムとのコネクションが確立されていない場合は,データ名Fに指定されたホスト名とデータ名Dに指定されたポート番号を基にコネクションを確立し,メッセージを送信します。

また,クライアント環境定義DCCLTDELIVERYCHECKにYを指定した場合は,メッセージの送達確認機能を使用して,メッセージを送受信します。この場合,11バイトのメッセージ情報を送信したあと,データ名Hに指定されたメッセージを送信します。11バイトのメッセージ情報を受信したあと,CUPに制御を戻します。

CBLDCCLS('ASMSEND ')を実行する場合,データ名Cに4,または16を指定したCBLDCRPS('OPEN ')を,あらかじめ実行してください。

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

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

(5) ステータスコード

ステータスコード意味
00000正常終了しました。
02501引数に指定した値が誤っています。
02502次のどちらかの要因が考えられます。
  • CBLDCRPS('OPEN ')が実行されていません。
  • CBLDCRPS('OPEN ')は実行されていますが,データ名Cに4,または16を指定していません。
02504メモリ不足が発生しました。
02506ネットワーク障害が発生しました。コネクションは解放されます。
02507コネクション確立要求時にタイムアウトになりました。または,メッセージの送達確認機能の使用時に,応答専用データの受信でタイムアウトになりました。コネクションは解放されます。
02518システムエラーが発生しました。ネットワーク障害の場合,コネクションは解放されます。
02538資源不足が発生しました。
02539ホスト名が誤っています。または,データ名FおよびDCSNDHOSTの両方にホスト名が指定されていません。
02541相手システムに対するコネクションの確立要求が拒絶されました。
02542メッセージの送達確認機能の使用時に,相手システムからコネクションが解放されました。
02544データ名Iに指定したクライアントIDは,CBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。
02547OSが自動的に割り当てるポート番号が不足しています。
02548メッセージの送達確認機能の使用時に,不正なメッセージを受信しました。コネクションは解放されます。
02584メッセージの送達確認機能の使用時に,メッセージが衝突しました。コネクションは解放されます。

(6) 注意事項