Must be specified immediately after the output file specification in the SORT or MERGE command line.
1 /ALLOCATION
Specifies the number of blocks to be preallocated for the output file. Used for optimization when you know that the output file allocation will differ substantially from the total input file allocation (because you are reformatting data or omitting records). Format output-file-spec/ALLOCATION=n
1.1 – Qualifier Value
n Specifies the number of blocks to be allocated. A value of 1 to 4,294,967,295 is allowed.
1.2 – Full Description
Sort/Merge preallocates space for the output file based on total input file allocation, thereby avoiding the overhead of extending the file every time another few blocks are written to it. However, if you know that the output file allocation will differ substantially from the total input file allocation (because you are reformatting data or omitting records), you can specify the number of blocks to be preallocated for the output file. The /ALLOCATION qualifier is required if the /CONTIGUOUS qualifier is used.
1.3 – Example
$ SORT/KEY=(POS:1,SIZ:80) STATS.DAT - _$ SUMMARY.LIS/ALLOCATION=1000/CONTIGUOUS This SORT command allocates 1000 contiguous blocks for the output file SUMMARY.LIS.
2 /BUCKET_SIZE
Specifies the OpenVMS RMS bucket size (the number of 512-byte blocks per bucket) for the output file. Used with relative and indexed-sequential output disk files for optimization. Format output-file-spec/BUCKET_SIZE=n
2.1 – Qualifier Value
n Specifies the bucket size. A value of 1 to 32 is allowed.
2.2 – Full Description
Use the /BUCKET_SIZE qualifier with relative and indexed- sequential output disk files to specify OpenVMS RMS bucket size (the number of 512-byte blocks per bucket). If the output file organization is the same as for the input files, the default value is the same as the first input file bucket size. If output file organization is different, the default value is 1. The maximum number of blocks per bucket is 32.
2.3 – Example
$ SORT/KEY=(POS:1,SIZ:80) STATS1.DAT,STATS2.DAT - _$ SUMMARY.LIS/BUCKET_SIZE=16/RELATIVE This SORT command results in the output file SUMMARY.LIS that has a bucket size of 16 with relative organization.
3 /CONTIGUOUS
Requests that the output file be stored in contiguous disk blocks, thereby decreasing access time. Note that you must also specify the /ALLOCATION qualifier because if the preallocated space is too small, OpenVMS RMS may be unable to extend the file contiguously. Format output-file-spec/CONTIGUOUS
3.1 – Full Description
By default, Sort/Merge does not allocate contiguous disk blocks for the output file. You can request, however, that the output file be stored in contiguous disk blocks by specifying the /CONTIGUOUS qualifier, thereby decreasing access time. If you use the /CONTIGUOUS qualifier, you must also specify the /ALLOCATION qualifier because if the preallocated space is too small, OpenVMS RMS may be unable to extend the file contiguously.
3.2 – Example
$ SORT/KEY=(POS:1,SIZ:80) STATS.DAT - _$ SUMMARY.LIS/ALLOCATION=1000/CONTIGUOUS This SORT command allocates 1,000 contiguous blocks for the output file SUMMARY.LIS.
4 /FORMAT
Specifies the output file record format if it differs from the input file format. Format output-file-spec/FORMAT=(type:n ...)
4.1 – Qualifier Values
BLOCK_SIZE:n Specifies the output file's block size, in bytes, if you have directed the file to magnetic tape. You can also accept the default. If the input file is a tape file, the block size of the output file defaults to that of the input file. Otherwise, the output file block size defaults to the size used when the tape was mounted. Acceptable values for block size n range from 20 to 65,532. To ensure correct data interchange with other OpenVMS systems, however, specify a block size of not more than 512 bytes. For compatibility with systems that are not OpenVMS, the block size should not exceed 2,048 bytes. CONTROLLED:n Specifies variable with fixed-length control (VFC) records in the output file. n Optionally indicates the maximum record size (in bytes) of the output records. The maximum record size allowed depends on the file organization. Sequential files 32,767 Relative files 16,383 Indexed-sequential files 16,362 These totals include control bytes. If you do not specify the maximum record size, the default is a length large enough to hold the longest output record. FIXED:n Specifies fixed-length records in the output file. SIZE:n Specifies the size, in bytes, of the fixed portion of VFC (CONTROLLED) records, up to a maximum of 255 bytes. If you do not specify SIZE, the default is the size of the fixed portion of the first input file. If you specify this size as 0, OpenVMS RMS defaults the value to 2 bytes. VARIABLE:n Specifies variable-length records in the output file.
4.2 – Full Description
If the sort operation is a record or tag sort, the default output record format is the same as the first input file record format. If the sort operation is an address or index sort, the default output record format is fixed record format. If the input files have different record formats, Sort provides an output record size that is large enough to contain the largest record in the input files. When you specify the output record format, you can indicate the maximum record size, in bytes, of the output records. You can specify fixed-length records, variable-length records, or variable with fixed-length control records.
4.3 – Example
$ SORT/KEY=(POS:1,SIZ:80) STATS.DAT SUMMARY.LIS/FORMAT=FIXED:80 The input file STATS.DAT consists of variable-length records that are 80 bytes in length. The /FORMAT qualifier specifies that the output file, SUMMARY.LIS, consists of fixed-length records.
5 /INDEXED_SEQUENTIAL
Defines the output file organization as indexed sequential. The output file must exist and must be empty. Used with the /OVERLAY qualifier. Format output-file-spec/INDEXED_SEQUENTIAL
5.1 – Full Description
If the organization of the output file is to be different from that of the input files, then you must specify the new organization. Use the /INDEXED_SEQUENTIAL qualifier to define indexed-sequential organization for the output file. Additionally, the output file must exist and must be empty, and you must use the /OVERLAY qualifier.
5.2 – Example
$ CREATE/FDL=NEW.FDL AVERAGE.DAT $ SORT/KEY=(POS:1,SIZ:80) DATA.DAT,STATS.DAT - _$ AVERAGE.DAT/INDEXED_SEQUENTIAL/OVERLAY The CREATE/FDL command creates the empty file AVERAGE.DAT. The SORT command specifies that the output file have an indexed- sequential organization and be written to the empty file AVERAGE.DAT.
6 /OVERLAY
Specifies an existing empty file that the output file is to be overlaid, or written to. The /OVERLAY qualifier is required when you use the /INDEXED_SEQUENTIAL qualifier. Format output-file-spec/OVERLAY
6.1 – Full Description
To specify that an empty file is to be overlaid with sorted records, use the /OVERLAY qualifier. If the input file organization is indexed-sequential, the output file must already exist and must be empty. If the output file is not empty, /OVERLAY does not write over the file. Instead, it appends the result of the sort to the existing output file. If the input file organization is sequential or relative, you can create an empty file for the sorted records using an OpenVMS RMS program and use the /OVERLAY qualifier to specify that the output file is to be overlaid. You can use the Create/FDL utility to create an empty data file; use the /OVERLAY qualifier to specify that Sort is to write output to that file. Any attributes that you specify when creating the empty file then become attributes of the Sort output file. See the OpenVMS Record Management Services Reference Manual for more information. You can also refer to this manual if you want to use the Convert utility to produce an indexed-sequential file on output.
6.2 – Example
$ CREATE/FDL=NEW.FDL AVERAGE.DAT $ SORT/KEY=(POS:1,SIZ:80) STATS.DAT AVERAGE.DAT/OVERLAY The FDL file NEW.FDL specifies special attributes for the file AVERAGE.DAT. When Sort writes output to that file, the resulting Sort output file has the attributes specified by the FDL file.
7 /RELATIVE
Defines the output file organization as relative. Format output-file-spec/RELATIVE
7.1 – Full Description
If the organization of the output file is to be different from that of the input files, then you must specify the new organization. If you do not specify file organization, the default for record and tag sorts is the organization of the first input file. You must use the /RELATIVE qualifier to specify relative output file organization.
7.2 – Example
$ SORT/KEY=(POS:1,SIZ:80) STATS.DAT SUMMARY.LIS/RELATIVE Because the input file STATS.DAT is not a relative file and the output file, SUMMARY.LIS, will be, /RELATIVE qualifies the output file specification.
8 /SEQUENTIAL
Defines output file organization as sequential. This is the default for address and index sorts. (The default for record and tag sorts is the organization of the first input file.) Format output-file-spec/SEQUENTIAL
8.1 – Full Description
If the organization of the output file is to be different from that of the input files, you must specify the new organization. If you do not specify file organization, the default for record and tag sorts is the organization of the first input file. If you do not specify file organization, the default organization for address and index sorts is sequential. Use the /SEQUENTIAL qualifier when the default is not sequential file organization and you want an output file with sequential file format.
8.2 – Example
$ SORT/KEY=(POS:1,SIZ:80) STATS.DAT SUMMARY.LIS/SEQUENTIAL Because the input file STATS.DAT is not a sequential file and the output file SUMMARY.LIS will be, /SEQUENTIAL qualifies the output file specification.