z/OS DFSORT Application Programming Guide
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


E35 return codes

z/OS DFSORT Application Programming Guide
SC23-6878-00

Your E35 routine must pass a return code to DFSORT. Following are the return codes for the E35 user exit:
Return Code
Description
00 (X'00')
No Action/Record Altered
04 (X'04')
Delete Record
08 (X'08')
Do Not Return
12 (X'0C')
Insert Record
16 (X'10')
Terminate DFSORT
0: No Action
If you want DFSORT to retain the record unchanged, load the address of the record leaving DFSORT in general register 1 and return to DFSORT with a return code of 0 (zero).
0: Record Altered
If you want to change the record before having it placed in the output data set, move the record to a work area, make the change, load the address of the modified record into general register 1, and return to DFSORT with a return code of 0 (zero).
4: Delete Record
Your routine can delete the record leaving DFSORT by returning to DFSORT with a return code of 4. You need not place an address in general register 1.
8: Do Not Return
DFSORT keeps returning to your routine until you pass a return code of 8. After that, the user exit is not used again during the DFSORT application. When you return with a return code of 8, you need not place an address in general register 1. Unless you are inserting records after the end of the data set, you must pass a return code of 8 when DFSORT indicates the end of the data set. This is done by passing a zero as the address of the record leaving DFSORT.

If you do not have an output data set and would usually return with a return code of 8 before EOF, you can avoid getting the ICE025A message by specifying NOCHECK on the OPTION control statement (if installation option CHECK=NO had not already been specified).

If your user exit routine passes a return code of 8 to DFSORT when input records still remain to be processed, the remaining records are processed by DFSORT, but are not passed to your user exit.

12: Insert Record
To add an output record ahead of the record leaving DFSORT, place the address of the new record in general register 1 and return to DFSORT with a return code of 12. DFSORT returns to your routine with the same address as passed on the previous call to the user exit for the record leaving DFSORT. DFSORT passes the address of the inserted record as the address of the record in the output area. You can make more insertions at that point, or delete the record leaving DFSORT.

DFSORT does not perform sequence checking for disk work data set sorts. For tape work data set sorts, DFSORT does not perform sequence checking on records that you insert unless you delete the record leaving DFSORT and insert a record to replace it. DFSORT keeps returning to your routine until you pass a return code of 8.

16: Terminate DFSORT
If you want to terminate DFSORT, return with a code of 16. DFSORT then returns to its calling program or to the system with a return code of 16.

See E15/E35 return codes and EXITCK for complete details of the meanings of return codes in various situations.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014