CLOSE(閉じる)文は、リール/ユニットおよびファイルの処理を終了させる(ファイルのクローズ)。さらに、可能ならば、巻戻しやロックや取外し処理を行うこともできる。
 
 
 行順編成ファイル、
行順編成ファイル、 
 
 REEL および UNITUNITを指定できるのは、SELECT句にMULTIPLE REELまたはMULTIPLE UNIT MULTIPLE UNIT を指定してあるファイルに対してだけである。マルチユニット ファイルを認識しないランタイム システムにおいては、CLOSE REEL文およびCLOSE UNIT文は" 空" 文である。つまり、これらの文は注記になる。CLOSE REEL文またはCLOSE UNIT文によって閉じた装置上には、他に開いているファイルはないことが重要である。
REEL および UNITUNITを指定できるのは、SELECT句にMULTIPLE REELまたはMULTIPLE UNIT MULTIPLE UNIT を指定してあるファイルに対してだけである。マルチユニット ファイルを認識しないランタイム システムにおいては、CLOSE REEL文およびCLOSE UNIT文は" 空" 文である。つまり、これらの文は注記になる。CLOSE REEL文またはCLOSE UNIT文によって閉じた装置上には、他に開いているファイルはないことが重要である。
  CLOSE REEL WITH LOCK文およびCLOSE UNIT WITH LOCK文は、CLOSE REEL FOR REMOVALと同義語として扱われる。
CLOSE REEL WITH LOCK文およびCLOSE UNIT WITH LOCK文は、CLOSE REEL FOR REMOVALと同義語として扱われる。
 DISP 指定は、テープ ファイルに対してだけ適用できる。
DISP 指定は、テープ ファイルに対してだけ適用できる。
  DISP指定は注記になる。
DISP指定は注記になる。
 STOP RUN(実行停止)文が実行されたときに開かれているファイルがあると、そのファイルは閉じられる。呼ばれたプログラムの中でファイルが開かれ、後でそのプログラムの中でCANCEL(取消し)文が実行された場合、開かれたままのファイルがあれば閉じられる。
STOP RUN(実行停止)文が実行されたときに開かれているファイルがあると、そのファイルは閉じられる。呼ばれたプログラムの中でファイルが開かれ、後でそのプログラムの中でCANCEL(取消し)文が実行された場合、開かれたままのファイルがあれば閉じられる。
 CLOSE文の実行が正常に終了すると、閉じられたファイルに関して実行単位が保持していたレコード ロックまたはファイルロックはすべて解除される。
