Document revision date: 30 March 2001

## OpenVMS User's Manual

Previous | Contents | Index

### 10.6.11 List Formatting

The following table lists all DSR commands used for formatting lists:

Command | Description
--- | ---
.DISPLAY ELEMENTS | .DLE | Allows you to specify the form that sequential numbering or lettering of items in a list will take.
.LIST .END LIST | .LS .ELS | Specifies the beginning of a list by resetting the left margin farther to the right, by setting a .SKIP command value to take effect before each item in the list, and by executing the .TEST PAGE command. The .END LIST command ends a list, restoring any fill, justify, case, margin, or spacing settings that were in effect before you entered the most recent .LIST command.
.LIST ELEMENT | .LE | Specifies the beginning of each item in a list.
.NUMBER LIST | .NMLS | Allows you to specify, anywhere in a list, the number with which a sequence of items in a list will begin. Enter this command just before the .LIST ELEMENT command that you want to affect. Subsequent list elements will each have a number that is one greater than the number for the preceding .LIST ELEMENT command. (See also .DISPLAY ELEMENTS, with which you can specify the form the number will take.)

### 10.6.12 Note and Footnote Formatting

The following table lists all DSR commands used for creating notes and footnotes:

Command | Description
--- | ---
.FOOTNOTE .END FOOTNOTE | .FN .EFN | Places text at the bottom of the current page. If there is not enough space on the current page for the entire footnote, DSR places the entire note at the bottom of the next page. The .END FOOTNOTE command ends the footnote and restores any case, fill, justify, spacing, or margin settings that you might have changed within the footnote.
.NOTE .END NOTE | .NT .EN | Highlights a portion of text by narrowing the margin settings, centering the text on the page, and printing a title centered over the text. The .END NOTE command restores the fill, justify, case, margin, and spacing settings that were in effect just before you entered the .NOTE.

### 10.6.13 Chapter and Appendix Formatting

The following table lists all DSR commands used for formatting chapters and appendixes:

Command | Description
--- | ---
.APPENDIX | .AX | Specifies the beginning of an appendix, assigns an identifying letter to it, and allows you to supply a title.
.CHAPTER | .CH | Specifies the beginning of a chapter, assigns an identifying number to it, and allows you to supply a title.
.DISPLAY APPENDIX | .DAX | Allows you to specify the form that the lettering (or numbering) of appendixes will take. The form you specify appears in the title, the page numbers, and the first character of header-level numbers throughout the appendix.
.DISPLAY CHAPTER | .DCH | Allows you to specify the form that the numbering (or lettering) of chapters will take. The form you specify appears in the title, the page numbers, and the first character of header-level numbers throughout the chapter.
.NUMBER APPENDIX | .NMAX | Allows you to specify an identifying letter with which a sequence of appendixes will begin. The next .APPENDIX command starts the sequence. Subsequent .APPENDIX commands cause appendixes to be lettered in alphabetic order. (See also .DISPLAY APPENDIX.)
.NUMBER CHAPTER | .NMCH | Allows you to specify the number with which a sequence of chapters will begin. The next .CHAPTER command starts the sequence. Subsequent .CHAPTER commands will cause each chapter to be numbered one higher than the previous chapter. (See also .DISPLAY CHAPTER.)

### 10.6.14 Section Formatting

The following table lists all DSR commands used for formatting sections:

Command | Description
--- | ---
.DISPLAY LEVELS | .DHL | Allows you to specify the form that sequential numbering (or lettering) of section headers will take.
.HEADER LEVEL | .HL | Allows you to specify both a section number and a section title. Successive .HEADER LEVEL commands of the same value cause the section numbers to increase sequentially (all .HEADER LEVEL 1 commands, for example).
.NUMBER LEVEL | .NMLV | Allows you to specify the beginning number of a sequence of headers. (See also .STYLE HEADERS and .DISPLAY LEVELS.)
.SET LEVEL | .SL | Allows you to preset the level of the next section head without entering a .HEADER LEVEL command (see .HEADER LEVEL).
.STYLE HEADERS | .STHL | Changes the formats of the various levels of section headers (.HEADER LEVEL n).

