ファイル名の動的割り当て

ファイル名の動的割り当てでは、ファイル名を SELECT 句で COBOL データ項目として指定します。

 select filename
     assign to dynamic data-item

パラメーターは次のとおりです。

filename
割り当てるファイルのファイル名。
data-item
COBOL データ項目の名前。プログラムでデータ項目が明示的に宣言されていない場合は、PICTURE 句 PIC X(255) を使用して、コンパイラがデータ項目を自動的に作成します。ファイルに対して OPEN 文を実行する前に、プログラムでデータ項目の値を指定する必要があります。

作成している物理ファイルのファイル名に空白文字を含める場合は、下記の例 2 に示すように、ファイル名を引用符で囲む必要があります

例 1

次の例では、input.dat というファイルが現在のディレクトリに作成されます。

   ...
 select fd-in-name
     assign to dynamic ws-in-file.
       ...
 working-storage section. 
 01 ws-in-file     pic x(30).
       ...
     move "input.dat" to ws-in-file.
       ...
     open output fd-in-name.

例 2

この例では、引用符を使用して、ファイル名に空白文字が含まれるファイル spacey filename.dat を作成しています。

 select f1
      assign to dynamic f1-name.
... 
working-storage section.
01 f1     pic x(30).
...
move """spacey  filename.dat""" to f1-name
....
open output f1.
注: ASSIGN"DYNAMIC" コンパイラ指令を使用する場合には、ASSIGN 句から DYNAMIC という単語を省略することができます。