//CACJ043E JOB (ACCOUNT),'FSO / SRR MVS AUDIT',
//         CLASS=A,MSGCLASS=X,USER=SRRAUDT
//*
//*  This job extracts system information and creates PDIs.
//*
// SET SRRINST=SYS2.SRRAUDIT        INSTALL LIBRARIES
// SET SRRUSER=SYS3.SRRAUDIT        USER LIBRARIES
//*
// SET SRRJ=CACJ043E
// SET SRRJ1=CACJ041R
// SET SRRJ2=CACJ041E
// SET CNTL=&SRRINST..CNTL
//*
//PROCLIB JCLLIB ORDER=(&SRRUSER..CNTL,&SRRINST..CNTL)
//*
//JS010   EXEC PGM=IEFBR14
//EXAM      DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..EXAM.RPT
//ISPLOG    DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..SYSTSPRT
//TEMP1     DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..TEMP1
//TEMP2     DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..TEMP2
//TEMP3     DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..TEMP3
//*
//JS020   EXEC PGM=IEFBR14
//EXAM$OUT  DD DSN=&SRRUSER..&SRRJ..EXAM.RPT,
//             DISP=(NEW,CATLG,DELETE),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=13680,DSORG=PO),
//             SPACE=(TRK,(50,25,15)),
//*            DATACLAS=ALLOCX1V,   <--- Use if SMS rule applies
//             UNIT=SYSDA
//ISPLOG    DD DSN=&SRRUSER..&SRRJ..ISPLOG,
//             DISP=(NEW,CATLG,DELETE),
//             DCB=(LRECL=125,BLKSIZE=129,RECFM=VA),
//             SPACE=(TRK,(30,15)),
//*            DATACLAS=ALLOCX1V,   <--- Use if SMS rule applies
//             UNIT=SYSDA
//SYSTSPRT  DD DSN=&SRRUSER..&SRRJ..SYSTSPRT,
//             DISP=(NEW,CATLG,DELETE),
//             DCB=(LRECL=125,BLKSIZE=129,RECFM=VA),
//             SPACE=(TRK,(30,15)),
//*            DATACLAS=ALLOCX1V,   <--- Use if SMS rule applies
//             UNIT=SYSDA
//TEMP1     DD DSN=&SRRUSER..&SRRJ..TEMP1,
//             DISP=(NEW,CATLG,DELETE),
//*            DATACLAS=ALLOCX1V,   <--- Use if SMS rule applies
//             UNIT=SYSDA,
//             SPACE=(TRK,(30,15,15)),
//             DCB=(RECFM=FB,LRECL=81,BLKSIZE=27864,DSORG=PO)
//TEMP2     DD DSN=&SRRUSER..&SRRJ..TEMP2,
//             DISP=(NEW,CATLG,DELETE),
//*            DATACLAS=ALLOCX1V,   <--- Use if SMS rule applies
//             UNIT=SYSDA,
//             SPACE=(TRK,(75,15,15)),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920,DSORG=PO)
//*
//JS030   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(SMFFILES)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(SMFXRPT)
//*
//JS040   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(SMPECSI)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(SMPERPT)
//*
//JS050   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(APFLIBS)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(APFXRPT)
//*
//JS060   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(LINKLIBS)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(LNKXRPT)
//*
//JS070   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(LPALIBS)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(LPAXRPT)
//*
//JS080   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(CATALOGS)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(CATURPT)
//*
//JS090   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(MVSEXITS)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(MVSXRPT)
//*
//JS100   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(PPT)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(PPTXRPT)
//*
//JS110   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(JES2PARM)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(JES2PARM)
//*
//JS120   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(APFDUPS)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(APFDUPS)
//*
//JS130   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(PASSWORD)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(PASSWORD)
//*
//JS140   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(PARMLIB)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(PARMLIB)
//*
//JS150   EXEC EXAMRPTS,CNTL=&CNTL
//PSTEP020.ISPLOG DD DISP=MOD,DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=MOD,DSN=&SRRUSER..&SRRJ..SYSTSPRT
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(EXAMBATX)
//EXAMSCRP  DD DISP=SHR,DSN=&SRRINST..EXAM.SCRIPT(SMFOPTS)
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT(SMFOPTS)
//*
//JS180   EXEC PGM=IEFBR14
//EXAM$OUT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT,
//             SPACE=(TRK,(0),RLSE)
//SYSTSPRT  DD DISP=OLD,DSN=&SRRUSER..&SRRJ..SYSTSPRT,
//             SPACE=(TRK,(0),RLSE)
//ISPLOG    DD DISP=OLD,DSN=&SRRUSER..&SRRJ..ISPLOG,
//             SPACE=(TRK,(0),RLSE)
//*
//JS190   EXEC PGM=CACPGRS0
//STEPLIB   DD DISP=SHR,DSN=&SRRINST..LOADLIB
//SYSPRINT  DD DISP=(NEW,PASS),DSN=&&SYSPRINT,
//             UNIT=VIO,SPACE=(TRK,(15,15)),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920,DSORG=PS)
//*
//*  SORT BY JOBNAME/DSNAME
//*
//  IF (RC=0 AND JS190.RUN=TRUE) THEN
//JS200   EXEC PGM=SORT
//SORTMSG   DD SYSOUT=*
//SYSOUT    DD SYSOUT=*
//SYSIN     DD *
  SORT FIELDS=(1,80,AQ,A)
  END