CLOSE文の実行が正常に終了すると、閉じられたファイルに関して実行単位が保持していたレコード ロックまたはファイルロックはすべて解除される。
| CLOSE文の形式 | ファイルの種類 | |||
|---|---|---|---|---|
| 非リール/ユニット | レコード順単一リール/ユニット | レコード順複数リール/ユニット | 非レコード順単一/複数リール/ユニット | |
| CLOSE | C | C, G | A, C, G | C | 
| CLOSE WITH LOCK | C, E | C, E, G | A, C, E, G | C, E | 
| CLOSE WITH NO REWINDレコード順だけ |  C, H | B, C | A, B, C | X | 
| CLOSE REEL/UNITレコード順だけ |  F |  F, G | F, G | X | 
| CLOSE REEL/UNIT FOR REMOVALレコード順だけ |  F |  D, F, G | D, F , G | X | 
| CLOSE REEL/UNIT WITH NO REWINDレコード順だけ | X | X | F, B | X | 
上の表の中に示した記号の意味を以降に説明する。入力ファイルか出力ファイルか入出力ファイルかによって意味が異なるときは、それぞれに分けて説明する。分けていなければ、説明は入力ファイルと出力ファイルと入出力ファイルのすべてに当てはまる。
入力ファイルおよび入出力ファイル:
ファイル中の現在のリール/ユニットよりも前にあるリール/ユニットがすべて処理される。ただし、既にCLOSE REEL/ UNIT文が実行されているものを除く。現在のリール/ユニットがファイル中の最後のものでない場合、その後ろのリール/ユニットは処理されない。
出力ファイル:
ファイル中の現在のリール/ユニットよりも前にあるリール/ユニットがすべて処理される。ただし、既にCLOSE REEL/UNIT文が実行されているものを除く。
現在のリール/ユニットはそのままの位置にとどめられる。
入力ファイルおよび入出力ファイル(順呼び出し法):
ファイルの末尾に達しており、かつファイル記述にラベル レコードを指定してある場合、オペレーティング システムのラベル方式に従って、ラベルの処理が行われる。ラベル レコードを指定しているのにラベル レコードが存在しない場合、またはラベル レコードを指定していないのにラベル レコードが存在する場合、CLOSE文の動作はどうなるかわからない。ファイルの末尾に達しているが、ファイル記述にラベル レコードが指定されていない場合、ラベルの処理は行われないが、ランタイム システムに依存するその他の閉じる処理は行われる。ファイルの末尾に達していない場合、ランタイム システムに依存する閉じる処理は行われるが、終了ラベルの処理は行われない。
入力ファイルおよび入出力ファイル(乱呼び出し法、動的呼び出し法); 出力ファイル(乱呼び出し法、動的呼び出し法、順呼び出し法):
ファイル記述にラベル レコードを指定している場合、オペレーティング システムのラベル方式に従ってラベルの処理が行われる。ラベル レコードを指定しているのにラベル レコードが存在しない場合、またはLABEL RECORD句を指定していないのにラベル レコードが存在する場合、CLOSE文の動作はどうなるかわからない。ファイル記述にラベル レコードを指定していない場合、ラベルの処理は行われないが、ランタイム システムに依存するその他の閉じる処理は行われる。
REELまたはUNITを指定しないでCLOSE文をファイルに対して実行し、続いてそのファイルに対してOPEN文を実行すると、そのファイル内のリールまたはユニットを適切な順番で再度呼び出すことができる。
この実行単位の実行中は、このファイルを再び開くことはできない。
入力ファイルおよび入出力ファイル(リール/ユニット媒体):
 現在のリール/ユニットが該当するファイルの最後または唯一のリール/ユニットである場合、リール/ユニットの交換は行われない。現在のボリューム ポインターは変更されず、ファイル位置指示子には次のリール/ユニットが存在しないと設定される。
現在のリール/ユニットが該当するファイルの最後または唯一のリール/ユニットである場合、リール/ユニットの交換は行われない。現在のボリューム ポインターは変更されず、ファイル位置指示子には次のリール/ユニットが存在しないと設定される。
出力ファイル(リール/ユニット媒体):
下記の操作が行われる。
入力ファイル、入出力ファイル、出力ファイル(非リール/ユニット媒体):
  このCLOSE文の実行は、正常に終了したものと扱われる。実際には、ファイルは開かれたままであり、ファイル位置指示子は変更されず、一般規則4に示された以外の処理は何も行われない。
このCLOSE文の実行は、正常に終了したものと扱われる。実際には、ファイルは開かれたままであり、ファイル位置指示子は変更されず、一般規則4に示された以外の処理は何も行われない。
現在のリールまたは類似の装置は、物理的始点に位置付けられる。
  CLOSE文は、任意指定が何もされていないかように実行される。
CLOSE文は、任意指定が何もされていないかように実行される。
CLOSE文の指定とファイルの種類のこの組合わせは正しくない。実行結果がどうなるかはわからない。
以下の記述において別途断らないかぎり、"リール" と"ユニット" という語は同義であり、CLOSE文の中でまったく同じように使うことができる。順編成の大記憶ファイルの取扱いは、論理的にはテープまたは類似の順媒体と同じである。
  (この機能は、ファイルを共有するときのレコードまたはファイルのロックとは関係がない。)
(この機能は、ファイルを共有するときのレコードまたはファイルのロックとは関係がない。)
  DELETE FILE文を除き、
DELETE FILE文を除き、
明示的にも暗黙的にも実行できなくなる。ただし、そのファイルに改めてOPEN文を実行すれば、再びファイルを操作する文を実行できるようになる。