6.2.1 CBLDCCLS('CLTIN ') − クライアントユーザの認証要求
(1) 形式
(a) マルチスレッド環境の場合
■ PROCEDURE DIVISIONの指定
CALL 'CBLDCCLS' USING 一意名1
■ DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'CLTIN '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC S9(9) COMP VALUE ZERO. 02 データ名D PIC X(64). 02 データ名E PIC X(16). 02 データ名F PIC X(16). 02 データ名G PIC X(64). 02 データ名H PIC 9(4) COMP. 02 FILLER PIC X(2). 02 データ名I PIC 9(9) COMP-X. 02 データ名J PIC X(256).
(b) シングルスレッド環境の場合
■ PROCEDURE DIVISIONの指定
CALL 'CBLDCCLT' USING 一意名1
■ DATA DIVISIONの指定
01 一意名1. 02 データ名A PIC X(8) VALUE 'CLTIN '. 02 データ名B PIC X(5). 02 FILLER PIC X(3). 02 データ名C PIC S9(9) COMP VALUE ZERO. 02 データ名D PIC X(64). 02 データ名E PIC X(16). 02 データ名F PIC X(16). 02 データ名G PIC X(64).
(2) 機能
指定された窓口となるTP1/Serverに対して,ログイン名で指定されたクライアントユーザの認証を要求します。
ユーザ認証を抑止する場合でも,CBLDCCLS('CLTIN ')は必ず実行してください。
(3) UAPで値を設定するデータ領域
-
データ名A
クライアントユーザの認証要求を示す要求コードを「VALUE 'CLTIN△△△'」と設定します。
-
データ名C
リモートAPI機能を使用するためにユーザ認証を抑止する場合は,-2147483648を設定します。ユーザ認証を抑止しない場合は,0を設定します。
-
データ名D
認証要求を実行する時に窓口となるTP1/Serverのホスト名およびポート番号を設定します。複数の窓口となるTP1/Serverを設定できます(区切り文字は','を使用)。また,ホスト名として,10進ドット記法のIPアドレスを設定することもできます。
- 形式
-
ホスト名〔:ポート番号〕〔,ホスト名〔:ポート番号〕,…〕
・ホスト名〜<文字列>
・ポート番号〜<符号なし整数>((5001〜65535))
区切り文字','の後ろ以外は空白文字(スペースまたはタブ)を入れないでください。
ポート番号省略時は,クライアント環境定義DCNAMPORTの値を仮定します。
データ名DにTP1/Serverを二つ以上指定し,窓口となるTP1/Serverの障害を検出した場合,クライアント環境定義DCHOSTSELECTにNを指定したとき,現在窓口となっているTP1/Serverの次のTP1/Serverを参照して切り替えを試みます。クライアント環境定義DCHOSTSELECTにYを指定したとき,障害を検出したTP1/Serverを除いて,窓口となるTP1/Serverをランダムに選択して切り替えを試みます。
先頭に空白が指定されていた場合は,クライアント環境定義DCHOSTを参照します。
ただし,データ名Dの先頭に空白が指定されていて,DCHOSTが設定されていなかった場合は,ブロードキャストを行い,窓口となるTP1/Serverを決定します。
TP1/Client/Pでブロードキャストを行う場合,hostsファイルにブロードキャストアドレスを指定する必要があります(ホスト名はbroadcastとしてください)。指定がなかった場合,CBLDCCLS('EXCLTIN ')は02518でエラーリターンします。
文字列の最後は空白を設定してください。
-
データ名E
クライアントユーザのログイン名を設定します。
文字列の最後は空白文字を設定してください。
-
データ名F
データ名Eで指定したログイン名に対するパスワードを設定します。パスワードが設定されていない場合は,先頭に空白を指定します。
文字列の最後は空白文字を設定してください。
-
データ名H
0を設定します。
-
データ名J
クライアント環境定義ファイルへのパス名を指定します。パス名には完全パス,またはカレントドライブ・ディレクトリからの相対パスが指定できます。パス名を指定した場合のファイルの読み込み順序を次に示します。
-
TP1/Client/Pの場合
クライアント環境定義ファイルの読み込み順序は次のとおりです。
1.WindowsディレクトリのBETRAN.INIファイル
2.データ名Jに指定したクライアント環境定義ファイル
定義は,クライアント環境定義ファイルおよびBETRAN.INIファイルのどちらのファイルに指定しても有効です。
両方のファイルに同じ定義を異なる値で指定した場合は,クライアント環境定義ファイルに指定した値が有効となります。
クライアント環境定義ファイルおよびBETRAN.INIファイルのどちらにも指定がない場合は,デフォルト値で動作します。
-
TP1/Client/Wの場合
環境変数に指定されている定義は,すべて無効となります。データ名Jに指定したクライアント環境定義ファイルに指定されていない定義はデフォルト値で動作します。
また,データ名Jの先頭に空白を指定することでパス名を省略できます。省略時の動作を次に示します。
-
TP1/Client/Pの場合
WindowsディレクトリのBETRAN.INIファイルをクライアント環境定義ファイルとして動作します。BETRAN.INIファイルがない場合,または定義ファイルの内容が不正な場合はデフォルト値で動作します。
-
TP1/Client/Wの場合
環境変数の指定で動作します。環境変数が指定されていない場合は,デフォルト値で動作します。
データ名Jに指定したクライアント環境定義ファイルがない場合,または定義ファイルの内容が不正な場合の動作を次に示します。
-
TP1/Client/Pの場合
WindowsディレクトリのBETRAN.INIファイルをクライアント環境定義ファイルとして動作します。BETRAN.INIファイルがない場合,または定義ファイルの内容が不正な場合は,デフォルト値で動作します。
-
TP1/Client/Wの場合
デフォルト値で動作します。環境変数の指定は無効となります。
-
(4) 値が返されるデータ領域
-
データ名B
ステータスコードが,5けたの数字で返されます。
-
データ名G
ユーザ認証したサーバのホスト名(または10進ドット記法のIPアドレス)が返されます。ユーザ認証を抑止した場合は,返されません。
格納されたホスト名の最後には,空白が設定されます。
-
データ名I
クライアントユーザの認証が正常に終了すると,クライアントIDが設定されます。設定されたクライアントIDは,CBLDCCLS('CLTOUT ')を実行するまで破壊してはなりません。
(5) ステータスコード
ステータスコード |
意味 |
---|---|
00000 |
正常終了しました。 |
02501 |
データ名に指定した値が間違っています。要求コード(データ名A)が間違っている場合も含みます。 |
02502 |
すでにCBLDCCLT('CLTIN ')が実行されています。CBLDCCLS('CLTIN ')実行時,このステータスコードは返りません。 |
02503 |
通信路の初期化に失敗しました。または,クライアント環境定義の指定が誤っています。 |
02504 |
必要なバッファが確保できませんでした。 |
02506 |
ネットワーク障害が発生しました。 |
02515 |
設定したサービスがあるノードのOpenTP1が起動されていません。 |
02518 |
システムエラーが発生しました。 |
02527 |
次のどれかの要因で,このステータスコードが戻りました。
|
02547 |
指定したポート番号は使用されています。または,OSが自動的に割り当てるポート番号が不足しています。 |
(6) 注意事項
ステータスコード02518が戻る場合,CUPを終了してから開始し直してください。