この COBOL システムには、プログラムで ASSIGN 句を使用して指定したファイル名を別の名前にマップする方法が複数あるため、実行時に柔軟に対応できます。これらの方法では環境変数を使用します。
このトピックで使用する「環境変数」には、外部ファイル マッパーを通して有効化された Micro Focus の拡張環境変数も含まれます (「外部ファイル マッパー (Mfextmap)」セクションを参照)。
プログラムを実行する前に、オペレーティング システムの SET(Windows) またはexport(UNIX) コマンドを実行して、使用する環境変数に適切な値を指定する必要があります。次に例を示します。
set dir=d2
または
export dir=d2
ファイル ハンドラーにファイル名 (定数、データ項目の内容、または ASSIGN TO EXTERNAL 構文を使用した場合は外部参照として) が指定されている場合は、次のように実行されます。
この処理はファイル名の次の要素に対して行われ、名前のすべての要素が処理されるまで繰り返されます。この処理結果を物理ファイルのファイル名にします。
例
ASSIGN 句のファイル名 | 検索対象の環境変数 | 環境変数の内容 | 物理ファイルのファイル名 |
---|---|---|---|
dir\file1 | dd_dir | d2 | d2\file1 |
$dir\file1 | dd_dir;dir | d2\d4 | d2\d4\file1 |
dir1\dir2\file1 | dd_dir1 | d4 | d4\dir2\file1 |
$dir1\$dir2\file1 | 1 回目の繰り返し:dd_dir1;dir1、2 回目の繰り返し:dd_dir2;dir2 | dd_dir1 または dir1: d2\d4 dd_dir2 または dir2: d3 | d2\d4\d3\file1 |
file1 | dd_file1 | d2 | d2 |
ASSIGN 句のファイル名 | 検索対象の環境変数 | 環境変数の内容 | 物理ファイルのファイル名 |
---|---|---|---|
dir/file1 | dd_dir | d2 | d2/file1 |
$dir/file1 | dd_dir;dir | d2/d4 | d2/d4/file1 |
dir1/dir2/file1 | dd_dir1 | d4 | d4/dir2/file1 |
$dir1/$dir2/file1 | 1 回目の繰り返し:dd_dir1;dir1、2 回目の繰り返し:dd_dir2;dir2 | dd_dir1 または dir1: d2/d4 dd_dir2 または dir2: d3 | d2/d4/d3/file1 |
file1 | dd_file1 | d2 | d2 |