Previous Topic: PL/I Example (z/VSE)Next Topic: SQL Precompiler Example (z/VSE)


SQL Precompiler Example (z/OS)

//SQLPROC  PROC SUFFIX=1$,
//             INDEX='CICSSYS.V321',
//             INDEX2='usershlq.CABDLOAD',
//             INDEX3='usershlq.CAB1LOAD',
//             OUTC='*',
//             REG=1024K,
//             WORK=SYSDA
//*
//*      THIS PROCEDURE CONTAINS 4 STEPS
//*      1.   EXEC THE SQL PRE-COMPILER
//*      2.   EXEC THE COBOL TRANSLATOR
//*           (USING THE SUPPLIED SUFFIX 1$)
//*      3.   EXEC THE OS/VS COBOL COMPILER
//*      4.   LINK EDIT THE OUTPUT TO USER LOADLIB
//*
//*      THE FOLLOWING JCL SHOULD BE USED
//*      TO EXECUTE THIS PROCEDURE
//*
//*      //APPLPROG EXEC SQLPROC
//*      //SQL.SYSIN  DD *
//*         .
//*         . APPLICATION PROGRAM
//*         .
//*      /*
//*      //LKED.SYSIN DD *
//*         NAME ANYNAME(R)
//*      /*
//*
//*      WHERE ANYNAME IS THE NAME OF YOUR APPLICATION PROGRAM
//*
//SQL   EXEC PGM=DBXMMPR
//STEPLIB DD DSN=&INDEX2.,DISP=SHR
//WORK1 DD DSN=&.&WORK1.,UNIT=SYSDA,DISP=(NEW,PASS),
//      DCB=(RECFM=F,LRECL=80,BLKSIZE=80),SPACE=(TRK,(1,1))
//WORK2 DD DSN=&.&WORK2.,UNIT=SYSDA,DISP=(NEW,PASS),
//      DCB=(RECFM=F,LRECL=80,BLKSIZE=80),SPACE=(TRK,(1,1))
//WORK3 DD DSN=&.&WORK3.,UNIT=SYSDA,DISP=(NEW,PASS),
//      DCB=(RECFM=F,LRECL=80,BLKSIZE=80),SPACE=(TRK,(1,1))
//SYSOUT DD SYSOUT=*
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD DSN=&.&TEMP.,UNIT=&WORK.,DISP=(,PASS),
//      DCB=(RECFM=FB,LRECL=80,BLKSIZE=800),SPACE=(TRK,(2,1))
//SYSUDUMP DD SYSOUT=*
//SNAPPER DD SYSOUT=*
//*
//TRN     EXEC PGM=DFHECP&SUFFIX.,
//             REGION=&REG.,COND=EVEN
//STEPLIB   DD DSN=&INDEX..SDFHLOAD,DISP=SHR
//SYSPRINT  DD SYSOUT=&OUTC.
//SYSPUNCH  DD DSN=&.&SYSCIN.,
//             DISP=(,PASS),UNIT=&WORK.,
//             DCB=BLKSIZE=400,
//             SPACE=(400,(400,100))
//SYSIN    DD DSN=&.&TEMP.,UNIT=&WORK.,DISP=(OLD,DELETE,DELETE)
//*
//*
//COB     EXEC PGM=IGYCRCTL,REGION=&REG.,COND=EVEN,
//        PARM='APOST,DMAP,PMAP'
//SYSLIB    DD DSN=&INDEX..SDFHCOB,DISP=SHR
//SYSPRINT  DD SYSOUT=&OUTC.
//SYSIN     DD DSN=&.&SYSCIN.,DISP=(OLD,DELETE)
//SYSLIN    DD DSN=&.&LOADSET.,DISP=(MOD,PASS),
//             UNIT=&WORK.,SPACE=(80,(250,100))
//SYSUT1    DD UNIT=&WORK.,SPACE=(460,(350,100))
//SYSUT2    DD UNIT=&WORK.,SPACE=(460,(350,100))
//SYSUT3    DD UNIT=&WORK.,SPACE=(460,(350,100))
//SYSUT4    DD UNIT=&WORK.,SPACE=(460,(350,100))
//SYSUT5    DD UNIT=&WORK.,SPACE=(460,(350,100))
//SYSUT6    DD UNIT=&WORK.,SPACE=(460,(350,100))
//SYSUT7    DD UNIT=&WORK.,SPACE=(460,(350,100))
//*
//LKED    EXEC PGM=IEWL,REGION=&REG.,
//             PARM='XREF.LIST,MAP,LET',COND=EVEN
//SYSLIB    DD DSN=&INDEX3.,DISP=SHR
//          DD DSN=&INDEX..SDFHLOAD,DISP=SHR
//          DD DSN=IBMPROD.COB2LIB,DISP=SHR
//          DD DSN=IBMPROD.COB2CICS,DISP=SHR
//SYSUT1    DD UNIT=&WORK.,DCB=BLKSIZE=1024,
//             SPACE=(1024,(200,20))
//SYSPRINT  DD SYSOUT=&OUTC.
//SYSLMOD   DD DSN=USER..LOADLIB,DISP=SHR
//SYSLIN    DD DSN=&INDEX..SDFHCOB(DFHEILIC),DISP=SHR
//          DD DSN=&INDEX3.(DBCSRPR),DISP=SHR
//          DD DSN=&INDEX2.(DBXHVPR),DISP=SHR
//          DD DSN=&.&LOADSET.,DISP=(OLD,DELETE)
//          DD DDNAME=SYSIN
//          PEND