Exit E25 - Deleting, Changing, and Summing Records - 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

MFX gives control to exit E25 each time it is about to place a record in a Phase 2 output sequence, except for the first record of that sequence. Because all or part of the input data set may skip this phase, it may be necessary to include an E35 to do the job of the E25 during Phase 3. If it is possible to use the SUM or DUPKEYS control statement in place of the exit, this is recommended.

These constraints apply to the coding of an E25 exit routine:

  • The exit may not add records.

  • The exit may not change sort control fields.

  • The exit may not destroy the contents of the parameter list.

MFX will place the address of a 2-word parameter list in Register 1 each time it passes control to the E25 routine. The first word, which is on a fullword boundary, will contain the address of the record about to leave Phase 2. The second word will contain the address of the record that has already passed into the output area. Note that the first byte of each word contains zeros.

Figure 1. Parameter List for E25

In order to change the record leaving Phase 2, the E25 exit program must first move it to a work area. (The record in the output area may be changed, but must be left where it is.) To sum two records, place the sum in the output area record and delete the record leaving Phase 2.

After the record pair has been processed by the E25, a return code is placed into Register 15 and control returns to MFX.