From: Doug Talley
Does anyone know how to intercept an interactive job and force it into batch mode?
From : Ted Holt
To : Doug Talley
Let's say you have a CL program called MYCLPROG, as illustrated in 9. Suppose the user keys in CALL MYCLPROG at a command line. The program starts running interactively.
Let's say you have a CL program called MYCLPROG, as illustrated in Figure 9. Suppose the user keys in CALL MYCLPROG at a command line. The program starts running interactively.
Since the job is running interactively, the Retrieve Job Attribute (RTVJOBA) command puts a '1' in &JOBTYPE. The IF statement evaluates as true, MYCLPROG gets submitted to batch, and the interactive invocation of MYCLPROG ends.
Another copy of MYCLPROG starts up in batch. RTVJOBA returns a value of '0,' the IF statement evaluates as false, and the program continues after the comment.
If your problem is with commands that you don't want run interactively, the ALLOW parameter on the Create Command (CRTCMD) and Change Command (CHGCMD) commands prevents commands from running interactively. For example, if you have programmers who constantly compile RPG programs interactively with the Create RPG Program (CRTRPGPGM) command, you can change the CRTRPGPGM command to run only in batch mode with this command.
CHGCMD CMD(CRTRPGPGM) +
ALLOW(*BATCH *BPGM *BREXX)