6.4.1 CBLDCCLS('CONNECT ') − 常設コネクションの確立
(1) 形式
(a) マルチスレッド環境の場合
■ PROCEDURE DIVISIONの指定
CALL 'CBLDCCLS' USING 一意名1
■ DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'CONNECT '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC S9(9) COMP VALUE ZERO. 02 データ名D PIC 9(9) COMP-X.
(b) シングルスレッド環境の場合
■ PROCEDURE DIVISIONの指定
CALL 'CBLDCCLT' USING 一意名1
■ DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'CONNECT '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC S9(9) COMP VALUE ZERO.
(2) 機能
CUP実行プロセス,rapサーバ,またはDCCM3の論理端末との間に常設コネクションを確立します。
常設コネクションを確立するCUP実行プロセスが起動されているOpenTP1ノードは,CBLDCCLS('CLTIN ')のデータ名Dに指定したOpenTP1ノード,クライアント環境定義DCCLTRAPHOSTまたはDCHOSTに指定したOpenTP1ノードです。
DCCM3の論理端末との間に常設コネクションを確立する場合,クライアント環境定義にDCCLTDCCMHOSTおよびDCCLTDCCMPORTを定義し,CBLDCCLS('CONNECT ')のデータ名Cに32を指定します。
また,リモートAPI機能を使用する場合,DCCM3の論理端末との間に常設コネクションを確立するには,DCCLTRAPHOSTにDCCM3の論理端末のホスト名およびポート番号を指定し,CBLDCCLS('CONNECT ')のデータ名Cに0を指定します。
(3) UAPで値を設定するデータ領域
-
データ名A
常設コネクションの確立を示す要求コードを「VALUE 'CONNECT△'」と設定します。
-
データ名C
常設コネクションを確立する通信相手を指定します。
- 0
-
CUP実行プロセス,rapサーバまたはDCCM3の論理端末との間に常設コネクションを確立します。
- 32
-
DCCM3の論理端末との間に常設コネクションを確立します。
-
データ名D
CBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDを指定します。
(4) 値が返されるデータ領域
-
データ名B
ステータスコードが,5けたの数字で返されます。
(5) ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
正常終了しました。または,すでに常設コネクションが確立されています。 |
02501 |
データ名に指定した値が間違っています。要求コード(データ名A)が間違っている場合も含みます。 |
02502 |
次のどれかの要因が考えられます。
|
02504 |
必要なバッファが確保できませんでした。 |
02506 |
通信障害が発生しました。 |
02507 |
常設コネクション確立時に時間切れ(タイムアウト)が発生しました。 |
02515 |
次のどれかの要因が考えられます。
|
02518 |
システムエラーが発生しました。 |
02539 |
DCCM3の論理端末に対する確立要求が発行されましたが,ホスト名が不正です。 |
02544 |
データ名Dに指定したクライアントIDはCBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。 |
02547 |
指定したポート番号は使用されています。または,OSが自動的に割り当てるポート番号が不足しています。 |
(6) 注意事項
-
CBLDCCLS('CONNECT ')がエラーリターンした場合,常設コネクションは確立されません。ただし,次のステータスコードでエラーリターンした場合,CUP実行プロセス側では常設コネクションが確立状態になることがあります。
-
02506
-
02507
-
02518
このとき,CUP実行プロセスまたはDCCM3の論理端末は,CUPからの要求を待ち続ける場合があります。要求待ちを避けるため,常設コネクション問い合わせ間隔最大時間(DCCM3論理端末の場合は端末放置監視時間)に適切な値を設定してください。
-
-
CBLDCCLS('CONNECT ')をトランザクション内で発行することはできません。
-
CUP実行プロセス,rapサーバ,またはクライアント環境定義DCCLTRAPHOSTに指定したDCCM3の論理端末との間に常設コネクションを確立した場合は,CBLDCCLS('DISCNCT ')を発行するまでクライアント環境定義DCCLTDCCMHOSTに指定したDCCM3の論理端末との通信はできません。
また,クライアント環境定義DCCLTDCCMHOSTに指定したDCCM3の論理端末との間に常設コネクションを確立した場合は,CBLDCCLS('DISCNCT ')を発行するまでCUP実行プロセス,rapサーバ,またはクライアント環境定義DCCLTRAPHOSTに指定したDCCM3の論理端末との通信はできません。
-
DCCM3の論理端末との間に常設コネクションを確立する場合,データ圧縮機能は使用できません。クライアント環境定義DCCLTDATACOMPの指定を省略するか,またはDCCLTDATACOMPにNを指定する必要があります。
-
ステータスコード02518が戻る場合,CUPを終了してから開始し直してください。