.set para 0 .autoparagraph .title MTEXCH - Magnetic Tape Exchange Utility .skip 12 .center;MTEXCH .center;Version 2.00 .flag substitute .center;$$day-$$month-$$year .noflag substitute .hl 1 Introduction: MTEXCH is a Battelle-written VAX utility for copying files to and from magnetic tape. It provides the ability to read and write tapes in formats suitable for exchange with non-VAX computers. It provides parameters to control record length, record format, character set, carriage control and other attributes of the files being copied. The purpose of this document is to describe how to use MTEXCH. .hl 1 How MTEXCH views a tape: MTEXCH only processes tapes mounted with the /FOREIGN qualifier. This means that the VAX does not consider the tape as being labeled or containing any file name information. The tape is considered to contain one or more files separated by physical tape marks. Two consecutive tape marks are taken to indicate the end of the last file on the tape. For each tape file processed, exactly one disk file is read or written. Each file consists of one or more tape blocks. Each tape block is a sequence of characters. The maximum number of characters in a block is set by the /BLOCKSIZE qualifier on the MOUNT command. MTEXCH breaks the sequences of characters into records. This is done based on the parameters you supply describing the tape. For each record processed on the tape, exactly one disk record is read or written. The records are written to disk in one of the standard VAX RMS formats. .hl 1 Preparing to use MTEXCH: Before you can use MTEXCH to process a tape, you must request the tape and mount it. To request the tape, you must use the locally written command VSN. The VAX command MOUNT is then used to make the tape available for processing. You must specify at MOUNT time the size (in characters) of the blocks to be read or written. For example, to make a tape with a VSN of 12345, and 800 characters per block available for reading by MTEXCH, you would issue the following two commands: .lm +5 .skip $ VSN/NORING 12345 TAPE: .br $ MOUNT/FOREIGN/BLOCKSIZE=800 TAPE: .lm -5 .skip If the tape blocksize is not specified, it defaults to 512 characters. For further information on the VSN or MOUNT commands, consult the VAX HELP command. .hl 1 Using MTEXCH: To start MTEXCH, issue the MTEXCH command. MTEXCH will then begin reading directives which describe the operations it is to perform. The directives are read from SYS$INPUT. If SYS$INPUT is a terminal, MTEXCH will prompt for each directive with a "*". MTEXCH will continue reading directives until it encounters an EXIT directive or an end-of-file. Optionally, the first directive can be given on the same line as the MTEXCH command. Thus an MTEXCH session would look like: .skip .lm +5 $ MTEXCH .BR * directive .br * directive . . . .br * _^Z####### (Control-Z is an end-of-file) .skip #####or .skip $ MTEXCH directive .br * directive . . . .br * _^Z .skip .lm -5 .hl 1 MTEXCH directives: Tape operations are described to MTEXCH by directives. There are two main classes: positioning directives and copy directives. In addition, the single word directive EXIT terminates MTEXCH in the same way as an end-of-file on SYS$INPUT. .hl 2 Positioning directives: Positioning directives are used to instruct MTEXCH to skip over data, moving either forward or backward along the tape. A positioning directive has the form: .lm +5 .skip tape-dev-name:/positioning-qualifier .skip .lm -5 The string tape-dev-name represents the device name of the tape drive on which the tape was mounted. Normally, you would specify the logical name which you supplied on the VSN command. It is important to include the colon following the name. There are two possible values for /positioning-qualifier. The qualifier specifies how the tape is to be positioned. .skip 2 .indent 5 /REWIND .skip The /REWIND qualifier causes the tape to be rewound to its beginning. .skip 2 .indent 5 /SKIPFILE=n .indent 5 /SKIPFILE=+n .indent 5 /SKIPFILE=-n .skip The /SKIPFILE qualifer causes the tape to be moved forward or backward by the specified number of files. If the number is specified as -n, the tape is skipped backward. If the number is specified an +n or without a sign, the tape is skipped forward. If the tape is positioned part way through a file, a /SKIPFILE=-1 will position the tape to the beginning of the file. The positioning qualifiers can also appear following the tape-dev-name in a copy directive. You can abbreviate the names of any qualifier to the minimum number of characters required to make it unique. .hl 2 Copy directives: A copy directive tells MTEXCH to copy one or more files from tape to disk or disk to tape. You supply information to describe the tape and disk files as qualifiers in the directive. A copy directive has one of the forms shown below: .skip tape-dev-name:/qualifier-list = disk-filespec/qualifier-list .skip disk-filespec/qualifier-list = tape-dev-name:/qualifier-list .skip The specified file or files are copied from the source on the right side of the equal sign to the destination on the left side. The string tape-dev-name is the name of the tape drive on which the tape is mounted. Normally, you would use the logical name you specified on the VSN command. Again, the colon must appear on the end of the device name. The next tape file is read or written beginning at the current position of the tape. To simplify reading a large number of files from the tape, a shorthand notation is allowed. Specifying a "*" character following the colon requests that all files between the current tape position and the end of the tape be copied. A new version of the specified destination file is created for each tape file read. The string disk-filespec represents any valid VAX file specification for a file residing on disk. Any VAX wildcard notation is allowed. The string /qualifier-list is optional and represents a string of qualifiers which describe a file. A qualifier only applies to the file it immediately follows. All qualifiers can be abbreviated to the least number of characters required to make the abbreviation unique. Some examples of MTEXCH directives and an explanation of each are given below. A description of the qualifiers allowed for tape and disk files is given in the next section. .skip 2 .indent 5 MT: = DEV$MISC:[JONES]PLOT.FOR .skip Copy the disk file DEV$MISC:[JONES]PLOT.FOR to be the next file on the tape mounted on device MT:. All of the default file attributes are to be used. .skip 2 .indent 5 MYTAPE:/VARIABLE = *.FOR .skip Copy all files in the current disk directory whose type is .FOR to the tape mounted on the device MYTAPE:. The records should be written on the tape in VARIABLE format. .skip 2 .indent 5 ALPHA.DAT = MFA0:/FIXED/RECLENGTH=30/EBCDIC .skip Copy the next file from the tape device MFA0: to the disk file ALPHA.DAT. The tape file consists of FIXED format records 30 characters long. The tape is written using the EBCDIC character code. .skip 2 .indent 5 PF.LIS/FORTRAN = PRTTAPE:/RECL=132/BLOCKSZ=1320 .skip Copy the next file from the tape mounted on PRTTAPE: to the disk file PF.LIS. Set the carriage control attribute FORTRAN for the disk file. The tape file consists of FIXED records (the default) of 132 characters. Confirm that the tape is mounted with a blocksize of 1320 characters. .skip 2 .indent 5 XXX.DAT = TAPE:*/PIP10 .SKIP Copy all of the files from the current position of the tape through the last file on the tape. The tape records are in PIP10 format. The files will be written to successively higher versions of the disk file XXX.DAT. .hl 2 Disk qualifiers: You can use any of the qualifiers below to describe the disk output files being written. Qualifiers are not usually needed for files being read from disk since MTEXCH can obtain a complete description of the file from the operating system. The qualifiers are grouped together by function. MTEXCH will only allow one qualifier from each group to be specified for a file. .skip 2 .indent 5 /FIXED .indent 5 /VARIABLE .skip These two qualifiers specify the record format to be used when writing the disk file. They correspond to the VAX RMS formats of the same names. The default if neither qualifier is given is /VARIABLE. This produces a file in the standard format used by VAX editors and most other programs. The /FIXED qualifier need only be used when a file is required to be in that format. .skip 2 .indent 5 /RECLENGTH=n .skip This qualifier is used with /FIXED to specify the fixed length in characters of the records in the disk file. If an incoming tape record is shorter than n characters, it is padded with blanks. If a tape record is too long, it is truncated. A warning message is optionally generated whenever a record is truncated (see /FLAG__RECORD below). For compatability with older versions of MTEXCH, this qualifier can also be entered as /RECLENGTH:n .skip 2 .indent 5 /CR .indent 5 /FORTRAN .skip These qualifiers are used to specify the carriage control attribute for the disk file being written. The default is /CR. You should specify /FORTRAN if the first character in each record is a FORTRAN-style carriage control character. Setting this attribute will cause the carriage control character to be recognized whenever the file is typed or printed. The /CR carriage control attribute causes each record to appear on a separate line when the file is printed or typed. .skip 2 .indent 5 /FLAG__RECORDS .indent 5 /NOFLAG__RECORDS .skip The two qualifiers are the same for disk or tape. When MTEXCH encounters a record which is too long to be written, or for some other reason cannot be correctly copied to its destination, a warning message is generated flagging the incorrect record. If /FLAG__RECORDS is specified, these warning messages will appear on your terminal or in your batch job log. To supress these warnings messages, use the qualifier /NOFLAG__RECORDS. The default action is /FLAG__RECORDS. .hl 2 Tape qualifiers Specifying qualifiers is more important for tape files than for disk since MTEXCH has no other source of information about the format of the tape. Qualifiers which are omitted take on their default values. If you omit all the qualifiers, the tape file is assumed to be /FIXED /RECLENGTH=80 and /ASCII. The qualifiers are grouped below by function. Only one qualifier from each group can be specified for a file. In addition to the qualifiers listed below, the positioning qualifiers described in Section 5.1 can also be specified. All the tape positioning operations take place before the copy operations are begun. .skip 2 .indent 5 /ANSID .indent 5 /FIXED .indent 5 /PIP10 .indent 5 /RT11 .indent 5 /VARIABLE .indent 5 /VB .skip Select one of these qualifiers to describe the format of the records in the tape file. The default is /FIXED which specifies records of a fixed length with a fixed number of records per block. In this case, the blocksize must be an integral multiple of the record length. /FIXED is the most common, convenient, and reliable format for transfer of data between dissimilar computer systems. /ANSID is the ANSI D variable length record format. It is the format used by VAX for labeled tapes. /PIP10 is the standard format used on PDP-10 computers for internal tapes. /RT11 is the standard record format used by the PDP-11 operating system RT-11 when writing tapes. In /VARIABLE format a two byte binary length prefixes each record in the file. The /VB format corresponds to IBM VB format with variable length blocks and records. Each block and each record begins with a 4 byte length descriptor. For a detailed description of the tape formats, see the section on Record Formats. .skip 2 .indent 5 /RECLENGTH=n .skip For /FIXED format records, this qualifier is used to specify the fixed length in characters of the tape records. Records which are longer than the specified length are truncated, and a warning message is generated (see /FLAG__RECORDS). Records which are shorter than the specified length are blank filled. This qualifier can also be specified as /RECLENGTH:n for compatability with previous versions of MTEXCH. .skip 2 .indent 5 /BLOCKSZ=n .skip The /BLOCKSZ qualifier does not directly affect the size of blocks written or read from the tape. The maximum block size must be specified on the VAX MOUNT command used to mount the tape. The value supplied on the /BLOCKSZ qualifier is checked against the block size specified when the tape was mounted. An error is reported if the block sizes do not match. For compatability with previous versions, this qualifier can also be coded as /BLOCKSZ:n. .skip 2 .indent 5 /ASCII .indent 5 /EBCDIC .indent 5 /PRIME .skip Use these qualifiers to select the character code for the tape file. The default is /ASCII which is the normal character set on the VAX. The /EBCDIC qualifier selects the EBCDIC character set which is the standard character set for IBM computers. The /PRIME qualifier selects an ASCII variant found on PRIME computers, in which the high order bit of each character is set. .skip 2 .indent 5 /FLAG__RECORDS .indent 5 /NOFLAG__RECORDS .skip These qualifiers are described above in the section on Disk Qualifiers. .hl 1 Tape Record Formats The purpose of this section is to describe in greater detail the tape record formats processed by MTEXCH. This information may be useful for determining if an arbitrary tape can be read using an existing format. One last-ditch possibility for reading a non-standard tape is to treat it as FIXED records with the record length equal to the blocksize. This will give a disk file in which each record is an exact duplicate of a tape block. You can then write a program which processes the disk file and extracts the individual records. .hl 2 FIXED format The FIXED format is the simplest. Each record consists of a fixed number of characters. Each tape block is a fixed length and contains an integral number of records. The last block in a file may be shorter, but will still contain an integral number of records. If a tape block is read which is not an integral multiple of the record size, the excess data will be returned, blank filled.. .hl 2 VARIABLE format The VARIABLE record format consists of variable length records written with fixed length blocks. A VARIABLE record consists of a two byte binary length field followed by the data for the record. The value in the length field is the length in characters of the data portion of the record. The length field is not counted. If there is not sufficient space in a block for a record, the record is continued into the next block. .hl 2 RT11 format The RT11 record format is used by the PDP-11 operating system RT-11 (and by other computers) for writing variable length records. The records vary in length but are written in fixed length blocks. The end of each record is marked by the ASCII sequence carriage-return line-feed. Records may span block boundaries. A true RT11 tape also contains tape labels which must be skipped. .hl 2 PIP10 format The PIP10 tape format is produced by the PDP-10 computer's copy utility (PIP). It consists of fixed length blocks with variable length records. The end of each record is marked by the ASCII sequence carriage-return line-feed. This format is further complicated by the manner in which the PDP-10 tape hardware places a 36-bit computer word into 5 tape characters. There are duplicated and unused bits in the 3rd through 5th character of each 5 character sequence. As a result of this formatting, a PIP10 tape must have a blocksize which is a multiple of 5. .hl 2 ANSID The ANSI D format is used on the VAX for writing labeled tapes. It consists of variable length records each beginning with a 4 character ASCII length. The value in the length field includes the 4 characters for the count. Thus, the maximum length of data in an ANSI D record is 9995 characters. ANSI D records do not span block boundaries. If there is not sufficient space in a block for the next record, the block is padded with the ASCII character "_^" and the record begins in the next block. .hl 2 VB The VB format corresponds to the IBM VB format. It can also be used to read IBM V format tapes. Blocks and records are variable length. Each block begins with a 4 byte descriptor. The first two bytes are a binary length of the block, including the descriptor. The count is written with its most significant byte first. The remaining two bytes of the descriptor are ignored on input and are zero when written by MTEXCH. Each record begins with a record descriptor of the same form as the block descriptors. The binary length includes the 4 byte record descriptor. A block always contains an integral number of records. When a VB tape is being written, the blocksize specified on the MOUNT command sets the size of the largest block that will be generated. A block always contains an integral number of records. If adding a record would exceed the maximum blocksize, the block is written out and the record becomes the first record in the next block. .hl 1 TWO Complete MTEXCH examples As a complete example of a run of MTEXCH, suppose you wish to copy a disk file to tape number 12345 with fixed length 80 character records and a blocksize of 3200 characters. The tape is to be written in EBCDIC at 1600 bpi. As a check on the successful completion of the job, the tape is to read back to disk. The sequence of commands required to accomplish this task is given below. Note that the INIT command is only necessary to force the tape to be written at 1600 bpi. Otherwise, the tape would be written at the density last used on the tape. The label "XXX" written by INIT is overwritten by MTEXCH. User entered text is underlined. .skip $ ^&VSN/RING 12345 TAPE\& .BR __MTA0: ALLOCATED .br %OPCOM-S-OPRNOTIF, operator notified, waiting.. 16:45:08.73 .br %OPCOM-S-OPRREPLY, VOLUME SUCCESSFULLY LOADED" .br $ ^&INIT/DENSITY=1600 TAPE: XXX\& .br $ ^&MOUNT/FOREIGN/BLOCKSIZE=3200 TAPE:\& .br %MOUNT-I-MOUNTED, XXX mounted on _MTA0: .br $ ^&MTEXCH\& .br * ^&TAPE:/RECLENGTH=80/EBCDIC = PROGRAM.FOR\& .br %MTEXCH-S-COUNTSW, 3572 records / 90 tape blocks written .br * ^&TAPE:/REWIND\& .BR * ^©.FOR = TAPE:/RECLENGTH=80/EBCDIC\& .BR %MTEXCH-S-COUNTSR, 3572 records / 90 tape blocks read .BR * ^&_^Z\& .br $ ^&DISMOUNT TAPE:\& .BR $ ^&DEALLOCATE TAPE:\& .SKIP 2 As another example, suppose you have a tape written at 1600 bpi, in ASCII, with 80 character blocks and one 80 character record per block. The tape has a VSN of 23456. The third file on the tape is to be copied to disk. User commands are underlined: .skip $ ^&VSN/RING 23456 TAPE\& .BR __MTA1: ALLOCATED .br %OPCOM-S-OPRNOTIF, operator notified, waiting.. 16:52:37.10 .br %OPCOM-S-OPRREPLY, VOLUME SUCCESSFULLY LOADED" .br $ ^&MOUNT/FOREIGN/BLOCKSIZE=80 TAPE:\& .br %MOUNT-I-MOUNTED, mounted on _MTA0: .br $ ^&MTEXCH\& .br * ^&TAPE:/SKIP=2\& .BR * ^&DISK.DAT = TAPE:/RECLENGTH=80\& .BR %MTEXCH-S-COUNTSR, 100 records / 100 tape blocks read .BR * ^&_^Z\& .br $ ^&DISMOUNT TAPE:\& .BR $ ^&DEALLOCATE TAPE:\& .hl 1 Error Message Summary Listed below are the error messages generated by MTEXCH, along with an explanation of the error and possible corrections for the problem. The messages are grouped according the severity of the error. .hl 2 Success Messages These messages indicate the successful completion of an operation. .skip 2 %MTEXCH-S-COUNTSR, n records / n tape blocks read .br %MTEXCH-S-COUNTSW, n records / n tape blocks written .skip One of these messages is displayed whenever MTEXCH successfully completes a copy operation. The message gives the number of records and the number of tape blocks read or written. .hl 2 Warning messages The following messages indicate that MTEXCH has taken some action slightly different from that which you requested. However, MTEXCH was able to successfully continue with its processing. .skip 2 %MTEXCH-W-ANSILONG, longest input record exceeds ANSI maximum of 9995. Records will be truncated .skip The disk input file contains one or more records longer the maximum length allowed for an ANSI D format output file. When these records are encountered they will be truncated to the maximum length. To resolve this problem, modify the input file to shorten the long records. .skip %MTEXCH-W-ANSITRUN, Record number n exceeds ANSI maximum of 9995. Record truncated. .skip This message will occur once for each input record which exceeds the ANSI length limit. The number of the record within the input file is given. The record is truncated to the maximum ANSI length. This message can be supressed with the /NOFLAG__RECORDS qualifier. The input file should be modified to shorten the long records. .skip %MTEXCH-W-BLKIGN, /BLOCKSZ qualifier ignored for disk files .skip The /BLOCKSZ qualifier appeared following the specification for the disk file. Since the size of disk blocks cannot be changed, this qualifier is ignored. .skip %MTEXCH-W-BLKMISM, requested blocksize n does not match blocksize of m given on MOUNT .skip This message occurs if the /BLOCKSZ qualifier specifies a blocksize which is less than the blocksize specified when the tape was mounted. This is a warning since the MOUNT blocksize is actually the maximum blocksize, and it is permissable to actually write shorter blocks. The value on the /BLOCKSZ qualifier should be adjusted to match the MOUNT blocksize. .skip %MTEXCH-W-CCWARN, carriage control qualifier /xxxx ignored for input file .skip One of the carriage control qualifiers, /CR or /FORTRAN, was given for an input file. Since this qualifier is only valid for disk output files, it was ignored. Remove the qualifier from your directive. .skip %MTEXCH-W-FIXBLK, blocksize n is not a multiple of record size m. Short blocks will be written or read. .skip This message occurs when FIXED records are to be read or written, and the blocksize is not an exact multiple of the record size. If writing to tape, MTEXCH will write blocks which are the nearest multiple of the record size, less than the specified blocksize. When reading from tape, MTEXCH will return all of the records from the block, plus an additional record consisting of the fragment at the end of the block. This message is usually a result of failing to specify either the blocksize on the MOUNT or the /RECLENGTH on the copy directive. .skip %MTEXCH-W-FIXLONG, longest input record exceeds fixed record length. Records will be truncated .skip MTEXCH has determined that one or more of the records in a disk input file exceed the record length requested for FIXED records. The oversize records will be truncated to the specified fixed length. Modify the input file to shorten the records which are too long. .skip %MTEXCH-W-ONLYASC, only ASCII data supported for disk files .skip A character set qualifier other than /ASCII was specified following the disk file. Since MTEXCH only supports disk files written in ASCII, this qualifier is ignored. Remove the offending qualifier from the directive. .skip %MTEXCH-W-OUTTRUN, record number n exceeds maximum output record length. Record truncated. .skip A record was to be written, either to disk or tape, which for some reason exceeded the maximum allowable size. Either the record exceeded the length set for FIXED records, or the record exceeded the maximum size allowed for a disk file. The record was truncated to the maximum length. The input file should be altered to shorten the oversize record. This message can be suppressed with the /NOFLAG__RECORDS qualifier. .skip %MTEXCH-W-POSIGN, /REWIND and /SKIPFILE qualifiers ignored for disk files .skip Since file positioning is not meaningful for VAX disk files, these two qualifiers are ignored when they follow the disk file specification. .skip %MTEXCH-W-RECFRAG, short record read at the end of block .skip This message appears each time a tape block occurs that is longer than an integral multiple of the record length for FIXED records. It indicates that a record consisting of the excess data was written to the output file. This message probably means that the /RECLENGTH or the MOUNT blocksize was not correctly specified. The message can be supressed by the /NOFLAG__RECORDS qualifier. .hl 2 Non-fatal errors A message from this group indicates that MTEXCH could not begin or successfully complete an operation. Those messages which indicate a syntax error in a directive print out the offending part of the directive. Following each of these messages, MTEXCH prompts for the next directive. .skip %MTEXCH-E-AMBIG, ambiguous abbreviation for qualifier .skip The abbreviation used for a qualifier was not unique. Use a longer abbreviation so that the ambiguity can be resolved. .skip %MTEXCH-E-ANSIFAO, error formatting ANSI record length .skip MTEXCH encountered an error while formatting the length field for an ANSI D record. This error is not caused by any user action and should be reported to Systems Support. .skip %MTEXCH-E-ANSIJNK, ANSI record number n has invalid length field .skip MTEXCH encountered a length field for an ANSI D record which did not contain a numeric value. Either the tape file is not in ANSI D format, or the file is not correctly written. Make sure that you are processing the correct file on the tape and are not processing a tape label. .skip %MTEXCH-E-ASGERR, unable to assign channel on device ddxn: .skip This error means that MTEXCH was unable to initialize the specified tape device. An additional message should indicate the reason. This error could indicate a hardware problem with the device. .skip %MTEXCH-E-BADDEST, syntax error in destination file spec .skip This message means that the beginning of the directive, which should be a specification for the destination file, was not recognizable. Make sure that you directive begins with a valid device or file specification. .skip %MTEXCH-E-BADSOURCE, qualifiers or "=" must follow destination file spec .skip MTEXCH was able to successfully interpret the destination part of the directive. Following the destination however, it could not recognize the indicated text as being a qualifier or the "=" separating the two halves of the directive. Make sure there are no excess characters in the directive and that the "=" character is present. .skip %MTEXCH-E-BADVAL, illegal value for qualifier .skip The indicated qualifier requires a value. The text following the "=" or ":" was not recognizable as a value for the qualifier. Reenter the directive correcting the value. .skip %MTEXCH-E-BADVARCNT, record contains incorrect length field .skip MTEXCH read a VARIABLE record with an incorrect length field. Either the value was too large, or the end of the file was reached while trying to return a record. Make sure the file being read actually has variable format records. .skip %MTEXCH-E-BLKRANGE, blocksize must be between 14 and 65532 inclusive .skip The value specified for the /BLOCKSZ qualifier must be in the legal range for VAX tape blocksizes. Respecify the directive with a valid blocksize. .skip %MTEXCH-E-BLKRQERR, requested blocksize of n exceeds MOUNT'ed blocksize of m .skip The value specified on the /BLOCKSZ qualifier exceeds the value supplied on the MOUNT command. Since the MOUNT command determines the maximum size of a block on the tape, MTEXCH cannot write blocks of the requested size. Respecify the directive with a new /BLOCKSZ value, or DISMOUNT and re-MOUNT the tape with a new maximum blocksize. .skip %MTEXCH-E-BOTHDISK, source and destination files cannot both be a disk device .br %MTEXCH-E-BOTHTAPE, source and destination files cannot both be a tape device .skip The files specified for the source and destination of a copy are both on the same type of device. MTEXCH can only process copies from disk to tape or tape to disk. Make sure that the colon was specified following the tape device name. .skip %MTEXCH-E-DEVTYPERR, invalid device ddxn: .skip MTEXCH was unable to determine what type of device was specified. Another line of message will give further information. The usual cause is an incorrectly type device name, or a device which does not exist on the system. .skip %MTEXCH-E-DIOFAIL, I/O error on file xxxxx .skip MTEXCH encountered an error trying to read or write the specified disk file. Another line of this message will indicate what problem occurred. Make sure that the file is actually readable. One cause of this message is failing to specify a /RECLENGTH when writing FIXED disk records. .skip %MTEXCH-E-DISKPARSE, error opening disk file xxxxx .skip An error was encountered trying to open the disk file specified. The second line of this message gives the reason. Usual causes for this error are a non-existant file, no permission to read or write the file, or the file being opened by another user. .skip %MTEXCH-E-DUPCON, duplicate or conflicting qualifiers .skip The specification for either the source or destination file contains conflicting qualifiers. Consult Section 5 of this document to see which qualifiers are compatible. .skip %MTEXCH-E-ENDJNK, extraneous data after end of command .skip The destination and source components of the directive were resolved successfully. However, there was additional text in the directive. Possibly a "/" was omitted from a qualifier. Reenter the directive without the excess data. .skip %MTEXCH-E-INTERRFM, internal error. Bad record format code .skip This message is not caused by any user action. It indicates an internal logic error in MTEXCH. Please report this error to Systems Support. .skip %MTEXCH-E-PIP10BLK, blocksize for PIP10 tapes must be multiple of 5 .skip The blocksize specified on the MOUNT command was not a multiple of 5. If the tape actually contains PIP10 format data, the blocksize is not specified correctly. DISMOUNT the tape and re-MOUNT it with the correct blocksize. .skip %MTEXCH-E-QIOERR, error issuing I/O request on device ddxn: .skip MTEXCH was unable to issue an I/O request on the tape device. The second line of this message gives the reason. One possible cause of this message is a failure to MOUNT the tape. This results in you not having privilege to access the device. .skip %MTEXCH-E-RECRANGE, record size must be less than or equal to 32767 .skip The value specified for the /RECLENGTH qualifier exceeds the maximum allowed by VAX RMS. If the tape actually contains records of this size, it cannot be processed. Respecify the directive with a legal record length. .skip %MTEXCH-E-RECTOOBIG, largest input record exceeds tape block .skip The disk input file contains records that are longer than the blocksize specified when the tape was MOUNTED. MTEXCH cannot handle this case. Modify the input file to shorten records, or DISMOUNT and re-MOUNT the tape with a larger blocksize. .skip %MTEXCH-E-TIOFAIL, I/O error on device ddxn: .skip MTEXCH encountered an error doing I/O on the tape device. The second line of the message give a further explanation. This message usually indicates a physical problem with the tape such as a parity error. It is possible to encounter spurious errors by reading or using /SKIPFILE to position beyond the last data written on the tape. .skip %MTEXCH-E-UNKQUAL, unrecognized qualifier .skip The specified qualifier is not recognized by MTEXCH. Reenter the command with a correct qualfier. .skip %MTEXCH-E-UNSUPFMT, only /FIXED and /VARIABLE formats supported for disk fiels .skip A record format qualifier that is only applicable to tape was specified following the disk file description. Only record formats supported by VAX RMS are allowed on disk. Respecify the directive. .skip %MTEXCH-E-VALREQ, qualifier requires a value .skip The indicated qualifier must be followed by a "=" or ":" and a value. Respecify the directive supplying a value for the qualifier. .skip %MTEXCH-E-WILDERR, wildcard characters not allowed on destination file .skip The destination specification contains wildcard notation. Wildcarding is only allowed for specifying multiple input files. Reenter the directive with a correct destination file. .hl 2 Fatal errors The following messages indicate error conditions from which MTEXCH cannot proceed. You must reenter the MTEXCH command. .skip %MTEXCH-F-BADFOR, unable to get command line .skip An error occured when MTEXCH attempted to process the command line which invoked it. This error cannot be caused by any user action. Please report this error to Systems Support. .skip %MTEXCH-F-CMDERR, unable to read command from input .skip MTEXCH was unable to read its next directive from the SYS$INPUT. The second line of the message indicates the reason for the error. Correct the problem with the input file before rerunning MTEXCH.