### 10.6.15 Index Formatting

The following table lists all DSR commands used for formatting indexes:

Command | Description
--- | ---
.ENABLE INDEXING .DISABLE INDEXING | .EIX .DIX | Enable and disable the operation of the indexing commands (.INDEX and .ENTRY) and the Index flag (>).
.ENTRY | .Y | Creates an index entry without a page number reference. It is usually used for "See" or "See also" index entries.
.FLAGS INDEX .NO FLAGS INDEX | .FL INDEX .NFL INDEX | Enable and disable recognition of the Index flag character (>).
.FLAGS SUBINDEX .NO FLAGS SUBINDEX | .FL SUBINDEX .NFL SUBINDEX | Enable and disable recognition of the Subindex flag (>). The .FLAGS SUBINDEX command can change the Subindex flag to another character. The .NO FLAGS SUBINDEX can include a right angle bracket (>) as part of your indexed text, instead of causing subindexing.
.INDEX | .X | Creates an index entry with a page number reference.
.XLOWER .XUPPER | .XL .XU | Determine whether you control the case of index entries specified by the .INDEX and the .ENTRY commands or by the Index flag (>). When you enter the .XLOWER command, the case of the index entries matches exactly the case that you enter when you make the index entry. When you enter the .XUPPER command, DSR capitalizes the first character of every index entry and drops everything else in the entry to lowercase.

### 10.6.16 Tables of Contents Formatting

The following table lists all DSR commands used for formatting tables of contents:

Command | Description
--- | ---
.ENABLE TOC .DISABLE TOC | .ETC .DTC | Enable and disable use of information collected by DSR to create a table of contents.
.SEND TOC | .STC | Allows you to control the appearance of the table of contents (.RNT) file by inserting DSR commands, DSR flags, and text.

### 10.6.17 Flag Recognition Commands

The following table lists all DSR commands used for flag recognition:

Command | Description
--- | ---
.FLAGS ACCEPT .NO FLAGS ACCEPT | .FL ACCEPT .NFL ACCEPT | Control recognition of the Accept flag character (_).
.FLAGS ALL .NO FLAGS ALL | .FL .NFL | Serve as master switches for all other flag (.FLAG and .NO FLAG) settings, except the .FLAGS COMMENT, .NO FLAGS COMMENT, .FLAGS CONTROL, and .NO FLAGS CONTROL commands. The .FLAGS ALL and .NO FLAGS ALL commands enable and disable recognition of all flags without disturbing other flag command settings. (An analogy for flag recognition is turning on a master switch [entering .FLAGS ALL] --- those lights with switches in the ON position will go on and those with switches in the OFF position will not go on.) See also .ENABLE BOLDING and .DISABLE BOLDING, .HYPHENATION, .INDEXING, .OVERSTRIKING, and .UNDERLINING commands.
.FLAGS BOLD .NO FLAGS BOLD | .FL BOLD .NFL BOLD | Enable and disable recognition of the Bold flag character (*).
.FLAGS BREAK .NO FLAGS BREAK | .FL BREAK .NFL BREAK | Enable and disable recognition of the Break flag character (|), which specifies the place at which a new page should begin.
.FLAGS CAPITALIZE .NO FLAGS CAPITALIZE | .FL CAPITALIZE .NFL CAPITALIZE | Enable and disable recognition of the Capitalize flag character (<).
.FLAGS COMMENT .NO FLAGS COMMENT | .FL COMMENT .NFL COMMENT | Enable and disable recognition of the Comment flag character (!).
.FLAGS CONTROL .NO FLAGS CONTROL | .FL CONTROL .NFL CONTROL | Control recognition of the Control flag character (the period that begins a DSR command). The .FLAGS CONTROL command changes the character that precedes the commands from a period to a character of your choice. The .NO FLAGS CONTROL command disables recognition of the Control flag character.
.FLAGS HYPHENATE .NO FLAGS HYPHENATE | .FL HYPHENATE .NFL HYPHENATE | Enable and disable recognition of the Hyphenate flag character (=).
.FLAGS LOWERCASE .NO FLAGS LOWERCASE | .FL LOWERCASE .NFL LOWERCASE | Enable and disable recognition of the Lowercase flag character (\).
.FLAGS OVERSTRIKE .NO FLAGS OVERSTRIKE | .FL OVERSTRIKE .NFL OVERSTRIKE | Enable and disable recognition of the Overstrike flag character (%).
.FLAGS PERIOD .NO FLAGS PERIOD | .FL PERIOD .NFL PERIOD | Enable and disable recognition of the Period flag character (+).
.FLAGS SPACE .NO FLAGS SPACE | .FL SPACE .NFL SPACE | Enable and disable recognition of the Space flag character (#).
.FLAGS SUBSTITUTE .NO FLAGS SUBSTITUTE | .FL SUBSTITUTE .NFL SUBSTITUTE | Enable and disable recognition of the Substitute flag character ($). Note that you must use a pair of Substitute flag characters to make the substitution occur.
.FLAGS UNDERLINE .NO FLAGS UNDERLINE | .FL UNDERLINE .NFL UNDERLINE | Enable and disable recognition of the Underline flag character (&).
.FLAGS UPPERCASE .NO FLAGS UPPERCASE | .FL UPPERCASE .NFL UPPERCASE | Enable and disable recognition of the Uppercase flag (^).

### 10.6.18 Other DSR Commands

The following table lists other miscellaneous DSR commands:

Command | Description
--- | ---
.CONTROL CHARACTERS .NO CONTROL CHARACTERS | .CC .NCC | Enable and disable use of control characters as normal text in your input file.
.IF .IFNOT .ELSE .ENDIF | -- -- .EI .IN | Cause portions of a DSR file to be processed or not processed, according to conditions that you specify.
.NO SPACE | .NSP | Prevents the insertion of the end-of-line space for one line of text only, causing the characters at the end of one line and the beginning of the next to be adjacent.
.REPEAT | .RPT | Allows you to specify up to 150 characters to be printed a specified number of times, either horizontally or vertically.
.REQUIRE | .REQ | Allows you to process several DSR files at the same time and merge them in an output file.
.SAVE .RESTORE | .SA .RE | Maintain the current RUNOFF formatting context of a document, including DSR defaults as well as DSR commands and flags.
.SET DATE .SET TIME | .SDT .STM | Specify a date and time to be inserted in your file when you use the Substitute flag pair, $$, with any of the appropriate date or time parameters. The .SET DATE command also sets the date for the .DATE command, which causes the date to appear in running heads.
.VARIABLE | .VR | Allows you to specify a character that corresponds to the name you have given the commands and text in an .IF (or .IFNOT) block. This identifying character is placed in the left margin when you process your file with the /DEBUG or /DEBUG=CONDITIONALS command line qualifier.

## Chapter 11
Sort/Merge Utility: Sorting and Merging Files

This chapter describes how to use the OpenVMS Sort/Merge utility (SORT/MERGE). The Sort/Merge utility performs two operations:

- Sorts records from one or more input files according to the fields you select and generates one reordered output file
- Merges up to 10 (high-performance Sort/Merge utility supports up to 12) input files that have been sorted previously according to the same key fields and generates one output file.

On Alpha systems, you can also choose the high-performance Sort/Merge utility. This utility takes advantage of the Alpha architecture to provide better performance for most Sort and Merge operations. Refer to Section 11.1 for information.

This chapter describes:

- High-performance Sort/Merge
- Sorting files
- Specifying collating sequences
- Running Sort as a batch job
- Merging files
- Entering records from a terminal
- Using a Sort/Merge specification file
- Optimizing a Sort or Merge operation
- Summary of Sort/Merge qualifiers

For additional information, see the following:

- For information on commands used in this chapter, refer to the OpenVMS DCL Dictionary.
- For information on how a system manager can improve efficiency when using the Sort/Merge utility, see the OpenVMS System Manager's Manual.

## 11.1 High-Performance Sort/Merge

On Alpha systems, you can also choose the high-performance Sort/Merge utility. This utility takes advantage of the Alpha architecture to provide better performance for most Sort and Merge operations.

The high-performance Sort/Merge utility uses the same command line interface as SORT/MERGE. Any differences between the high-performance Sort/Merge utility and SORT/MERGE are noted throughout this chapter.

Use the SORTSHR logical to select the high-performance Sort/Merge utility. Define SORTSHR to point to the high-performance sort executable in SYS$LIBRARY as follows:

    $ define sortshr sys$library:hypersort.exe

To return to SORT/MERGE, deassign SORTSHR. The SORT/MERGE utility is the default if SORTSHR is not defined.

Note Memory allocation differences may limit the high-performance Sort/Merge utility's ability to perform the same number of concurrent sort operations as the Sort/Merge utility can perform in the same amount of virtual memory. If this situation occurs, you can either increase the amount of virtual memory that is available to the process, or reduce the working set extent. For information on using system parameters to change the amount of virtual memory or reduce the working set extent, refer to the OpenVMS System Management Utilities Reference Manual.

.

The behavior of the high-performance Sort/Merge utility is the same as SORT/MERGE, except as shown in Table 11-1.

If you attempt to use an unsupported qualifier or assign an unsupported value to a qualifier, the high-performance Sort/Merge utility generates an error.

Table 11-1 High-Performance Sort/Merge: Differences in Behavior
Feature | High-Performance Sort/Merge Behavior
--- | ---
Key data types | The H-FLOATING and ZONED decimal data types are not supported. The size of a BINARY data type key must be 1, 2, 4, or 8 bytes. A 16-byte binary key is not supported. (Implementation of this feature is deferred to a future OpenVMS Alpha release.)
Collating sequences | The National Character Set (NCS) collating sequences are not supported. (Implementation of this feature is deferred to a future OpenVMS Alpha release.) Do not specify the name of an NCS collating sequence for the /COLLATING_SEQUENCE qualifier. The ASCII, EBCDIC, and MULTINATIONAL collating sequences are supported. The default is ASCII. You cannot define or modify your own collating sequence through the use of a specification file. (Implementation of this feature is deferred to a future OpenVMS Alpha release.)
Specification files | Specification files are not supported. (Implementation of this feature is deferred to a future OpenVMS Alpha release.) Do not use the /SPECIFICATION qualifier.
Internal sorting process | Only the record sort process is supported. (Implementation of this feature is deferred to a future OpenVMS Alpha release.) You can specify /PROCESS=RECORD or omit the /PROCESS qualifier. The TAG, ADDRESS, and INDEX values for the /PROCESS qualifier are not supported.
Statistical summary information | The following statistics are currently supported: Records read Records sorted Records output Input record length The following statistics are unavailable: Internal length Output record length Sort tree size Number of initial runs Maximum merge order Number of merge passes Work file allocation Full implementation of this feature is deferred to a future OpenVMS Alpha release.

## 11.2 Sorting Files

To sort files, use the DCL command SORT. Specify the names of the files to be sorted, separated by commas, followed by the name of the ordered output file to be created.

Optionally, you can specify a key for each field on which you want to sort. Each key includes the following information:

- Starting position of the key field in a record (required)
- Size of the key (required)
- Data type of the key
- Order in which the records are sorted
- Priority of the key

If you do not specify any keys, Sort assumes there is only one key and that this key field:

- Begins in the first position of a record
- Includes the entire record
- Contains character data
- Is sorted in ascending order

The following two examples use the default key.

1. In this example, the file NAMES.LST is sorted in ascending order:

       $ SORT NAMES.LST BYNAME.LST

   This command creates the ordered output file BYNAME.LST, as shown in Figure 11-1.

   Figure 11-1 List Sorted in Ascending Order

2. In this example, the files NAMES.LST and NAMES2.LST are sorted into the ordered output file BYNAME.LST. Sort treats the files as if they were one large file:

       $ SORT NAMES.LST,NAMES2.LST  BYNAME.LST

See Section 11.9 for a complete list of SORT qualifiers.

Previous | Next | Contents | Index

| privacy and legal statement |
6489PRO_024.HTML