[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP OpenVMS DCL Dictionary


Previous Contents Index


CLOSE

Closes a file opened with the OPEN command and deassigns the associated logical name.

Format

CLOSE logical-name[:]


Parameter

logical-name[:]

Specifies the logical name assigned to the file when it was opened with the OPEN command.

Description

Files that are opened for reading or writing at the command level remain open until closed with the CLOSE command, or until the process terminates. If a command procedure that opens a file terminates without closing the open file, the file remains open; the command interpreter does not automatically close it.

Qualifiers

/DISPOSITION=option

Specifies what action to take when the file is closed. The options are:
DELETE Delete the file.
KEEP (default) Keep the file.
PRINT Print the file.
SUBMIT Submit the file.

/ERROR=label

Specifies a label in the command procedure to receive control if the close operation results in an error. Overrides any ON condition action specified. If an error occurs and the target label is successfully given control, the global symbol $STATUS retains the code for the error that caused the error path to be taken.

/LOG (default)

/NOLOG

Generates a warning message when you attempt to close a file that was not opened by DCL. If you specify the /ERROR qualifier, the /LOG qualifier has no effect. If the file has not been opened by DCL, the error branch is taken and no message is displayed.

Examples

#1

$ OPEN/READ INPUT_FILE   TEST.DAT 
$ READ_LOOP: 
$ READ/END_OF_FILE=NO_MORE  INPUT_FILE  DATA_LINE 
   .
   .
   .
$ GOTO READ_LOOP 
$ NO_MORE: 
$ CLOSE INPUT_FILE 
 
      

The OPEN command in this example opens the file TEST.DAT and assigns it the logical name of INPUT_FILE. The /END_OF_FILE qualifier on the READ command requests that, when the end-of-file (EOF) is reached, the command interpreter should transfer control to the line at the label NO_MORE. The CLOSE command closes the input file.

#2

$ @READFILE
[Ctrl/Y]
$ STOP
$ SHOW LOGICAL/PROCESS
   .
   .
   .
  "INFILE" = "_DB1"
  "OUTFILE" = "_DB1"
$ CLOSE INFILE
$ CLOSE OUTFILE
 
      

In this example, pressing Ctrl/Y interrupts the execution of the command procedure READFILE.COM. Then, the STOP command stops the procedure. The SHOW LOGICAL/PROCESS command displays the names that currently exist in the process logical name table. Among the names listed are the logical names INFILE and OUTFILE, assigned by OPEN commands in the procedure READFILE.COM.

The CLOSE commands close these files and deassign the logical names.


Previous Next Contents Index