## 12.6.29 STATUS Specifier

The STATUS specifier indicates the status of a file when it is opened. It takes the following form:

  STATUS = sta
  sta
  Is a scalar default character expression that evaluates to one of the following values:

  'OLD' | Indicates an existing file.
  'NEW' | Indicates a new file; if the file already exists, an error occurs. Once the file is created, its status changes to 'OLD'.
  'SCRATCH' | Indicates a new file that is unnamed (called a scratch file). When the file is closed or the program terminates, the scratch file is deleted.
  'REPLACE' | Indicates the file replaces another. If the file to be replaced exists, it is deleted and a new file is created with the same name. If the file to be replaced does not exist, a new file is created and its status changes to 'OLD'.
  'UNKNOWN' | Indicates the file may or may not exist. If the file does not exist, a new file is created (using the next highest available version number) and its status changes to 'OLD'.

The default is 'UNKNOWN'. However, if you implicitly open a file using WRITE or you specify compiler option /NOF77 (or OPTIONS/NOF77), the default value is 'NEW'. If you implicitly open a file using READ, the default value is 'OLD'.

Scratch files (STATUS='SCRATCH') are created on your default disk (SYS$DISK) and are not placed in a directory or given a name that is externally visible. To indicate a different device, use the FILE specifier.

  Note: The STATUS specifier can also appear in CLOSE statements to indicate the file's status after it is closed. However, in CLOSE statements the STATUS values are the same as those listed for the DISPOSE specifier (see Section 12.6.12).

Previous Page Next Page Table of Contents