Here are the highlights of how to stop a printer file from printing without ripping out all the logics associated with that file.
1. In a CL program define the job switches
DCL VAR(&SW) TYPE(*CHAR) LEN(8)
2. Turn on/off the printing via the job switch (1=print, 0=don't print)
CHGVAR VAR(&SW) VALUE('10000100') /* default to print */ IF COND(&CMPY = '03' *OR &CMPY = '01') + THEN(CHGVAR VAR(&SW) VALUE('00000000')) + /*DON'T PRINT*/
3. Submit the job with the switches
SBMJOB CMD(CALL PGM(IM320R) PARM(&CMPY)) JOB(MANIFEST) SWS(&SW)
4. In the RPG program modify the F specs for the printer files to match the job switches.
FIM320RPRO F 132 OF PRINTER U1 FIM320RQRO F 132 OF PRINTER U6
The key here is the U1 & U6 indicators. You can use U1 - U8, matching the 8 chars in the job switch. That is all that is needed to be done.
This was first published in May 2001