Sample JCL to compile COBOL source for impact analysis

This sample JCL compiles COBOL 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 COBOL compiler followed by any other concatenated DDs.
  • 2 The COBOL source file to be compiled.
  • 3 The COBOL COPY library followed by any other concatenated COPY library PDSs.
  • 4 The PDS member name containing compiler output.
  • 5 The library containing program BCC2XML.
  • 6 The z/OS® Extensions load library.
  • 7 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.PROJ1.SYSADATA
  IF LASTCC = 8 THEN SET MAXCC = 4
  DELETE ADMIN.PROJ1.SYSIADSD
  IF LASTCC = 8 THEN SET MAXCC = 4
//COBC EXEC PGM=IGYCRCTL,REGION=4096K,
//  PARM=('ADATA,LIB')
//STEPLIB  DD DSN=<COBOL compiler>,DISP=SHR     1
//*        DD <other concatenated libraries>
//SYSIN    DD DSN=ADMIN.PROJ1.COBOL.SRC(PGM1),DISP=SHR   2
//SYSLIB   DD DSN=ADMIN.PROJ1.COBOL.CPY,DISP=SHR         3
//*        DD <other concatenated copy library PSDs>
//SYSADATA DD DSN=ADMIN.PROJ1.SYSADATA,DISP=(NEW,CATLG),
//         DCB=(RECFM=VB,LRECL=1020,BLKSIZE=10200),
//         SPACE=(TRK,(10,80)),UNIT=VIO
//SYSLIN   DD DSN=<compiler output PDS member>	 4
//SYSPRINT DD SYSOUT=*
//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='/COBOL'
//STEPLIB  DD DSN=RCC.IA.TSCLOAD,DISP=SHR     5
//SYSADATA DD DSN=ADMIN.PROJ1.SYSADATA,DISP=SHR
//SYSIADSD DD DSN=ADMIN.PROJ1.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           6
//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.PROJ1.SYSIADSD,DISP=SHR
//*SYSIN DD DSN=ADMIN.LIB.FILTER,DISP=SHR 	 7
//* 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
/*
//