6.7.3 CBLDCCLS('CANCEL ') − 一方通知待ち状態のキャンセル
(1) 形式
(a) マルチスレッド環境の場合
■ PROCEDURE DIVISIONの指定
CALL 'CBLDCCLS' USING 一意名1 一意名2
■ DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'CANCEL '. 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 X(64). 02 FILLER PIC 9(4) COMP. 02 FILLER PIC X(2). 02 データ名G PIC X(256). 01 一意名2. 02 データ名H PIC S9(9) COMP. 02 データ名I PIC X(n).
(b) シングルスレッド環境の場合
■ PROCEDURE DIVISIONの指定
CALL 'CBLDCCLT' USING 一意名1 一意名2
■ DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'CANCEL '. 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 X(64). 01 一意名2. 02 データ名H PIC S9(9) COMP. 02 データ名I PIC X(n).
(2) 機能
次のどれかの要求文を使用し,サーバからの一方通知待ち状態となっているCUPの,待ち状態を解除します。
-
CBLDCCLS('NOTIFY ')
-
CBLDCCLS('A-NOTIFY')
-
CBLDCCLS('EXNACPT ')
-
CBLDCCLS('EXNCACPT')
解除するときに,データ名Iに指定したメッセージを一方通知受信待ち状態のCUPに通知できます。
(3) UAPで値を設定するデータ領域
-
データ名A
一方通知待ち状態のキャンセルを示す要求コードを「VALUE 'CANCEL△△'」と設定します。
-
データ名C
0を指定します。
-
データ名D
一方通知受信要求時に指定したポート番号を指定します。5001から65535の範囲で指定します。
-
データ名E
一方通知受信待ち状態のCUPが存在するホスト名を指定します。ホスト名として,10進ドット記法のIPアドレスを指定することもできます。
-
データ名G
クライアント環境定義ファイルへのパス名を指定します。パス名には完全パス,またはカレントドライブ・ディレクトリからの相対パスが指定できます。パス名を指定した場合のファイルの読み込み順序を次に示します。
-
TP1/Client/Pの場合
クライアント環境定義ファイルの読み込み順序は次のとおりです。
1.WindowsディレクトリのBETRAN.INIファイル
2.データ名Iに指定したクライアント環境定義ファイル
定義は,クライアント環境定義ファイルおよびBETRAN.INIファイルのどちらのファイルに指定しても有効です。
両方のファイルに同じ定義を異なる値で指定した場合は,クライアント環境定義ファイルに指定した値が有効となります。
クライアント環境定義ファイルおよびBETRAN.INIファイルのどちらにも指定がない場合は,デフォルト値で動作します。
-
TP1/Client/Wの場合
環境変数に指定されている定義は,すべて無効となります。データ名Gに指定したクライアント環境定義ファイルに指定されていない定義はデフォルト値で動作します。
また,データ名Gの先頭に空白を指定することでパス名を省略できます。省略時の動作を次に示します。
-
TP1/Client/Pの場合
WindowsディレクトリのBETRAN.INIファイルをクライアント環境定義ファイルとして動作します。BETRAN.INIファイルがない場合,または定義ファイルの内容が不正な場合はデフォルト値で動作します。
-
TP1/Client/Wの場合
環境変数の指定で動作します。環境変数が指定されていない場合は,デフォルト値で動作します。
データ名Gに指定したクライアント環境定義ファイルがない場合,または定義ファイルの内容が不正な場合の動作を次に示します。
-
TP1/Client/Pの場合
WindowsディレクトリのBETRAN.INIファイルをクライアント環境定義ファイルとして動作します。BETRAN.INIファイルがない場合,または定義ファイルの内容が不正な場合は,デフォルト値で動作します。
-
TP1/Client/Wの場合
デフォルト値で動作します。環境変数の指定は無効となります。
-
-
データ名I
CUPに通知するメッセージを指定します。
-
データ名H
メッセージ長(データ名Iの長さ)を指定します。0からDCRPC_MAX_MESSAGE_SIZE※の範囲で指定します。
0を指定した場合はCUPにメッセージを通知しません。
- 注※
-
クライアント環境定義DCCLTRPCMAXMSGSIZEに2以上を指定した場合,DCRPC_MAX_MESSAGE_SIZEの値(1メガバイト)ではなく,クライアント環境定義DCCLTRPCMAXMSGSIZEに指定した値になります。
(4) 値が返されるデータ領域
-
データ名B
ステータスコードが,5けたの数字で返されます。
(5) ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
正常終了しました。 |
02501 |
データ名に設定した値が間違っています。要求コード(データ名A)が間違っている場合も含みます。 |
02503 |
初期化に失敗しました。または,クライアント環境定義の指定に誤りがあります。 |
02504 |
必要なバッファが確保できませんでした。 |
02506 |
ネットワーク障害が発生しました。 |
02514 |
CUPが一方通知受信待ち状態ではありません。 |
02518 |
システムエラーが発生しました。 |
02539 |
ホスト名が不正です。 |
02547 |
OSが自動的に割り当てるポート番号が不足しています。 |
(6) 注意事項
ステータスコード02518が戻る場合,CUPを終了してから開始し直してください。