Exit-Name Parameter (Required) - 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
Topic type
How Do I
Copyright
2024
First publish date
2010
Last edition
2024-08-27
Last publish date
2024-08-27T08:14:56.318001

The exit-name parameter identifies the exit and provides additional information. Replace 'exit-name' with an E followed by the appropriate exit number. The 16 valid exit-names are listed below.

Table 1. Phases and Permissible Exits

 

Sort Phase 1

Sort Phase 2

Sort or Merge Phase 3

Copy

 

E11

E14

E15

E16

E17

E18

 

 

E15

Exit

 

E21

E25

E27

 

 

Name

E61

 

E31

E32 (merge only)

E35

E37

E38

E39

E61

E31

E35

E37

E38

E39

The exit-name parameter also provides the following information about the exit.

r The r value specifies the name of the user exit routine. Any valid name other than SYNCE15 or SYNCE35 is acceptable. (SYNCE15 and SYNCE35 are reserved names.) If the exit routine resides in a library, specify the member name or alias name for the r value. For an exit coded in REXX, r represents the REXX exec name. 
b

The b value specifies the exact or estimated decimal number of bytes the exit rou­tine requires in main storage. This number should include any additional main stor­age required by the exit (e.g., buffers, GETMAINs, etc.). Specify an estimate (without an E before the value) if the exact number is not known. This number should only include storage requirements below the 16-megabyte line.

REXX exits have some additional storage requirements. REXX system modules and control blocks need 26K, and each EXEC that is called will require 12K of stor­age. In addition to any variables that the EXEC uses, all special MFX variables will require storage (including space for a record).

d

The d value identifies the DD statement name that specifies the library in which the exit routine resides. The JCL must include a DD statement specifying each library in which an exit routine resides. If the exit routine is to be placed in the input job stream, specify SYSIN for the d value. (If more than one exit routine is included in SYSIN, the exit routines must be specified in ascending numerical order by exit name.)

For a Disk Sort, MAXSORT, or PARASORT, an exit routine that is a load module residing in a library identified in a LINKLIB, STEPLIB or JOBLIB DD statement does not require a d value specification or a DD statement defining a module library in the JCL. If the d value is omitted, insert a positional comma to indicate the miss­ing value. Do not specify LINKLIB for the d value. LINKLIB is a reserved name.

The exit-name parameter also specifies link-editing codes: N, S, C, E, X, or T. If the link-editing code is omitted, the installation setting determines whether or not the exit will be link-edited. The delivered default is T; however, it may have been reset to N at installation.

Ideally, exit routines should be designed so that they do not require link-editing each time they are used. Link-editing consumes system resources and increases sort/merge execution time.

When a link-editing code is specified, the name E10 is reserved and no Phase 1 exit or E61 exit can use this name as a CSECT or ENTRY name. Similarly, the names E20 and E30 are reserved and cannot be used by Phase 2 or Phase 3 exits.
N

The N value specifies that link-editing is not required. Link-editing has already taken place and MFX can directly invoke the routine.

S

The S value specifies that link-editing is required. This value can only be used for E11, E21 and E31 exits. The S value also indicates that the exit routine can be link-edited separately from other exit routines specified for the same phase.

C

The C value identifies a COBOL exit routine. COBOL exits must be link-edited before execution time. Only COBOL E15 and E35 exits can be specified.

E

The E value identifies a C exit routine. C exits must be link-edited before execution time. Only C E15 and/or E35 exits can be specified.

X

The X value identifies a REXX exit routine. Only REXX E15 and E35 exits can be specified.

T

The T value specifies that MFX will dynamically link-edit the exit routine along with other routines specified for the same sort/merge phase.

N64

The N64 value specifies that the exit should be called using a 64-bit parameter list. Register 13 will point to a Format 4 save area (See “Register Conventions” on p. 7.4). This specification may only be used when MFX is invoked via a 64-bit parameter list, and is only applicable to E15 and E35 exits. This does not affect the addressing mode in which the exit will be called. The exit will be entered in the addressing mode indicated by the linkage editor module attributes.