E35 return codes
- 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.