動的ファイル作成

OPEN ステートメントで作成されない限りは使用できないファイルが、OPEN ステートメントで作成される場合があります。 この機能は、動的ファイル作成 と呼ばれます。

IBM Extension
IBM Extension

ILE COBOL では、動的ファイル作成は DISK に割り当てられているファイルに対してのみ、発生します。 さらに、OPTION(*CRTF) が CRTCBLMOD コマンドまたは CRTBNDCBL コマンドで指定されているか、 あるいは CRTF オプションが PROCESS ステートメントに含まれていなくてはなりません。 OPTION(*NOCRTF) または PROCESS NOCRTF が指定されているか、 あるいはオプションが定義されていない場合は、プログラムで定義されているいずれのファイルも動的に作成されません。

動的ファイル作成が指定されていた場合、次のタイプのファイルが OPEN ステートメントの実行時に存在しなければ、それらが作成されます。
  • OUTPUT 用にオープンされた順次ファイルおよび相対ファイル。
  • I-O 用にオープンされた順次ファイルおよび相対ファイル (オプショナル)。
  • EXTEND でオープンされた順次ファイル (オプショナル)。

オプショナル・ファイルは、SELECT OPTIONAL 文節を使用して定義されているファイルです。 コンパイル時エラー・メッセージが、オプショナル・ファイルに対する OPEN I-O ステートメントまたは OPEN EXTEND ステートメント用に発行されますが、 ただし、動的ファイル作成がそのファイルに対して有効でない場合です。

動的に作成されたファイルのデフォルトの属性は、ライブラリー QSYS 中に保留されているファイル QAXXDBF のデフォルトの属性に基づきます。 CHGPF コマンドは、これらの属性を変更するために使用できます。 例えば、レコードの最大数を増やしたり、レコードの待機時間を減らしたりすることができます。

ファイル指定変更によってライブラリー名が提供されている場合、 そのライブラリーにファイルが作成されます。 いずれのファイル指定変更も有効でない場合は、ファイルは現行ライブラリーに作成され、 また現行のライブラリーが定義されていない場合は、ライブラリー QTEMP 中に作成されます。

動的に作成できるファイルの最大レコード長は、32,766 文字です。

End of IBM Extension
End of IBM Extension