Where an input data set already exists, this exit is used to add, delete and/or change input records. This exit is also used to analyze SORTIN via HISTOGRM (a HISTE15 application) or to create the entire input file. It can be used when sorting or copying records.
When used in conjunction with an input file, this exit is given control every time a record is brought into Phase 1 of a sort or Phase 3 of a copy. In passing control to the E15 exit routine, MFX places the address of a parameter list in Register 1. This parameter list contains two entries.
For 32-bit parameter lists, each entry is one word. In the first word, the first byte contains X'00'; the last 3 bytes contain the address of the next record to be processed. The first word contains a zero address when there is no such record (i.e., when SORTIN end-of-file is reached or when the input data set is empty).
Word 2 contains the user address constant. On the initial call to the E15 exit, it will contain the value specified in the invoking parameter list. If this value was specified in a 24-bit invoking parameter list, it will have the high-order byte set to X'00'. If the value was omitted or MFX was JCL invoked, Word 2 will contain binary zeros. This word may be changed by the E15 exit whenever it is entered. If used in a sort application, the value will be returned on the subsequent call to the E15. If used in a copy application and an E35 is present, the value on the subsequent call to the E15 will reflect any modification made to the User Address Constant by the E35. In a sort application, the initial entry to the E35 will contain the value last returned from the E15.
|
The 64-bit E15 parameter list can be enabled from the 64-bit sort invocation parameter list. See p. 7.4 for information on returning records to MFX in register 1 and see ”Register Conventions” on p 7.4 for a description of the register 13 save area for exits called with the 64-bit exit parameter list. The same information is passed to the exit as for the 32-bit parameter list, but double-word entries are used:
|
E15 record processing has these two constraints:
-
If a record is to be changed, it should first be moved to a work area.
-
When the input data set consists of variable-length records, the first 4 bytes must contain the Record Descriptor Word, giving the length of the record.
When the program has finished processing the record, it must place the appropriate return code in Register 15.