6.4.2 CBLDCCLS('DISCNCT ') − 常設コネクションの解放
(1) 形式
(a) マルチスレッド環境の場合
■ PROCEDURE DIVISIONの指定
CALL 'CBLDCCLS' USING 一意名1
■ DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'DISCNCT '. 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 'DISCNCT '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC S9(9) COMP VALUE ZERO.
(2) 機能
CUP実行プロセス,rapサーバまたはDCCM3の論理端末との間の常設コネクションを解放します。
(3) UAPで値を設定するデータ領域
-
データ名A
常設コネクションの解放を示す要求コードを「VALUE 'DISCNCT△'」と設定します。
-
データ名C
0を指定します。
-
データ名D
CBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDを指定します。
(4) 値が返されるデータ領域
-
データ名B
ステータスコードが,5けたの数字で返されます。
(5) ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
正常終了しました。または,TP1/Client/Wの場合,すでに常設コネクションが切断されています。 |
02501 |
データ名に指定した値が間違っています。要求コード(データ名A)が間違っている場合も含みます。 |
02502 |
トランザクション内で発行されているか,CBLDCCLS('OPEN ')が発行されていません。 |
02504 |
必要なバッファが確保できませんでした。 |
02506 |
通信障害が発生しました。または,TP1/Client/Pの場合,すでに常設コネクションが切断されています。 |
02507 |
常設コネクション確立時に時間切れ(タイムアウト)が発生しました。 |
02518 |
システムエラーが発生しました。 |
02544 |
データ名Dに指定したクライアントIDはCBLDCCLS('CLTIN '),またはCBLDCCLS('EXCLTIN ')で受け取ったクライアントIDと異なっています。 |
(6) 注意事項
-
CBLDCCLS('DISCNCT ')が次のステータスコードでエラーリターンした場合,常設コネクションは解放されません。
-
02501
-
02502
-
02504(クライアント側で検知した場合)
-
02544
-
-
CBLDCCLS('DISCNCT ')が次のステータスコードでエラーリターンしたとき,TP1/Client側で強制的に常設コネクションを解放します。
-
02504(サーバ側で検知した場合)
-
02506
-
02507
-
02518
このとき,CUP実行プロセスまたはDCCM3の論理端末はTP1/Clientで常設コネクションが解放されたことを検知しないで,CUPからの要求を待ち続けることがあります。要求待ちを避けるため,常設コネクション問い合わせ間隔最大時間(DCCM3論理端末の場合は端末放置監視時間)に適切な値を設定してください。
-
-
CBLDCCLS('DISCNCT ')をトランザクション内で発行した場合,トランザクションはコミットされます。