On a server system, does a batch job that runs a pgm that writes to a dspf run a full server speed, or does it run in the interactive penalty box and cause the cpu wasting CFINT job to run?
To illustrate my question ...
The code at the end of the email will create a cmd, dspf and cl pgm. The pgm, cmd and dspf are all named BatMenu.
The cl pgm will prompt a menu on the display and execute the selected option.
The cmd is used to call the cl pgm with its one parameter: This parm contains the name of the display device to write the menu to.
The cl pgm is intended to run in a batch job. So it will OvrDspf its dspf to the device name passed in parm 1.
OvrDspf BatMenu Dev(&Device)
To run the pgm, do the following:
1. Get the device name of a display that has a signon screen ( not signed on )
2. SBMJOB CMD(BATMENU DEVICE(sssss)) JOB(BATMENU)
When I run this on my system, the job type of the job is BATCH.
My question is: On a server model, does this BATCH job that writes to a display terminal run at full server speed or does it run in the interactive penalty box and cause the cpu wasting CFINT job to run?
The code follows. I have included it in case what I am asking is not clear. Or it might be usefull as tutorial on the use of the Device parm of the OvrDspf cmd.
Thanks for the help,
1. Add the following to a srcmbr BatMenu in qgpl/qcmdsrc:
CMD PROMPT('Batch job display test')
PARM KWD(DEVICE) TYPE(*CHAR) LEN(10) +
2. Create the command:
CrtCmd qgpl/batmenu qgpl/qcmdsrc batmenu
3. Add the following source code to dspf srcmbr BatMenu in qgpl/qddssrc:
A R BATMENU1
A 2 2'MENU'
A 4 2' 1. SNDMSG'
A 10 2'90. SIGNOFF'
A 12 2'OPTION:'
A OPTN 2 0B 12 10EDTCDE(Z)
4. Create the dspf:
CrtDspf qgpl/batmenu qgpl/qddssrc batmenu
5. Add the following source code to clp srcmbr BatMenu in qgpl/qclsrc:
DCL VAR(&DEVICE) TYPE(*CHAR) LEN(10)
DCL VAR(&JOB) TYPE(*CHAR) LEN(10)
DCL VAR(&USER) TYPE(*CHAR) LEN(10)
DCL VAR(&JOBTYPE) TYPE(*CHAR) LEN(1)
OVRDSPF FILE(BATMENU) DEV(&DEVICE)
/* OVERRIDE YOUR APPLICATIONS DISPLAY FILES HERE. */
CHGVAR VAR(&OPTN) VALUE(0)
IF COND(&OPTN *EQ 90) THEN(GOTO CMDLBL(E1))
IF COND(&OPTN *EQ 1) THEN(DO)
RTVJOBA JOB(&JOB) USER(&USER) TYPE(&JOBTYPE)
SNDMSG MSG('Job' *BCAT &JOB *BCAT 'is job type' +
*BCAT &JOBTYPE) TOUSR(&USER)
6. Create the cl pgm
CrtClPgm qgpl/batmenu qgpl/qclsrc