When the sort is completed, Sort sets a return code in the variable named in the fourth argument of the call to PLISRTx. It then returns control to the statement that follows the CALL PLISRTx statement. The value returned indicates the success or failure of the sort as follows:
You must declare the variable to which the return code is passed as FIXED BINARY (31,0). It is standard practice to test the value of the return code after the CALL PLISRTx statement and take appropriate action according to the success or failure of the operation.
For example (assuming the return code was called RETCODE):
IF RETCODE¬=0 THEN DO; PUT DATA(RETCODE); SIGNAL ERROR; END;
If the job step that follows the sort depends on the success or failure of the sort, you should set the value returned in the Sort program as the return code from the PL/I program. This return code is then available for the following job step. The PL/I return code is set by a call to PLIRETC. You can call PLIRETC with the value returned from Sort thus:
CALL PLIRETC(RETCODE);
You should not confuse this call to PLIRETC with the calls made in the input and output routines, where a return code is used for passing control information to Sort.