Set RC to > 0 if canceled

The problem:

Sometimes the fact that a job is canceled is not reflected in the condition code. I.E. first step completes with RC=0, second step cancels due to VSAM-error, then max-return-code might be displayed as 000.
IBM stated that this works as designed and there is no easy way to avoid that confusing (for automated readers) message.
"Use ON CANCEL, to catch such situations"

The solution:

The program LISTLCC can be cataloged in IJSYSRS.SYSLIB and the included ZAP should be applied against $JOBCTLA. Then whenever a cancel occurs and the MRC is not set or is lower than 16 it will be set to 222.
222 was adopted from MVS. It is the code for "canceled by operator". It can be set to whatever you like.