Museum

Home

Lab Overview

Retrotechnology Articles

⇒ Online Manual

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

PARAMETERS

QUALIFIERS

Examples

/APPEND

/ERROR

/READ

/SHARE

/WRITE

HELP OPEN — VMS 5.5

   Opens a file for reading, writing, or both; assigns a logical name
   to a file; and places the name in the process logical name table.

   See the qualifier descriptions for restrictions.

   Format

     OPEN  logical-name[:] filespec

Additional information available:

PARAMETERSQUALIFIERS

Examples

PARAMETERS

logical-name[:]
   Specifies the logical name and a character string to be assigned
   to the file.

filespec
   Specifies the name of the file or device being opened for input or
   output. The file type defaults to DAT. Wildcard characters are not
   allowed.

   To create a new, sequential file, specify the /WRITE qualifier.
   See the description of the /WRITE qualifier for more information.

QUALIFIERS

Additional information available:

/APPEND/ERROR/READ/SHARE/WRITE

/APPEND

   Opens an existing file for writing and positions the record
   pointer at the end-of-file (EOF). New records are added to the
   end of the file.

   Only sequential files allow more than one user to append records
   concurrently.

   Use the /APPEND qualifier only to add records to an existing file.
   The /APPEND and the /WRITE qualifiers are mutually exclusive.

/ERROR

      /ERROR=label

   Transfers control to the location specified by the label keyword
   (in a command procedure) if the open operation results in an
   error. The error routine specified for this qualifier overrides
   any ON condition action specified. If the /ERROR qualifier is not
   specified, the current ON condition action is taken.

   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.

/READ

      /READ (default)

   Opens the file for reading. If you specify the /READ qualifier
   without the /WRITE qualifier, you must specify an existing file.

/SHARE

      /SHARE[=option]

   Opens the specified file as a shareable file to allow other users
   read or write access. If you specify the /SHARE=READ qualifier,
   other users are allowed read access to the file, but not write
   access. If you specify the /SHARE=WRITE or the /SHARE qualifier
   with no option, users are allowed read and write access to the
   specified file.

   If the /SHARE qualifier is not present, other users are not
   allowed any access to the specified file.

/WRITE

   Opens the file for writing. The following restrictions apply to
   the /WRITE qualifier:

   o  Use the /WRITE qualifier to open and create a new, sequential
      file. If the file specification on an OPEN/WRITE command does
      not include a file version number, and if a file with the
      specified file name and file type already exists, a new file
      with a version number one greater than the existing file is
      created.

   o  Use the /READ qualifier with the /WRITE qualifier to open
      an existing file. When the file is opened, the pointer is
      positioned to the beginning of the file. (This differs from
      OPEN/APPEND, which positions the pointer at the end of the
      file.) You cannot use OPEN/READ/WRITE to create a new file.

   o  The /WRITE and the /APPEND qualifiers are mutually exclusive.

Examples

   1.  $ OPEN INPUT_FILE AVERAGE.DAT
       $ READ_LOOP:
       $ READ/END_OF_FILE=ENDIT  INPUT_FILE  NUM
          .
          .
          .
       $ GOTO READ_LOOP
       $ ENDIT:
       $ CLOSE INPUT_FILE

     The OPEN command opens the file named AVERAGE.DAT as an
     input file and assigns it the logical name INPUT_FILE. The
     file is opened with read access because the /READ qualifier
     is present by default. The READ command reads a record
     from the logical file INPUT_FILE into the symbol named
     NUM. The procedure executes the lines between the labels
     READ_LOOP and ENDIT until the end of the file is reached. At
     the end of the file, the CLOSE command closes the file.

   2.  $ OPEN/WRITE/ERROR=OPEN_ERROR  OUTPUT_FILE  TEMP.OUT
       $ COUNT = 0
       $ WRITE_LOOP:
       $ COUNT = COUNT + 1
       $ IF COUNT .EQ. 11 THEN GOTO ENDIT
       $ WRITE OUTPUT_FILE "Count is ''COUNT'."
          .
          .
          .
       $ GOTO WRITE_LOOP
       $ ENDIT:
       $ CLOSE OUTPUT_FILE
       $ EXIT
       $
       $ OPEN_ERROR:
       $ WRITE SYS$OUTPUT "Cannot open file TEMP.OUT"
       $ EXIT

     The OPEN command with the /WRITE qualifier creates the file
     TEMP.OUT and assigns it the logical name OUTPUT_FILE. TEMP.OUT
     is a sequential file.

     The /ERROR qualifier specifies that if any error occurs while
     opening the file, the command interpreter should transfer
     control to the line at the label OPEN_ERROR. The command
     procedure writes records to the file TEMP.OUT until the symbol
     COUNT equals 11.


   3.  $ OPEN/READ INPUT_FILE TRNTO::DBA0:[COST]INVENTORY.DAT
       $ READ_LOOP:
       $ READ/END_OF_FILE=ENDIT  INPUT_FILE  NUM
       $ FIRST_CHAR = F$EXTRACT(0,1,NUM)
       $ WRITE SYS$OUTPUT FIRST_CHAR
       $ GOTO READ_LOOP
       $ ENDIT:
       $ CLOSE INPUT_FILE

     This command procedure opens the file INVENTORY.DAT located at
     remote node TRNTO as an input file, and assigns it the logical
     name INPUT_FILE. The READ command reads a record from the
     logical file INPUT_FILE into the symbol named NUM. The next
     two commands extract the first character from the record and
     write the character to the SYS$OUTPUT device. These two steps
     occur for all records in the file until the procedure reaches
     the end-of-file (EOF). At this point, the CLOSE command closes
     the file and deassigns the logical name INPUT_FILE.

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026