User exit considerations

Your input handling subroutine and output handling subroutine must be written in PL/I. PL/I generates a DFSORT E15 exit for your input handling subroutine and a DFSORT E35 exit for your output handling subroutine.

A call to one of the PLISRTx interfaces might trigger a call to user exit E15, E35, or both, depending on whether a subroutine is to process your input before sorting, or your output after sorting, as shown in Table 1.

Table 1. DFSORT exit called as a function of a PLISRTx interface call
PL/I sort interface DFSORT exit
PLISRTA None
PLISRTB E15
PLISRTC E35
PLISRTD E15 and E35

Language Environment treats the generated E15 and E35 exits differently than those requested by a direct invocation of DFSORT. Language Environment treats user exits triggered by PLISRTx as part of the enclave of the routine that invoked DFSORT; the SVC LINK used to invoke DFSORT is not considered by Language Environment to initiate a new implicit nested enclave. See Using nested enclaves for more information on nested enclaves, and see z/OS DFSORT Application Programming Guide for more information on direct invocations of DFSORT.