After you write your program, you need to compile and link-edit it as required before you can run it. The programs listed in this section show the steps necessary to do so.
QMF does not ship the REXX EXEC, JCL, or CLIST in these examples, but you can copy them from here, altering them to suit your installation.
The following job compiles and link-edits your callable interface application using the VS FORTRAN compiler for MVS. Some parameters can vary from one installation to the next. See your QMF administrator for details.
//samFORT JOB //STEP1 EXEC PROC=VSF2CL //* Provide Access to QMF Communications Macro DSQCOMM //FORT.SYSLIB DD DSN=QMF720.SAMPLIB,DISP=SHR //FORT.SYSIN DD * . Your program or copy of QMF sample DSQABFF . /* //* Provide Access to QMF Interface Module //LKED.QMFLOAD DD DSN=QMF720.SDSQLOAD,DISP=SHR //LKED.SYSIN DD * INCLUDE QMFLOAD(DSQCIF) INCLUDE QMFLOAD(DSQCIFE) ENTRY samFORT MODE AMODE(31) RMODE(ANY) NAME samFORT(R) /*
The following program runs your callable interface application using the VS FORTRAN compiler. Some parameters can vary from one installation to the next. See your QMF administrator for details.
PROC 0 CONTROL ASIS /************************************************************/ /* Note: QMF, DB2, GDDM and FORTRAN load libraries must be */ /* allocated before running this CLIST. */ /* Name of QMF load library is "QMF720.SDSQLOAD". */ /************************************************************/ /* Specify attribute list for dataset allocations */ /************************************************************/ ATTR PRINTDCB LRECL(133) RECFM(F B A) BLKSIZE(1330) ATTR DEBUGDCB LRECL(80) RECFM(F B) BLKSIZE(3120) ATTR UDUMPDCB LRECL(125) RECFM(V B A) BLKSIZE(1632) ATTR EDITDCB LRECL(79) RECFM(F B A) BLKSIZE(4029) /************************************************************/ /* Datasets used by TSO */ /************************************************************/ ALLOC FI(SYSPROC) DA('QMF720.SDSQCLTE') ALLOC FI(SYSEXEC) DA('QMF720.SDSQEXCE') /************************************************************/ /* QMF/GDDM Datasets */ /************************************************************/ ALLOC FI(ADMGGMAP) DA('QMF720.QMFMAPS') SHR REUSE ALLOC FI(ADMCFORM) DA('QMF720.DSQCFORM') SHR REUSE ALLOC FI(DSQUCFRM) DA('QMF720.DSQUCFRM') SHR REUSE ALLOC FI(ADMSYMBL) DA('ADM.GDDMSYM') SHR REUSE ALLOC FI(ADMGDF) DA('ADM.GDDM.CHARTLIB') SHR REUSE ALLOC FI(ADMDEFS) DA('ADM.GDDM.NICKNAME') SHR REUSE /************************************************************/ /* Datasets used by QMF */ /************************************************************/ ALLOC FI(DSQPRINT) SYSOUT(X) USING(PRINTDCB) ALLOC FI(DSQDEBUG) SYSOUT(X) USING(DEBUGDCB) ALLOC FI(DSQUDUMP) SYSOUT(X) USING(UDUMPDCB) ALLOC FI(DSQSPILL) NEW UNIT(SYSDA) SPACE(1,1) TRACKS ALLOC FI(DSQEDIT) NEW UNIT(SYSDA) USING(EDITDCB) ALLOC FI(DSQPNLE) DA('QMF720.DSQPNLE') SHR REUSE /************************************************************/ /* Start your program using TSO CALL command */ /************************************************************/ CALL samFORT EXIT CODE(0)
The following program runs your callable interface application using the VS FORTRAN compiler. Some parameters can vary from one installation to the next. See your QMF administrator for details.
PROC 0 CONTROL ASIS /************************************************************/ /* Specify attribute list for dataset allocations */ /************************************************************/ ATTR PRINTDCB LRECL(133) RECFM(F B A) BLKSIZE(1330) ATTR DEBUGDCB LRECL(80) RECFM(F B) BLKSIZE(3120) ATTR UDUMPDCB LRECL(125) RECFM(V B A) BLKSIZE(1632) ATTR EDITDCB LRECL(79) RECFM(F B A) BLKSIZE(4029) /************************************************************/ /* Datasets used by TSO */ /************************************************************/ ALLOC FI(SYSPROC) DA('QMF720.SDSQCLTE','ISR.ISRCLIB') ALLOC FI(SYSEXEC) DA('QMF720.SDSQEXCE') /************************************************************/ /* Datasets used by ISPF */ /************************************************************/ ALLOC FI(ISPLLIB) SHR REUSE + DA('QMF720.SDSQLOAD','ADM.GDDMLOAD','DSN.DSNEXIT','DSN.DSNLOAD', + 'PRDUCT.VSF2LOAD') ALLOC FI(ISPMLIB) SHR REUSE + DA('QMF720.SDSQMLBE','ISR.ISRMLIB','ISP.ISPMLIB') ALLOC FI(ISPPLIB) SHR REUSE + DA('QMF720.SDSQPLBE','ISR.ISRPLIB','ISP.ISPPLIB') ALLOC FI(ISPSLIB) SHR REUSE + DA('QMF720.SDSQSLBE','ISR.ISRSLIB','ISP.ISPSLIB') ALLOC FI(ISPTLIB) SHR REUSE + DA('ISR.ISRTLIB','ISP.ISPTLIB') /************************************************************/ /* QMF/GDDM Datasets */ /************************************************************/ ALLOC FI(ADMGGMAP) DA('QMF720.QMFMAPS') SHR REUSE ALLOC FI(ADMCFORM) DA('QMF720.DSQCFORM') SHR REUSE ALLOC FI(DSQUCFRM) DA('QMF720.DSQUCFRM') SHR REUSE ALLOC FI(ADMSYMBL) DA('ADM.GDDMSYM') SHR REUSE ALLOC FI(ADMGDF) DA('ADM.GDDM.CHARTLIB') SHR REUSE ALLOC FI(ADMDEFS) DA('ADM.GDDM.NICKNAME') SHR REUSE /************************************************************/ /* Datasets used by QMF */ /************************************************************/ ALLOC FI(DSQPRINT) SYSOUT(X) USING(PRINTDCB) ALLOC FI(DSQDEBUG) SYSOUT(X) USING(DEBUGDCB) ALLOC FI(DSQUDUMP) SYSOUT(X) USING(UDUMPDCB) ALLOC FI(DSQSPILL) NEW UNIT(SYSDA) SPACE(1,1) TRACKS ALLOC FI(DSQEDIT) NEW UNIT(SYSDA) USING(EDITDCB) ALLOC FI(DSQPNLE) DA('QMF720.DSQPNLE') SHR REUSE /************************************************************/ /* Start your program as the initial ISPF dialog */ /************************************************************/ ISPSTART PGM(samFORT) NEWAPPL(DSQE) EXIT CODE(4)
The EXIT CODE(4) suppresses the showing of the ISPF disposition panel.
[ Previous Page | Next Page | Contents | Index ]