In addition to running QMF batch in TSO and ISPF, you can run QMF as a native OS/390 batch job. You can use the JCL shown in Figure 251 to run QMF as a batch job in native OS/390.
/***************************************************************/ 00299000 //QMFBAT JOB 00300000 //S1 EXEC PGM=DSQQMFE,PARM='M=B,I=yourQMFproc' 00301000 //* 00302000 //* Program libraries required when running in batch 00303000 //* 00304000 //STEPLIB DD DSN=QMF720.SDSQLOAD,DISP=SHR 00305000 // DD DSN=DSN.SDSNEXIT,DISP=SHR 00306000 // DD DSN=DSN.SDSNLOAD,DISP=SHR 00307000 // DD DSN=GDDM.ADMLOAD,DISP=SHR 00308000 //* 00309000 //* QMF/GDDM maps are required when running in batch 00310000 //* 00311000 //ADMGGMAP DD DSN=QMF720.DSQMAPE,DISP=SHR 00312000 //* 00313000 //* 00314000 //* Datasets used by QMR 00315000 //* 00316000 //DSQPRINT DD SYSOUT=A,DCB=(RECFM=FBA,LRECL=133,BLKSIZE=1330) 00317000 //DSQDEBUG DD SYSOUT=A,DCB=(RECFM=FBA,LRECL=121,BLKSIZE=1210) 00318000 //DSQUDUMP DD SYSOUT=A,DCB=(RECFM=VBA,LRECL=125,BLKSIZE=1632) 00319000 //DSQSPILL DD DSN=&&SPILL,DISP=(NEW,DELETE), 00320000 // UNIT=SYSDA,SPACE=(TRK,(100),RLSE), 00321000 // DCB=(RECFM=F,LRECL=4096,BLKSIZE=4096) 00322000 //* 00323000 /****************************************************************/ 00324000
When you run QMF in native OS/390, remember these facts:
The REXX program listed in Figure 252 uses the QMF callable interface to start QMF and run QMF commands in batch mode.
//QMFBATCH JOB REGION=8M, // MSGCLASS=H,TIME=(2,30),USER=&SYSUID,NOTIFY=&SYSUID,CLASS=A //ROBQMF1 EXEC PGM=IRXJCL //STEPLIB DD DSN=DSN.DB2A.SDSNLOAD,DISP=SHR // DD DSN=DSN.DB2A.SDSNEXIT,DISP=SHR // DD DSN=QMFDEV.QMF720.SDSQLOAD,DISP=SHR //ADMGGMAP DD DSN=QMFDEV.QF720.DSQMAPE,DISP=SHR //SYSEXEC DD DSN=ROBIN.QMF720.SDSQEXCE,DISP=SHR //DSQPRINT DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=137,BLKSIZE=1330) //DSQDEBUG DD SYSOUT=*,DCB=(RECFM=FBA,LRECL=121,BLKSIZE=1210) //DSQUDUMP DD SYSOUT=A,DCB=(RECFM=VBA,LRECL=125,BLKSIZE=1632) //SYSUDUMP DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //DSQSPILL DD DSN=&&SPILL,DISP=(NEW,DELETE), // UNIT=VIO,SPACE=(CYL,(1,1),RLSE), // DCB=(RECFM=F,LRECL=4096,BLKSIZE=4096) //SYSTSIN DD * /* REXX */ CALL DSQCIX "START (DSQSMODE=BATCH" SAY DSQ_MESSAGE_ID DSQ_MESSAGE_TEXT IF DSQ_RETURN_CODE = DSQ_SEVERE THEN EXIT DSQ_RETURN_CODE CALL DSQCIX "RUN PROC REXXPP" SAY DSQ_MESSAGE_ID DSQ_MESSAGE_TEXT IF DSQ_RETURN_CODE = DSQ_SEVERE THEN EXIT DSQ_RETURN_CODE CALL DSQCIX "EXIT" SAY DSQ_MESSAGE_ID DSQ_MESSAGE_TEXT EXIT DSQ_RETURN_CODE /*