STATUS 指定子

STATUS 指定子は,ファイルを開いた時の状態を指定します。これは次の形式を取ります。

STATUS = sta

sta
以下のいずれかの値に評価されるスカラ基本文字式。

'OLD' 既存のファイルを指定します
'NEW' 新しいファイルを指定します。ファイルがすでに存在する場合,エラーが発生します。いったんファイルが作成されると,その状態は 'OLD' に変わります。
'SCRATCH' 名前なしの新しいファイルを指定します (スクラッチ・ファイルと呼ばれます)。ファイルが閉じられるか,プログラムが終了すると,スクラッチ・ファイルは削除されます。
'REPLACE' ファイルが別のファイルを置き換えることを指定します。置き換え対象のファイルが存在する場合,そのファイルは削除され,同じ名前の新しいファイルが作成されます。置き換え対象のファイルが存在しない場合,新しいファイルが作成され,その状態が 'OLD' に変更されます。
'UNKNOWN' ファイルが存在する場合も,存在しない場合もあることを指定します。ファイルが存在しない場合,新しいファイルが作成され,その状態が 'OLD' に変更されます。

スクラッチ・ファイルは一時ディレクトリに格納され,開かれている間は可視状態になります。スクラッチ・ファイルは,装置が閉じられた時,またはプログラムが通常に終了した時のどちらか先に発生した時に削除されます。スクラッチ・ファイルのパスを TMP または TEMP 環境変数で指定することができます。どちらの環境変数も定義されていない場合,基本設定は現在のディレクトリになります。

基本値は 'UNKNOWN' です。これは WRITE を使って暗黙にファイルを開いた場合でも同じです。ただし,READ を使ってファイルを暗黙に開いた場合の基本値は 'OLD' です。コンパイラ・オプション /f66 (または OPTIONS/NOF77) を指定した場合の基本値は 'NEW' になります。


注意CLOSE 文でも STATUS 指定子を使って,閉じた後のファイルの状態を指定することができます。ただし,CLOSE 文での STATUS の値は,DISPOSE 指定子の項に示しているものと同じになります。