You can start QMF in batch mode to potentially save resources and time.
You can start QMF using ISPF with or without using an exec.
ISPSTART PGM(DSQQMFE) NEWAPPL(DSQE) PARM(...DSQSMODE=B,DSQRUN=aa.bbb)
ISPSTART CMD(exec_name) NEWAPPL
where exec_name is the name of the exec that starts QMF
PARM establishes the appropriate operating mode (DSQSMODE=B), identifies the procedure to be run (DSQSRUN=aaa.bb), and can include variables for that procedure.
The ellipsis after PARM represents optional parameter values that the user might want to include in addition to the required values for the DSQSMODE and DSQSRUN parameters. The name of the procedure, as shown in Figure 47, must contain the authorization ID of the owner. For example, assume that a procedure was named PROCA and owned by the user authorization ID, JONES.
ISPSTART PGM(DSQQMFE) NEWAPPL(DSQE) PARM(DSQSMODE=B,DSQSRUN=JONES.PROCA)
After the procedure runs, QMF ends and returns control to ISPF. ISPF can then continue with another procedure or command. On CMS, when ISPF stops, control is returned to the next line in the exec.
The following examples show how to start and pass parameters to QMF under ISPF:
ISPSTART PGM(DSQQMFE) NEWAPPL(DSQE) PARM(DSQSIROW=150,DSQSRSTG=0)
This statement passes a value of 150 for DSQSIROW (number of rows fetched before first display of report), and passes a value of 0 for DSQSRTG (amount of reserved storage).
ISPEXEC SELECT PGM(DSQQMFE) NEWAPPL(DSQE) PARM(DSQSDCSS=QMF)
This statement passes the name QMF for the QMF program segment.
)PROC &SEL = TRANS( TRUNC (&OPT,'.') 1,'PGM(DSQQMFE) NEWAPPL(DSQE) PARM(DSQSPILL=NO)' . . .
This code passes NO for DSQSPILL.
ISPSTART PGM(DSQQMFE) NEWAPPL(DSQE) PARM(DSQSRUN=Q.IPROC(&&&&TABLE=Q.STAFF))
This statement uses the DSQSRUN parameter:
The DSQSRUN parameter as specified in this example results in the following QMF command:
RUN Q.IPROC(&TABLE=Q.STAFF