Format of the 24-bit parameter list
Figure 1 shows the format of the 24-bit parameter list and the pointer containing its address which you must pass to DFSORT. Detailed specifications for each of the entries in the parameter list follow.
For full override and applicability details, see Specification/override of DFSORT options.
- Notes to Figure 1:
- 1.
- Required entry. Must appear in the relative position shown. The offset shown is the actual offset of this entry.
- 2.
- Optional entry. Can appear anywhere after the required entries. The displayed offset is for identification purposes only—the actual offset of this entry can vary. Optional entries must be consecutive but can appear in any order.
- 3.
- A specific control statement. Shown for illustrative purposes only. SORT or MERGE, RECORD, ALTSEQ, DEBUG, MODS, SUM, INREC, OUTREC, INCLUDE or OMIT, JOINKEYS, JOIN, REFORMAT and OUTFIL can be passed using any of the following hex entry codes: X'00' (see Note 1), X'02', X'05' through X'0B', X'0E' through X'11', X'16', X'18' and X'20' through X'29'.
- 4.
- Required entry if the MERGE statement is present and input is supplied through an E32 user exit. This entry is not required if the FILES option of the MERGE statement is specified.
- 5.
- Required entry. Contains the ending address for a control statement and must immediately follow the entry containing the starting address for that same control statement.
- Byte
- Explanation
- -2 to -1
- Unused.
- 0 to +1
- The byte count. This 2-byte field contains the length in bytes
of the parameter list. This two byte field is not included when counting
the number of bytes occupied by the list.
The total length of the required entries is 24 (X'0018'). All optional entries are four bytes long except those referring to control statement images which are eight bytes each.
- 2-5
- The starting address of the SORT or MERGE statement image. Must be in the last three bytes of this fullword. The first byte must contain X'00'.
- 6-9
- The ending address of the SORT or MERGE statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 10-13
- The starting address of the RECORD statement image, if any; otherwise, all zeros. Must be in the last three bytes. The first byte must contain X'00'.
- 14-17
- The ending address of the RECORD statement image, if any; otherwise, all zeros. Must be in the last three bytes. The first byte must contain X'00'.
- 18-21
- The address of the E15 or E32 routine that your program has placed in main storage, if any; otherwise, all zeros. Must be in the last three bytes. The first byte must contain X'00'.
- 22-25
- The address of the E35 routine that your program has placed in main storage, if any; otherwise, all zeros. Must be in the last three bytes. The first byte must contain X'00'.
- 26-29
- The starting address of the MODS statement image. Must be in the last three bytes. The first byte must contain X'02'.
- 30-33
- The ending address of the MODS statement. Must be in the last three bytes. The first byte must contain X'00'.
- 34-37
- Main storage value. The first byte must contain X'00'. The next three bytes contain either the characters MAX or a hexadecimal value. You can use this option to temporarily override the SIZE installation option. For full override and applicability details, see Specification/override of DFSORT options. For an explanation of this value, see the discussion of the MAINSIZE parameter in OPTION control statement.
- 38-41
- A reserved main storage value. The first byte must contain X'01'.
The next three bytes contain a hexadecimal value that specifies a
number of bytes to be reserved, where the minimum is 4K. For an explanation
of this value, see the explanation of the RESINV parameter in OPTION control statement.
You can use this option to temporarily override the RESINV installation option. For full override and applicability details, see Specification/override of DFSORT options.
- 42-45
- Message ddname. The first byte must contain X'03'. The next three
bytes contain the address of an 8-byte DD statement name for the message
data set, padded with blanks on the right if necessary. The name
can be any valid DD statement name, but must be unique.
You can use this option to temporarily override the MSGDDN installation option. For full override details, see Specification/override of DFSORT options. For details on the use of the message data set, see z/OS DFSORT Messages, Codes and Diagnosis Guide.
- 46-49
- Number of input files to a merge. This entry is needed only if the MERGE statement is present without the FILES option and input to the merge is supplied through the E32 user exit. The first byte must contain X'04'. The next three bytes contain the number of files in hexadecimal. For full override and applicability details, see Specification/override of DFSORT options.
- 50-53
- The starting address of the DEBUG statement image. Must be in the last three bytes. The first byte must contain X'05'.
- 54-57
- The ending address of the DEBUG statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 58-61
- The starting address of the ALTSEQ statement image. Must be in the last three bytes. The first byte must contain X'06'.
- 62-65
- The ending address of the ALTSEQ statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 66-69
- The address of a 256-byte translate table supplied instead of an ALTSEQ statement. The first byte must contain X'F6'. If this parameter is present, the X'06' parameter is ignored. For full override and applicability details, see Specification/override of DFSORT options.
- 70-73
- User exit address constant. These 4 bytes are passed to E15 (at
offset 4 in the E15 parameter list), to E32 (at offset 8 in the E32
parameter list) or to E35 (at offset 8 in the E35 parameter list)
after DFSORT replaces the X'F7' with X'00'. Note: The user exit address constant must not be used for a Conventional merge or tape work data set sort application.
- 74-77
- X'FD' in the first byte (the VLSHRT option) specifies that DFSORT is to continue processing if it finds a variable-length input record too short to contain all specified control fields, compare fields, or summary fields. For full details of this option, see the discussion of the VLSHRT parameter in OPTION control statement. You can use this option to temporarily override the VLSHRT installation option. For full override and applicability details, see Specification/override of DFSORT options.
- 78-81
- If the first byte contains X'FE', you can use the next
three bytes to pass an address of a 104-byte field save area where
ESTAE information is saved. These bytes must contain zeros if the
ESTAE information is not saved.
If a system or user exit abend occurs, the DFSORT ESTAE recovery routine will copy the first 104 bytes of the SDWA into this area before returning to any higher level ESTAE recovery routines.
For more information on the DFSORT ESTAE recovery routine, see DFSORT abend processing
- 82-85
- The message option. The first byte must contain X'FF'. The following three bytes contain the characters NOF, (I), or (U). You can use this option to temporarily override the MSGPRT installation option.
- NOF
- Messages and control statements are not printed. Critical messages are written to the master console.
- (I)
- All messages except diagnostic messages (ICE800I to ICE999I) are printed. Critical messages are also written to the master console. Control statements are printed only if LIST is in effect.
- (U)
- Only critical messages are printed. They are also written to the master console. Control statements are not printed (NOLIST is forced).
All messages are written to the message data set. For details on use of the message data set, see z/OS DFSORT Messages, Codes and Diagnosis Guide For full override and applicability details, see Specification/override of DFSORT options.
For compatibility reasons, the forms (NO, (AB, (AP, (AC, (CB, (CC, (CP, (PC, (SC, and (SP are also accepted.
The following list shows the equivalent specifications for these aliases:
Aliases for Message OptionOption
|
MSGPRT | MSGCON |
---|---|---|
(NO | NONE | NONE |
(AB | ALL | ALL |
(AP | ALL | CRITICAL |
(AC | NONE | ALL |
(CB | CRITICAL | CRITICAL |
(CC | NONE | CRITICAL |
(CP | CRITICAL | CRITICAL |
(PC | ALL | ALL |
(SC | ALL | CRITICAL |
(SP | CRITICAL | ALL |
- 86-89
- Four characters, which replace "SORT" in the following ddnames:
SORTIN, SORTOUT, SORTINn, SORTINnn, SORTOFd, SORTOFdd, SORTWKd, SORTWKdd, SORTJNF1, SORTJNF2, and SORTCNTL. You must use
this option when you dynamically invoke DFSORT more than once in a
program step.
The four characters must all be alphanumeric or national ($, #, or @) characters. The first character must be alphabetic, and the reserved names DIAG, BALN, OSCL, POLY, CRCX, PEER, LIST, and SYSc (where c is any alphanumeric character) must not be used. Otherwise, the four characters are ignored.
For example, if you use ABC# as replacement characters, DFSORT uses statements ABC#IN, ABC#CNTL, ABC#WKdd, and ABC#OUT instead of SORTIN, SORTCNTL, SORTWKdd, and SORTOUT.
Note: This parameter is equivalent to the SORTDD=cccc run-time option.
- 90-93
- The starting address of the SUM statement image. Must be in the last three bytes. The first byte must contain X'07'.
- 94-97
- The ending address of the SUM statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 98-101
- The starting address of the INCLUDE or OMIT statement image. Must be in the last three bytes. The first byte must contain X'08'.
- 102-105
- The ending address of the INCLUDE or OMIT statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 106-109
- The starting address of the OUTREC statement image. Must be in the last three bytes. The first byte must contain X'09'.
- 110-112
- The ending address of the OUTREC statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 114-116
- The starting address of the INREC statement image. Must be in the last three bytes. The first byte must contain X'0A'.
- 118-121
- The ending address of the INREC statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 122-125
- The starting address of the OUTFIL statement image. Must be in the last three bytes. The first byte must contain X'0B'.
- 126-129
- The ending address of the OUTFIL statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 130-133
- The starting address of the JOINKEYS statement image. Must be in the last three bytes. The first byte must contain X'0E'.
- 134-137
- The ending address of the JOINKEYS statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 138-141
- The starting address of the REFORMAT statement image. Must be in the last three bytes. The first byte must contain X'0F'.
- 142-145
- The ending address of the REFORMAT statement image. Must be in the last three bytes. The first byte must contain X'00'.
- 146-149
- The starting address of the JOIN statement image. Must be in the last three bytes. The first byte must contain X'10'.
- 150-153
- The ending address of the JOIN statement image. Must be in the last three bytes. The first byte must contain X'00'.