Document revision date: 30 March 2001

## OpenVMS System Manager's Manual

Previous | Contents | Index

### 10.7.5 Writing Files to Tape Volumes

When you write files to a tape volume, the tape file system performs access checks, writes labels, and, if necessary, switches volumes.

#### 10.7.5.1 Writing New Files That Overwrite Existing Files

If a new file will overwrite an existing file, the tape file system performs the following tasks:

1. Checks the expiration date and accessibility fields of the existing file.
2. If overwriting is allowed, the tape file system performs the following task:
   1. Overwrites the header label set of the existing file
   2. Creates the file section
   3. Writes the trailer labels
   4. Writes two tape marks to denote the logical end-of-volume (EOV)

All files following the newly created file are lost.

To close a tape file that was opened for write access, the tape file system issues commands to the driver to write the labels, followed by a double tape mark that indicates the logical EOV.

#### 10.7.5.2 Appending or Updating Files

When you use DCL to access an existing file for a write operation, either an append or an update operation is actually performed. The following table describes each operation.

Access Method | Description
--- | ---
Append | When you access a file for an append operation, the tape is positioned before the tape mark that precedes the trailer labels. After the file is appended and closed, all files beyond the appended file are lost. When the positioning is complete, the processing is handled as if the file had been created.
Update | When you access a file for an update operation, the tape is positioned after the tape mark that follows the header labels. After the file is written to and closed, all files beyond the updated file are lost. The processing is handled as if the file had been created.

Note that you can update or append tape files only when the header label contains a value of 0 for the buffer offset length. For more information about how to update and append tape files, see Section 10.8.

If you do not specify the /OVERRIDE=EXPIRATION qualifier when you update a file, the tape file system checks the expiration date field on the file before it allows you to write to that file.

In addition, before you append a file, the tape file system checks the expiration dates of both the file being appended and the file immediately following it. If the expiration date of either file has not been reached, the magnetic tape file system does not allow you to append the file.

Example

You can use the CREATE command to access a volume for a write operation. The following CREATE command writes a new file to the tape volume:

    $ CREATE MTA0:MYFILE

After entering a command similar to the one in this example, follow these steps:

1. Enter the contents of the file.
2. Press Ctrl/Z to close the file and write it to the tape volume without leaving the DCL command level.

## 10.8 Copying and Transferring Files

With the OpenVMS operating system, you can copy files on disks and tapes both within the system and across other operating systems. The OpenVMS operating system provides a number of facilities to assist you in both types of information transfer.

Table 10-7 summarizes the methods you can use to transfer information.

Table 10-7 Methods of Transferring Information
Method | Description
--- | ---
DCL command COPY | Most frequently used method for transferring information.
Convert utility (CONVERT) | On a local system, allows you to change the organization of a file from sequential to indexed, for example.
Exchange utility (EXCHANGE) | On a local system, allows you to access disk and tape volumes that are formatted for operating systems other than OpenVMS. You can use EXCHANGE to transfer files between foreign volumes and standard Files--11 volumes.
DCL command EXCHANGE/NETWORK | Allows you to transfer files via the network between OpenVMS and other operating systems. The command is useful for transferring files between nodes that use OpenVMS and those that do not. The file is copied in such a way that it is meaningful on OpenVMS and other operating systems as well.
Backup utility (BACKUP) | With tapes, the only means of copying entire directory trees or files that are not sequentially structured. See Section 11.13.2 for information about using BACKUP to copy files.

The COPY command, the Exchange utility, and the DCL command EXCHANGE/NETWORK are explained in the following sections.

In many cases, you can copy information without physically transporting media. Perhaps you want to copy files between systems that are not connected by a communications link. If so, you must be able to move your files physically from one location to another. A convenient way is to copy your files to a portable volume, such as a tape reel, tape cartridge, or disk pack, and then carry that volume to the location of the other system.

The following sections describe how to perform these tasks:

Task | Section
--- | ---
Copy files to disk volumes | Section 10.8.1
Copy files to tape volumes | Section 10.8.2
Continue to copy at the end of a tape | Section 10.8.3
Use the Exchange utility to copy files | Section 10.8.4
Use the DCL command EXCHANGE/NETWORK to transfer files over a network | Section 10.8.5

### 10.8.1 Copying Files to Disk Volumes

Before you can copy files to a disk volume, you must perform the following actions:

1. Prepare the volume, as explained in Section 9.3.
2. Because disks are random-access devices, and because files must be listed in directories, you must create a directory to contain your files on the disk volume after you initialize the volume.

Copying from Disks

The default format for files on disk volumes is Files--11 Structure Level 2. You can also initialize disks in the Files--11 Structure Level 1 format, which is the format used by other Compaq operating systems, including RSX--11M, RSX--11M-PLUS, RSX--11D, and IAS.

When you copy files from disks to standard-labeled disk volumes, the following items are not preserved:

- Directory specifications
- Individual file protections
- User identification codes (UICs)
- Creation times (but the dates are preserved)
- Revision and backup dates and times

You can use the COPY command to copy the highest version of all the files in your default directory to another directory on that volume.

Copying from Tapes

The default format for files on tapes is the standard-labeled volume. The OpenVMS system supports sequential, relative, and indexed files on disks, but you can copy only sequential files to standard-labeled disk volumes. The only valid record formats are variable-length and fixed-length.

When you copy files with tape file names from magnetic tape to disk, specify a standard OpenVMS file name for the output file name specification. If you do not specify an OpenVMS file name on output, your process receives the following error message:

    RMS-F-FNM, error in file name

This message indicates that the tape file name is not a valid OpenVMS file name.

If you enter the COPY command with the /LOG qualifier, the system sends a message to the current SYS$OUTPUT device after each file has been copied. To verify that the files were successfully copied, use the DIRECTORY command.

Examples

1.     CREATE/DIRECTORY DMA3:[PUBS]
       $ DEFINE P DMA3:[PUBS]
       $ COPY *.* P
       $ COPY [PRIMER]*.* P
       $ COPY [COMMANDS]*.* P

   The CREATE/DIRECTORY command in this example creates a disk directory file named [PUBS] on DMA3:, and the DEFINE command defines the logical name P as DMA3:[PUBS]. The COPY command copies the highest version of each file in the current default directory and in the directories [PRIMER] and [COMMANDS] to the newly created directory.

2.     $ COPY *.* DMA5:[PRIVATE]

   For this example, assume that the disk device DMA5: has been allocated to your process and that a disk volume has been initialized and mounted on that device. Also assume that you have a directory called PRIVATE already created on that volume.

3.     $ COPY/LOG MTA1:"%&*?!SKI! """ SEASON.DAT
       %COPY-S-COPIED, MTA1:[]"%&*?!SKI! """.;1
       copied to WRKD:[MANUAL]SEASON.DAT;1 (120 records)

   The COPY/LOG command in this example copies the tape file %&*?!SKI!#" (# means space) to the file SEASON.DAT on the default disk and directory, WRKD:[MANUAL]. To copy the file to disk, you must specify a new file name. (The OpenVMS software provides defaults for segments of the file specification that are not specified.)
   Because this example uses the /LOG qualifier, the system returns a message that confirms the file was copied from the MTA1: tape volume; the message also tells how many records were copied.

4.     $ COPY/LOG MTA0:*.* *
       %COPY-S-COPIED, MTA0:[]TASTETEST.DAT;1
       copied to WRKD:[FOOD]TASTETEST.DAT;1 (249 records)
       %COPY-S-COPIED, MTA0:[]ALLAT;1 copied to WRKD:[FOOD]ALALL;1 (48 records)
       %COPY-S-NEWFILES, 2 files created

   In this example, the COPY/LOG command specifies wildcard characters for the file name and file type. Therefore, the system copies the only two files on the tape volume to the disk volume.

5.     $ COPY/LOG MTA1:*.* [EX]
       %COPY-S-COPIED, MTA1:[].DAT;1 copied to WRKD:[EX]TEST.DAT21 records
       %COPY-E-OPENOUT, error opening WRKD:[EX]"%&*()!SKI! """.;1 as output
       -RMS-F-FNM, error in file name
       %COPY-W-NOTCOPIED, MTA1:[]"%&*()!SKI! """.;1 not copied
       %COPY-E-OPENOUT, error opening WRKD:[EX]"SANFRAN%%%""".;1 as output
       -RMS-F-FNM, error in file name
       %COPY-W-NOTCOPIED, MTA1:[]"SANFRAN%%%""".;1 not copied
       %COPY-S-COPIED, MTA1:[]OPENVMS_LONG$FILE_NAME.LONG_EXT;1
       copied to WRKD$:[EX]OPENVMS_LONG$FILE_NAME.LONG_EXT;1 (80 records)
       %COPY-S-COPIED, MTA1:[]C6.JOU;1 copied to WRKD:[EX]C6.JOU;1 (4 records)
       %COPY-S-NEWFILES, 2 files created

   The COPY/LOG command string specifies that all files on the volume mounted on tape volume MTA1: are to be copied to the current default disk and directory WRKD:[EX]. However, the system does not copy files with tape file names, but, instead, returns an error message.
