The 24-Bit Parameter List - mfx - 3.1

Syncsort™ MFX Programmers Guide

Product type
Software
Portfolio
Integrate
Product family
Syncsort™ Software
Product
Syncsort™ MFX > MFX
Version
3.1
Language
English
Content type
Programmer’s Guide
Product name
Syncsort™ MFX
Title
Syncsort™ MFX Programmers Guide
Copyright
2024
First publish date
2010
Last updated
2024-11-06
Published on
2024-11-06T17:38:26.716054

The parameter list is used to pass information from the calling program (e.g., the addresses of the DC control statement images) to the sort/merge.

In order to pass the parameter list, it is necessary to load the address of a fullword pointer into Register 1. Code X'80' in the pointer’s first byte and the address of the parameter list’s byte count in its last three bytes. The byte count must be located in the last 2 bytes of the first fullword entry in the parameter list. It contains the hexadecimal number of bytes remaining in the list -- do not include these 2 bytes in the count.

The first seven words of the parameter list are required and must be coded in the exact order shown. Note that whenever the address of an exit routine is supplied in the sixth or seventh word of the parameter list, that exit may not be specified in the MODS control statement image. Parameter list entries following the seventh fullword are optional and can be specified in any order. All values not specified in the chart as EBCDIC-coded are to be given in hexadecimal notation. For the most part, these are addresses; the ending address refers to the blank coded immediately after the control statement in question, as indicated in the Sample Invoked Sort.

Figure 1. The 24-Bit Parameter List

Note: Empty boxes indicate the contents are immaterial and not examined.
Figure 2. Sample Invoked Sort

In this example, only the required seven entries appear in the parameter list. The invoked sort skips the first 100 records in SORTIN, a data set of 80-byte fixed-length records, and sorts the remainder in ascending sequence according to the character data in its first 16 bytes. Additional parameter-list entries may appear in any order after these required seven; the contents of the first byte of the word signals which optional parameter it is.

For invoked merge applications using the 24-bit parameter list, the number of input files must be specified on either the X'04' entry or the FILES=n parameter on the MERGE control statement. However, when using the 31-bit or 64-bit parameter lists, the number of input files for a merge must be specified on the FILES=n parameter.

Table 1. Optional Parameters for the 24-Bit Parameter List

Optional Parameters 

Code in Byte 1

Contents of Bytes 2 - 4

X'00'

Indicates how much main storage MFX is to use. Code C'MAX' or a hexadecimal number of bytes.

X'01'

Indicates how much main storage should be reserved for data handling by the invoking program during sort execution. MFX will use all available main storage less the hexadecimal number of bytes specified here. This parameter takes precedence over the X'00' entry discussed above.

X'02'

Gives the beginning address of a MODS control statement image. The last 3 bytes of the next word must contain the ending address of this image. All exits may be specified in the MODS statement image except for E32 (use entry 6 of the parameter list for this exit). An E15/E35 exit is specified in entries 6-7 or in the MODS image, but not in both.

X'03'

Specifies the address of a replacement for the message data set’s DD name. Eight characters are used for the name; the first character must be alphabetic.

X'04'

Specifies the hexadecimal number of SORTIN files-required whenever an E32 exit supplies the input to the merge.

X'05'

MFX accepts the DEBUG control statement parameter but does not process it. Both this fullword (the beginning address of the DEBUG statement) and the next (the ending address) are ignored.

X'06' 

Gives the beginning address of an ALTSEQ control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'07' 

Gives the beginning address of a SUM control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'08' 

Gives the beginning address of an INCLUDE/OMIT control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'09' 

Gives the beginning address of an OUTREC control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'0A' 

Gives the beginning address of an INREC control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'0B' 

Gives the beginning address of an OUTFIL control statement. The last 3 bytes of the next word must contain the ending address of this image. This parameter may be specified more than once to accommodate multiple output file specifications.

X'0E'

Gives the beginning address of a JOINKEYS control statement. The last 3 bytes of the next word must contain the ending address of this image. This parameter should be specified twice for the two JOINKEYS specifications required in a join application.

X'0F'

Gives the beginning address of a REFORMAT control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'10' 

Gives the beginning address of a JOIN control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'11'

Gives the beginning address of a DUPKEYS control statement image. The last 3 bytes of the next word must contain the ending address of this image.

X'F6'

Specifies the address of a 256-byte translation table, used to alter the collating sequence. This parameter takes precedence over the ALTSEQ control statement image. 

X'F7'

Optional user exit address constant which can be used to pass information between the invoking program, an E15 exit, and/or an E35 exit. MFX passes these 3 bytes to an E15 exit at offset 5 in an E15 parameter list and to an E35 exit at off­set 9 in an E35 parameter list. Offset 4 in the E15 parameter list and offset 8 in the E35 parameter list will initially contain an X'00'.

X'FD'

Only the first byte is processed, flagging this as an IMS-initiated sort, processing variable-length records too short to contain all of the sort/merge control field(s).

X'FE'

If non-zero, these 3 bytes contain the address of a 104-byte STAE work area.

X'FF'

Indicates the MSG/FLAG PARM coding. For the MSG option, specify AB, AC, AP, CB, NO, PC, SC or SP in bytes 3-4. For the FLAG option, specify NOF, (I) or (U) in bytes 2-4. This parameter is coded in EBCDIC. 

DIAG coded in EBCDIC in the entire word turns on the IOERR=ABE and RC16=ABE PARM options. 

BALN/OSCL/POLY coded in EBCDIC in the entire word is accepted but not processed by MFX.

CRCX/PEER/LIST coded in EBCDIC in the entire word is accepted but not processed by MFX. 

xxxx with the first character alphabetic or national (do not use DIAG, PEER, CRCX, etc.) represents the DD name prefix to be used in place of SORT in the JCL.