ILE COBOL 解説書

OPEN ステートメントに関する考慮事項

OPEN ステートメントの実行が正常に行われると、ファイルの可用性が決まり、そのファイルがオープン・モードになります。 OPEN 操作が失敗すると、そのファイルは使用できなくなります。 ファイルが物理的に存在していて、入出力制御システムによって認識されている場合には、そのファイルは使用可能です。 OPEN ステートメントのプログラミング上の注意事項に、使用可能および使用不可なファイルのオープンの結果を示します。

関連情報

動的ファイル作成

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

+----------------------------------IBM 拡張----------------------------------+

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

動的ファイル作成が指定されていた場合、次のタイプのファイルが OPEN ステートメントの実行時に存在しなければ、それらが作成されます。

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

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

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

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

+------------------------------End of IBM 拡張-------------------------------+

+----------------------------------IBM 拡張----------------------------------+

装置タイプ DATABASE に関する特別の考慮事項

ファイルをコミットメント制御下に置くことができます。 詳しくは「WebSphere Development Studio: ILE COBOL プログラマーの手引き」の『コミットメントの制御』を参照してください。

ファイルにヌル可能フィールドが含まれ、ALWNULL がそのファイルの ASSIGN 文節上で指定されなかった場合は、 ファイル状況が 0P に設定され、ヌル・フィールドの入っていないレコードだけが処理されます。 一方 ALWNULL がヌル可能ファイルに指定された場合は、ヌル・フィールドは処理可能で、ファイル状況は 0P に設定されません。

+------------------------------End of IBM 拡張-------------------------------+


[ ページのトップ | 前ページ | 次ページ | 目次 | 索引 ]