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 COBOL E35 routine must pass a return code to DFSORT in the RETURN-CODE field, a COBOL special register. Following are the return codes for the E35 exit:
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.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014