//SORTIN    DD DISP=OLD,DSN=&&SYSPRINT
//*
//SORTOUT   DD DISP=OLD,DSN=&SRRUSER..&SRRJ..TEMP2(GRSILIST)
//SORTWK01  DD UNIT=VIO,SPACE=(CYL,(5))
//  ENDIF
//*
//  IF (RC=0 AND JS200.RUN=TRUE) THEN
//JS210   EXEC EXAMRPTS,CNTL=&CNTL
//EXAMRPT   DD DISP=SHR,DSN=&SRRUSER..&SRRJ..EXAM.RPT
//CNTL      DD DISP=SHR,DSN=&SRRUSER..&SRRJ2..TABLE
//          DD DISP=SHR,DSN=&SRRUSER..CNTL
//          DD DISP=SHR,DSN=&SRRINST..CNTL
//TEMP1     DD DISP=OLD,DSN=&SRRUSER..&SRRJ..TEMP1,
//             SPACE=(TRK,(0),RLSE)
//*
//* CARJ043E ALSO WRITES TO TEMP2, DO NOT RELEASE SPACE HERE
//*
//TEMP2     DD DISP=OLD,DSN=&SRRUSER..&SRRJ..TEMP2
//TEMP3     DD DSN=&SRRUSER..&SRRJ..TEMP3,
//             DISP=(NEW,CATLG,DELETE),
//*            DATACLAS=ALLOCX1V,   <--- Use if SMS rule applies
//             UNIT=SYSDA,
//             SPACE=(TRK,(60,30),RLSE),
//             DCB=(RECFM=FB,LRECL=80,BLKSIZE=27920,DSORG=PS)
//PDIDD     DD DISP=OLD,DSN=&SRRUSER..&SRRJ1..PDI
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..CNTL(CACI0401)
//  ENDIF
//*
//JS220   EXEC EXAMRPTS,
//             CNTL=&CNTL
//CNTL      DD DSN=&CNTL,
//             DISP=SHR
//EXAMRPT   DD DISP=OLD,DSN=&SRRUSER..&SRRJ..EXAM.RPT
//PDIDD     DD DISP=OLD,DSN=&SRRUSER..&SRRJ1..PDI
//SYSTSIN   DD DISP=SHR,DSN=&SRRINST..CNTL(CACI0050)
//*
//  IF (RC=0 AND JS220.PSTEP020.RUN=TRUE) THEN
//JS230   EXEC PGM=IEFBR14
//ISPLOG    DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..ISPLOG
//SYSTSPRT  DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..SYSTSPRT
//TEMP1     DD DISP=(MOD,DELETE,DELETE),
//             SPACE=(TRK,0),UNIT=SYSALLDA,
//             DSN=&SRRUSER..&SRRJ..TEMP1
//  ENDIF
//
