Compiling and link-editing in TSO

The following job uses the PL/I compiler to compile your callable interface application and then link-edits the application. Some parameters can vary from one installation to the next. See your QMF administrator for details.

Figure 63. JCL to run the PL/I compiler and linkage editor
//samPLI     JOB
//STEP1      EXEC IEL1CL
//* Provide Access to QMF Communications Macro DSQCOMML
//PLI.SYSLIB   DD  DSN=QMF720.SAMPLIB,DISP=SHR
//PLI.SYSIN    DD  *
          .
          Your program or copy of QMF sample DSQABFP
          .
/*
//* Provide Access to QMF Interface Module
//LKED.QMFLOAD  DD DSN=QMF720.SDSQLOAD,DISP=SHR
//LKED.SYSIN    DD  *
          INCLUDE QMFLOAD(DSQCIPL)
          INCLUDE QMFLOAD(DSQCIPX)
          ENTRY sampPLI
          MODE  AMODE(31) RMODE(ANY)
          NAME  sampPLI(R)
/*

Running in TSO without ISPF

After you compile your program for the TSO environment, the following CLIST runs your program:

Figure 64. CLIST to run your program in TSO without ISPF
PROC 0
CONTROL ASIS
/************************************************************/
/* Note: QMF, DB2, GDDM and PL/I 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 sampPLI
EXIT CODE(0)

Running in TSO under ISPF

After you compile your program for the TSO environment, the following CLIST runs your program:

Figure 65. CLIST for running your program in TSO under ISPF
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', +
         'PLI.PLILINK','PLI.SIBMLINK')
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(sampPLI) NEWAPPL(DSQE)
EXIT CODE(4)

The EXIT CODE(4) suppresses the ISPF disposition panel.

[ Previous Page | Next Page | Contents | Index ]