E35 return codes
- Return Code
- Description
- 00 (X'00')
- No Action
- 04 (X'04')
- Delete Record
- 08 (X'08')
- Do Not Return
- 12 (X'0C')
- Insert Record
- 16 (X'10')
- Terminate DFSORT
- 20 (X'14')
- Alter or Replace Record
- 0: No Action
- If you want DFSORT to retain the record leaving DFSORT unchanged, return with RETURN-CODE set to 0.
- 4: Delete Record
- If you want DFSORT to delete the record leaving DFSORT, return with RETURN-CODE set to 4.
- 8: Do Not Return
- DFSORT keeps returning to your routine until you pass a RETURN-CODE
set to 8. After that, the user exit is not used again during the DFSORT
application. Unless you are inserting records
after the end of the data set, you must set RETURN-CODE to 8 when
DFSORT indicates the end of the data set. This is done by entering
your routine with the record flags field set to 8.
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.
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).
- 12: Insert Record
- If you want DFSORT to add an output record before the record
leaving DFSORT:
- Move the insert record to the return record field
- For VLR records, move the length to the return record length field
- Return with RETURN-CODE set to 12.
DFSORT returns to your routine with the inserted record in the record output area field and with the same record as before in the record leaving DFSORT field. In this way, your routine can insert more records or handle the record leaving DFSORT.
You can also insert records after the end of the data set. DFSORT keeps returning to your routine as long as you pass it a RETURN-CODE 12 and until you return with RETURN-CODE set to 8.
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 inserted records unless you delete the record leaving DFSORT and then replace it.
- 16: Terminate DFSORT
- If you want to terminate DFSORT, return with RETURN-CODE set to 16. DFSORT then returns to its calling program or to the system with a return code of 16.
- 20: Alter Record
- If you want to change the record leaving DFSORT:
- Move the record leaving DFSORT to the return record field
- Change the record in the return record field
- For VLR records, move the length to the return record length field
- Return with RETURN-CODE set to 20.
Note: If your routine changes record size, you must indicate the new size on the RECORD statement. - 20: Replace Record
- If you want to replace the record leaving DFSORT:
- Move the replacement record to the return record field
- For VLR records, move the length to the return record length field
- Return with RETURN-CODE set to 20.
See E15/E35 return codes and EXITCK for complete details of the meanings of return codes in various situations.