On the If (IF) command, %SWITCH can be specified on the COND parameter as the logical expression to be tested.
In the following example, 0X111XX0 is compared to the predetermined job switch setting:
IF COND(%SWITCH(0X111XX0)) THEN(GOTO C)
If job switches 1, 3, 4, 5, and 8 contain 0, 1, 1, 1, and 0, respectively, the result is true and the procedure branches to the command having the label C. If one or more of the switches tested do not have the values indicated in the mask, the result is false, and the branch does not occur.
In the following example, switches control conditional processing in two procedures.
SBMJOB JOB(APP502) JOBD(PAYROLL) CMD(CALL APP502) SWS(11000000) PGM /* CONTROL */ IF (%SWITCH(11XXXXXX)) CALLPRC PROCA IF (%SWITCH(10XXXXXX)) CALLPRC PROCB IF (%SWITCH(01XXXXXX)) CALLPRC PROCC IF (%SWITCH(00XXXXXX)) CALLPRC PROCD ENDPGM PGM /* PROCA */ CALLPRC TRANS IF (%SWITCH(1XXXXXXX)) CALLPRC CUS520 ELSE CALLPRC CUS521 ENDPGM