ファイル指定に環境変数を含む場合、環境変数を展開したファイル名を返却します。CBL_LOCATE_FILEとの違いは、ファイル名に空白文字を含むことができます。
指定方法
CALL "CBL_LOCATE_FILE2" USING 利用者ファイル指定 利用者モード 実ファイル指定 存在フラグ パスフラグ RETURNING 状態コード.
01 利用者ファイル指定 PIC X(n). 01 利用者モード PIC 9(4) BINARY. 01 実ファイル指定. 02 バッファ長 PIC 9(4) BINARY. 02 バッファ PIC X(n). 01 存在フラグ PIC 9(4) BINARY. 01 パスフラグ PIC 9(4) BINARY. 01 状態コード PIC S9(4) COMP-5.
利用者ファイルを指定します。 利用者ファイル名はスペースまたはNULLで終わるようにしてください。 指定する内容は以下のとおりです。
標準ファイル名を指定する場合:
装置名\ファイル名.拡張子
埋め込み環境変数を指定する場合:
$environment\ファイル名.拡張子
ファイル名の長さの最大値は255バイトです。
利用者ファイル指定の扱い方を指定します。指定するモードは以下のとおりです。
0: ファイルが別のディスクに存在するかチェックする。 環境変数を含んでいる場合は、環境変数で指定されたパスで順次検索していき、 そのファイルが存在すれば、出力値の実ファイル指定に展開したファイルパス名を格納する。 ファイルが存在しない場合は、環境変数の最初のパスで展開した結果を実ファイル指定に格納する。
1: 環境変数を含んでいる場合、ファイルの検索をしないで、 最初のパスで展開した結果を実ファイル指定に格納する。
2: 環境変数を含んでいる場合、ファイルの検索をしないで、 次のパスで展開した結果を実ファイル指定に格納する。
バッファ長には、次に続くバッファのサイズを指定します。 バッファには展開されたファイルパス名を格納する領域を指定します。
存在フラグを格納する領域を指定します。設定される情報は以下のとおりです。
利用者モードが0の場合:
0: ファイルが存在しない。
3: 別のディスクファイルとしたファイルが見つかった。
利用者モードが0以外の場合:
0が返却される。
パスフラグを格納する領域を指定します。設定される情報は以下のとおりです。
0: 実ファイル指定は展開された環境変数を含みません。
1: 実ファイル指定は展開された環境変数を含みます。
復帰コード
復帰コードは、RETURNINGに指定した状態コードに設定されます。
0: 成功
1: 環境変数が存在しません
2: 次のパスが存在しません
3: 展開したパス名長がバッファ長より長い
255: その他のエラー
注意
このCBLルーチンで使用する環境変数は、右辺に最大255バイトまで指定できます。 環境変数に複数パスを指定する場合は、以下のように指定してください。
Set 環境変数名=パス1;パス2;...