6. `$` `COPY/FTP sys$login:login.com -` `$_` `system.bldg.corp.com"username password"::sys$login:login.tmp`
   This example transfers the OpenVMS RMS file SYS$LOGIN:LOGIN.COM to the remote file SYS$LOGIN:LOGIN.TMP over a TCP/IP connection while specifying the user name and password on the remote system.

### 10.8.2 Copying Files to Tape Volumes

You can use the COPY command to copy files from a disk volume to a tape volume. The procedures are similar to those for copying files from one disk volume to another. One difference, however, is that magnetic tapes are sequential-access devices and do not have directories. You must set up (initialize and mount) a tape device before copying disk files to a tape volume. (The characteristics of tape files are described in Section 10.7.)

The entire set of Files--11 file names is supported for magnetic tapes. You can copy a disk file with the following file name to a magnetic tape volume without having to modify the file name:

       THIS_IS$AN_OPENVMSLONG_FILE.LONG_TYPE

Note Most systems that are not OpenVMS do not use file names longer than 17 characters.

Although the OpenVMS system supports stream and variable with fixed-length control (VFC) records, it encodes these records in a variable-length format on standard-labeled volumes. Systems that are not OpenVMS do not distinguish stream records or VFC records from variable-length records; instead, they interpret both as variable-length records. Therefore, do not create either stream or VFC records on volumes that will be used for information interchange to a system that is not OpenVMS.

The following steps show how to use DCL commands to copy files from a default directory on a disk volume to a standard-labeled magnetic tape volume. Included in the steps are examples showing how to allocate, initialize, and use a magnetic tape to copy a set of your disk files.

How to Perform This Task

To copy files from a default directory on a disk volume to a standard-labeled tape volume, follow these steps:

1. First, allocate a drive as follows:

       $ ALLOCATE MT: TAPE_DEVICE
       %DCL-I-ALLOC _MARS$MTA2: allocated

   This ALLOCATE command requests the allocation of a tape drive whose name begins with MT. The logical name TAPE_DEVICE in this case refers to the MARS$MTA2: drive.
   The system response indicates that unit 2 on controller A was available and is now allocated to you. You can now physically load the tape on the drive. Be sure the write ring on the tape is in place; if it is not, you cannot write to the tape.
2. Initialize the tape by entering a command similar to the following:

       $ INITIALIZE TAPE_DEVICE: GMB001/PROTECTION=(GROUP:R,WORLD)

   The INITIALIZE command specifies the logical name for the volume (TAPE_DEVICE, which in this case refers to MTA2:) and the volume label for the tape volume (GMB001). The label can be no longer than six characters. The /PROTECTION qualifier defines a protection code restricting group access to read and allowing no world access.
3. Enter the MOUNT command to mount the volume and write files to it, as in the following example:

       $ MOUNT TAPE_DEVICE: GMB001
       %MOUNT-I-MOUNTED, GMB001 mounted on _MTA2:
       $ COPY *.* TAPE_DEVICE:

   The MOUNT command specifies the device name and volume label of the volume on the device. The COPY command copies the highest version of each file in your default directory onto the tape. The file names, file types, and version numbers of the output files default to the same file names, file types, and version numbers as the input files.
   If you enter the COPY command with the /LOG qualifier, the system sends a message to the current SYS$OUTPUT device after it copies each file.
4. You can also use the DIRECTORY command to verify that the files were copied successfully.

       $ DIRECTORY TAPE_DEVICE:

   This DIRECTORY command lists the file names and file types of all files on the tape.
5. When you finish using the magnetic tape, dismount and deallocate it as follows:

       $ DISMOUNT TAPE_DEVICE:
       $ DEALLOCATE TAPE_DEVICE:

   If you do not dismount and deallocate the magnetic tape, the system does so automatically when you log out.

The following examples illustrate ways of copying files to tape volumes.

Examples

1.     $ COPY *.* MTA2:

   For this example, assume that MTA2: has been allocated to your process and that a tape volume has been initialized and mounted on that device. The COPY command writes files to the MTA2: tape volume.
   The highest versions of all files in your default disk directory are copied to the tape volume. The file names, file types, and version numbers of the output files default to the same file names, file types, and version numbers as the input files.

