CLOSE (ファイルのクローズ)

自由形式構文 CLOSE{(E)} ファイル名|*ALL
コード 演算項目 1 演算項目 2 結果フィールド 標識
CLOSE (E) ファイル名 または *ALL _ ER _

明示的な CLOSE 命令では、1 つまたは複数のファイルあるいは装置がクローズされ、それらがモジュールから切り離されます。そのフ ァイルに対して明示的に OPEN を指定しないかぎり、モジュールの中で再度そのファイルを使用することはできません。 すでにクローズされたファイルに CLOSE 命令を出してもエラーにはなりません。

ファイル名 にはクローズされるファイルを指定します。 すべてのファイルを一度にクローズするために、キーワード *ALL を指定することができます。 配列またはテーブル・ファイル (ファイル仕様書の 18 桁目の T で識別される) を指定することはできません。

CLOSE 例外 (ファイル状況コードが 1000 より大きい) を 処理するために、命令コード拡張 'E' またはエラー標識 ER を指定できますが、 両方を指定することはできません。 エラー処理の詳細については、ファイル例外/エラーを 参照してください。

71 桁目、72 桁目、75 桁目、および 76 桁目はブランクでなければなりません。

配列またはテーブルを出力ファイル (TOFILE キーワードを使用して指定) に書き出す場合には、CLOSE 命令によってファイルがクローズされていれば、 LR 時にその配列またはテーブルのダンプは行われません。 ファイルがクロー ズされている場合には、ダンプを行うために再度ファイルをオープンしなけ ればなりません。

詳細については、ファイル命令を参照してください。

図 273. CLOSE 命令
  *..1....+....2....+....3....+....4....+....5....+....6....+....7...+....
 *  The explicit CLOSE operation closes FILEB.

 /FREE
    CLOSE FILEB;
 
      //  The CLOSE *ALL operation closes all files in the
      //  module. You must specify an explicit OPEN for any file that
      //  you wish to use again.  If the CLOSE operation is not
      //  completed successfully, %ERROR returns '1'.
 
    CLOSE(E) *ALL;
 
 /END-FREE