Hitachi

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


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

〈この項の構成〉

(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-X.

(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と異なっています。

02547

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

02548

メッセージの送達確認機能の使用時に,不正なメッセージを受信しました。コネクションは解放されます。

02584

メッセージの送達確認機能の使用時に,メッセージが衝突しました。コネクションは解放されます。

(6) 注意事項