2.     $ COPY/LOG FORTAP.DAT MTA1:"%&*?!SKI! "" "
       %COPY-S-COPIED, WRKD:[MANUAL]FORTAP.DAT;1
       copied to MTA1:[]"%&*?!SKI! """.;0 (120 records)

   In this command for copying from disk to tape, a tape file name is specified as the output file specification. Note that the trailing space in the file name %&*?!SKI!#"# (where # means space) is not present because trailing spaces are not significant in tape names.

3.     $ COPY/LOG OPENVMS_LONG$FILE_NAME.LONG_EXT MTA1:
       %COPY-S-COPIED, WRKD:[MANUAL]OPENVMS_LONG$FILE_NAME_EXT;1
       copied to MTA1:OPENVMS_LONG$FILE_NAME.LONG_EXT;1 (80 records)

   In this example, a long file name with a long file type is copied to the tape volume MTA1: with the same file name and type as on the disk volume.

4.     $ COPY/LOG %%.JOU;* MTA1:*.*
       %COPY-S-COPIED, WRKD:[MANUAL]C6.JOU;1 copied to MTA1:[]C6.JOU;1 (4 records)

   In this example, all files with a two-character file name and a file type of .JOU are copied to the tape volume MTA1: with the same file name and type as on the disk volume. Version numbers are preserved.

### 10.8.3 Continuing to Copy at the End of a Tape

When you are copying to or from a tape and that tape reaches the end, the system suspends processing and sends a request to mount the next tape in the volume set. An operator communication manager (OPCOM) message similar to the following one is displayed at the terminal:

    %%%%%%%%%%%  OPCOM, 14-MAY-2000 15:23:31.78  %%%%%%%%%%%
    request 3, from user PLAW
    MOUNT new relative volume 2 (DW0QT2) on MTA1:

Note Because messages are sent only to the operator's terminal that is enabled for tape messages, you do not usually see this message and might not realize that another tape is needed to complete the read or write operation.

See Section 20.6 for more information about OPCOM messages.

If automatic volume switching is disabled or if the tape file system cannot mount a given volume, you might need to mount a continuation volume in a volume set. See Section 9.8.2 for information about mounting continuation volumes.

### 10.8.4 Using the Exchange Utility (EXCHANGE)

The Exchange utility (EXCHANGE) converts the format of files, as appropriate, when copying files between volumes of different structures. EXCHANGE recognizes all Files-11 and RT-11 disk volumes on OpenVMS devices, as well as all DOS-11 and RT-11 formatted volumes on 9-track tape devices.

For more information about how to use EXCHANGE and for a description of all EXCHANGE commands, qualifiers, and parameters, refer to online help or the archived manual OpenVMS Exchange Utility Manual.

### 10.8.5 Using the EXCHANGE/NETWORK Command

Use the DCL command EXCHANGE/NETWORK to transfer files to and from operating systems that do not support OpenVMS file organizations. This transfer occurs over a DECnet communications link that connects nodes that are both OpenVMS and not OpenVMS operating systems.

Use the EXCHANGE/NETWORK command to perform the following operations:

- Transfer files between an OpenVMS node and a node that is not OpenVMS.
- Transfer a group of input files to a group of output files.
- Transfer files between two nodes that are not OpenVMS, provided those nodes share DECnet connections with the OpenVMS node that issues the EXCHANGE/NETWORK command.

For details on using the EXCHANGE/NETWORK command, refer to online help or the OpenVMS DCL Dictionary.

How to Perform This Task

To issue the EXCHANGE/NETWORK command, use the following format:

`EXCHANGE/NETWORK input-filespec[,...] output-filespec`

where:

input-filespec | Specifies the name of an existing file to be transferred. (Wildcard characters are allowed.)
output-filespec | Specifies the name of the output file into which the input is to be transferred.

Example

    $ EXCHANGE/NETWORK MYSYS_FILE.DAT FOO::FOREIGN_SYS.DAT

The command in this example transfers the file MYSYS_FILE.DAT, which is located in the current default device and directory, to the file FOREIGN_SYS.DAT on node FOO, which is not an OpenVMS node. By default, the command automatically determines whether the transfer method should be block or record I/O.

Previous | Next | Contents | Index

| privacy and legal statement |
6017PRO_043.HTML