Exit E18 and E38 Programs - 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

Exit E18 is only used for sorts and exit E38 only for merges or copies. Each exit is entered exactly once, at the start of SORTIN processing. At this time, MFX checks Register 1 for the address of a user parameter list specifying the various open and error exit routines that you want MFX to include. MFX will then enter these routines at the appropriate times during execution. Because use of these exits forces the use of BSAM for the input file(s), performance may be adversely affected.

The format of the parameter list is given below. More information on the DCB fields can be found in the appropriate IBM publication.

Table 1. Parameter List for E18 and E38

Byte 1

Byte 2

Byte 3

Byte 4

01

SYNAD field

02

EXLST field

03

00

00

EROPT code

04

EODAD field

00

00

00

00

The parameter list must begin on a fullword boundary and consist of an integral number of words. With the exception of the required fullword of zeros used to indicate the end of the parameter list, entries are optional. The first byte of each word identifies the parameter:

SYNAD field

Indicated by 01 in byte 1. The SYNAD field contains the address of a synchronous read error routine, assembled as part of the exit program. Note that you may not use Register 13 as a save area pointer on entry to your routine. You must either provide your own save area or use the SYNADAF macro instruction.

EXLST field

Indicated by 02 in byte 1. The EXLST field contains the address of a list of pointers to user routines that perform operations such as label checking. Note that in the event that the list contains a DCB-exit entry, it will not be entered during concatenated SORTIN processing. 

EROPT code

Indicated by 03 in byte 1. Bytes 2 and 3 contain zeros, byte 4 the EROPT code. This code tells MFX what action to take if it discovers an uncorrectable read error on a non-VSAM input file.

X'00'

Follow the EROPT code in the DCB parameter of the DD statement that describes the data set containing the error.

X '20'

Terminate the program.

X'40'

Skip the block containing the error.

X'80'

Accept the block containing the error.

EODAD field

Indicated by 04 in byte 1. The EODAD field contains the address of an end-of-file routine. It can only be used with an E18 exit.