You must assemble and link-edit your program before you can run it in TSO. The following sections provide sample jobs that assemble and link-edit your programs and sample programs for running your assembled program in TSO either with or without ISPF.
The following sample job assembles and link-edits your program using Assembler H. Some parameters might vary from one installation to the next. See your QMF administrator for details.
//sampasm JOB //STEP1 EXEC PROC=ASMHCL //* Provide Access to QMF Communications Macro DSQCOMM //C.SYSLIB DD DSN=QMF720.SAMPLIB,DISP=SHR //C.SYSIN DD * . Your program or copy of QMF sample DSQABFA . /* //* Provide Access to QMF Interface Module //L.QMFLOAD DD DSN=QMF720.SDSQLOAD,DISP=SHR //L.SYSIN DD * INCLUDE QMFLOAD(DSQCIA) ENTRY sampasm MODE AMODE(31) RMODE(ANY) NAME sampasm(R) /*
After your program is assembled successfully, you can run it.
After your program is assembled successfully, you can run it under ISPF by writing a program similar to the following:
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') 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(sampasm) NEWAPPL(DSQE) EXIT CODE(4)
The EXIT CODE(4) suppresses the ISPF disposition panel.
After your program is assembled successfully, you can run it in TSO without ISPF by writing a program similar to the following:
PROC 0 CONTROL ASIS /************************************************************/ /* Note: QMF, DB2 and GDDM load libraries must be allocated */ /* before executing 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 sampasm EXIT CODE(0)