Sample JCL to compile PL/I source for impact analysis

This sample JCL compiles PL/I source to generate impact analysis data.

To use this sample JCL, you need to set site-specific values for the following data sets and options. This list refers to the callouts shown in the right margin of the sample.
  • 1 The library containing the PL/I compiler followed by any other concatenated DDs.
  • 2 The PDS member name containing compiler output.
  • 3 The PL/I INCLUDE library followed by any other concatenated SYSLIB DDs.
  • 4 The PL/I source file to be compiled.
  • 5 Any other PL/I INCLUDE library.
  • 6 The z/OS® Extensions load library.
  • 7 The z/OS Extensions load library.
  • 8 The library filter file described in Gathering initial impact analysis data .
//ADMIN JOB ,
// MSGCLASS=H,MSGLEVEL=(1,1),TIME=(,4),REGION=70M
//DELIST EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
  DELETE ADMIN.PROJ8.SYSADATA
  IF LASTCC = 8 THEN SET MAXCC = 4
  DELETE ADMIN.PROJ8.SYSIADSD
  IF LASTCC = 8 THEN SET MAXCC = 4
//PLI EXEC PGM=IBMZPLI,PARM='XINFO(SYM)'
//STEPLIB  DD DSN=<PL/I compiler>,DISP=SHR     1
//*        DD <other concatenated libraries> 
//SYSADATA DD DSN=ADMIN.PROJ8.SYSADATA,DISP=(NEW,CATLG),
//         DCB=(RECFM=U,LRECL=0,BLKSIZE=1024),
//         SPACE=(TRK,(10,80)),UNIT=VIO
//SYSPRINT DD SYSOUT=*
//SYSLIN   DD DSN=<compiler output PDS member>	 2
//            UNIT=SYSDA,DISP=(MOD,PASS),SPACE=(TRK,(3,3)),
//            DCB=(RECFM=FB,LRECL=80)
//SYSLIB   DD DSN=ADMIN.PROJ8.PLI.INCLUDE,DISP=SHR         3
//*        DD <other concatenated SYSLIB DDs>
//SYSIN    DD DSN=ADMIN.PROJ8.PLI.SRC(PGMA),DISP=SHR   4
//MYLIB    DD DSN=<other include library>,DISP=SHR   5
//SYSUT1 DD SPACE=(800,(2500,2500),,,ROUND),UNIT=VIO
//SYSUT2 DD SPACE=(800,(2500,2500),,,ROUND),UNIT=VIO
//SYSUT3 DD SPACE=(800,(2500,2500),,,ROUND),UNIT=VIO
//SYSUT4 DD SPACE=(800,(2500,2500),,,ROUND),UNIT=VIO
//SYSUT5 DD SPACE=(800,(2500,2500),,,ROUND),UNIT=VIO
//SYSUT6 DD SPACE=(800,(2500,2500),,,ROUND),UNIT=VIO
//SYSUT7 DD SPACE=(800,(2500,2500),,,ROUND),UNIT=VIO
//*
//DOADATA  EXEC PGM=BCC2XML,REGION=512K,PARM='/PLI'
//STEPLIB  DD DSN=RCC.IA.TSCLOAD,DISP=SHR     6
//SYSADATA DD DSN=ADMIN.PROJ8.SYSADATA,DISP=SHR
//SYSIADSD DD DSN=ADMIN.PROJ8.SYSIADSD,DISP=(NEW,CATLG),
//         DCB=(RECFM=FB,LRECL=112,BLKSIZE=27888),
//         SPACE=(TRK,(200,40))
//SYSPRINT DD SYSOUT=*
//SYSOUT   DD DUMMY
//*
//*----------------------------------------------------------
//* Update VSAM KSDS with output from the previous steps
//*----------------------------------------------------------
//UPKSDS EXEC PGM=BCCIAUPD,COND=(8,LE)
//STEPLIB  DD DSN=RCC.IA.TSCLOAD,DISP=SHR           7
//SYSPRINT DD SYSOUT=*
//SYSTERM  DD SYSOUT=*
//SYSOUT   DD SYSOUT=*
//PLIDUMP  DD SYSOUT=*
//SYSABEND DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//COPYAIX1  DD DSN=ADMIN.VSAM1.CCZVSAM.COPY.NUPATH1,DISP=SHR
//CALLAIX1  DD DSN=ADMIN.VSAM1.CCZVSAM.CALL.NUPATH1,DISP=SHR
//SEQCLUS   DD DSN=ADMIN.VSAM1.CCZVSAM.SEQ.BASE,DISP=SHR
//SYSIADSD DD DSN=ADMIN.PROJ8.SYSIADSD,DISP=SHR
//*SYSIN DD DSN=ADMIN.LIB.FILTER,DISP=SHR 	 8
//* or specify this as an in-stream dataset as below:
//SYSIN DD *
  	ADMIN.PROJ1.COBOL.SRC
  	ADMIN.PROJ2.COBOL.SRC
  	ADMIN.ALLPROJ.PLI.SRC
  	ADMIN.PROJ1.COBOL.CPY
  	ADMIN.PROJ2.COBOL.CPY
  	ADMIN.PROJ8.PLI.INCLUDE
/*
//