PRL reports generation
Sample JCL to run a PRL program can be found in the following BBSAMP data set members :
- CMRL is used to generate a report from a single CMRDETL VSAM disk, or one or more tape data sets.
- CMRMVJCL is used to generate a report from multiple, active VSAM CMRDETL data sets; or one or more tape data sets.
The following figure shows the sample JCL found in CMRL.
//jobname JOB user parameters <-- CHANGE AS NEEDED
/*JOBPARM user parameters <-- CHANGE AS NEEDED
//CMRL PROC
//PRL EXEC PGM=CMRPRLN
//STEPLIB DD DISP=SHR,DSN=CMR.CMRV3.BBLINK <-- CHANGE AS NEEDED
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ISYPROG DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=160,RECFM=FBA)
//ISYSOUT DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=160,RECFM=FBA)
//PNLLIB DD DISP=SHR,DSN=CMR.CMRV3.BBPLIB <-- CHANGE AS NEEDED
//CMRDETL DD DISP=SHR,DSN=CMR.CMRV3.CMRDETL
//CMRSTATS DD DISP=SHR,DSN=CMR.CMRV3.CMRSTATS
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,5) <-- CHANGE AS NEEDED
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,5) <-- CHANGE AS NEEDED
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,5) <-- CHANGE AS NEEDED
// PEND
//RUNSTEP EXEC CMRL
//SYSIN DD *
/*JOBPARM user parameters <-- CHANGE AS NEEDED
//CMRL PROC
//PRL EXEC PGM=CMRPRLN
//STEPLIB DD DISP=SHR,DSN=CMR.CMRV3.BBLINK <-- CHANGE AS NEEDED
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ISYPROG DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=160,RECFM=FBA)
//ISYSOUT DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=160,RECFM=FBA)
//PNLLIB DD DISP=SHR,DSN=CMR.CMRV3.BBPLIB <-- CHANGE AS NEEDED
//CMRDETL DD DISP=SHR,DSN=CMR.CMRV3.CMRDETL
//CMRSTATS DD DISP=SHR,DSN=CMR.CMRV3.CMRSTATS
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,5) <-- CHANGE AS NEEDED
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,5) <-- CHANGE AS NEEDED
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,5) <-- CHANGE AS NEEDED
// PEND
//RUNSTEP EXEC CMRL
//SYSIN DD *
The following figure shows the sample JCL found in CMRMVJCL.
//CMRMVJCL JOB ACCOUNT,'USER', <=== Change
// CLASS=X,MSGCLASS=R,REGION=0K <=== Change
//PRL EXEC PGM=CMRPRLN
//*
//STEPLIB DD DISP=SHR,DSN=CMRXX.BBLINK <=== Change
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ISYPROG DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=3120,RECFM=FBA)
//ISYSOUT DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=3120,RECFM=FBA)
//ISYPDUM DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=3120,RECFM=FBA)
//*
//PNLLIB DD DISP=SHR,DSN=CMRxx.BBPLIB <=== Change
//*
//CMRDETL DD DISP=SHR,DSN=first cmrdetl data set <=== Change
//CMRDET01 DD DISP=SHR,DSN=second <=== Change
//CMRDET02 DD DISP=SHR,DSN=third <=== Change
//CMRDETxx DD DISP=SHR,DSN=last cmrdetl data set <=== Change
//*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,5)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,5)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,5)
//SYSIN DD *
// CLASS=X,MSGCLASS=R,REGION=0K <=== Change
//PRL EXEC PGM=CMRPRLN
//*
//STEPLIB DD DISP=SHR,DSN=CMRXX.BBLINK <=== Change
//*
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//ISYPROG DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=3120,RECFM=FBA)
//ISYSOUT DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=3120,RECFM=FBA)
//ISYPDUM DD SYSOUT=*,DCB=(LRECL=80,BLKSIZE=3120,RECFM=FBA)
//*
//PNLLIB DD DISP=SHR,DSN=CMRxx.BBPLIB <=== Change
//*
//CMRDETL DD DISP=SHR,DSN=first cmrdetl data set <=== Change
//CMRDET01 DD DISP=SHR,DSN=second <=== Change
//CMRDET02 DD DISP=SHR,DSN=third <=== Change
//CMRDETxx DD DISP=SHR,DSN=last cmrdetl data set <=== Change
//*
//SORTWK01 DD UNIT=SYSDA,SPACE=(CYL,5)
//SORTWK02 DD UNIT=SYSDA,SPACE=(CYL,5)
//SORTWK03 DD UNIT=SYSDA,SPACE=(CYL,5)
//SYSIN DD *
This section contains following topics:
Related topic
Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*