CLOSE(閉じる)文は、リール/ユニットおよびファイルの処理を終了させる(ファイルのクローズ)。さらに、可能ならば、巻戻しやロックや取外し処理を行うこともできる。
CLOSE REEL WITH LOCK文およびCLOSE UNIT WITH LOCK文は、CLOSE REEL FOR REMOVALと同義語として扱われる。
DISP指定は注記になる。
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レコード順だけ |
![]() |
B, C | A, B, C | X |
CLOSE REEL/UNITレコード順だけ |
![]() |
![]() |
F, G | X |
CLOSE REEL/UNIT FOR REMOVALレコード順だけ |
![]() |
![]() |
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文は、任意指定が何もされていないかように実行される。
CLOSE文の指定とファイルの種類のこの組合わせは正しくない。実行結果がどうなるかはわからない。
以下の記述において別途断らないかぎり、"リール" と"ユニット" という語は同義であり、CLOSE文の中でまったく同じように使うことができる。順編成の大記憶ファイルの取扱いは、論理的にはテープまたは類似の順媒体と同じである。
(この機能は、ファイルを共有するときのレコードまたはファイルのロックとは関係がない。)
DELETE FILE文を除き、
明示的にも暗黙的にも実行できなくなる。ただし、そのファイルに改めてOPEN文を実行すれば、再びファイルを操作する文を実行できるようになる。