Is there a way to provide the number of program elements for each Processor Group?
All Supported Releases
This is the kind of reporting that is easily handled by the CSV utility and the Table Tool. See the example JCL, which produced the example output below:
Sample JCL:
//*------------------------------------------------------------------- //* STEP 1 -- EXECUTE CSV UTILITY //*------------------------------------------------------------------- //STEP1 EXEC PGM=NDVRC1,REGION=4M, // PARM='BC1PCSV0' //STEPLIB DD DISP=SHR,DSN=your.endevor.CSIQAUTU // DD DISP=SHR,DSN=your.endevor.CSIQAUTH //CONLIB DD DISP=SHR,DSN=your.endevor.CSIQLOAD //BSTIPT01 DD * LIST ELEMENT '*' FROM ENVIRONMENT SMPLTEST SYSTEM '*' SUBSYSTEM '*' TYPE '*' STAGE NUMBER '*' TO DDNAME 'TABLE' OPTIONS SEARCH RETURN ALL PATH PHYSICAL . //TABLE DD DSN=&&EXTRACTM, // DCB=(RECFM=FB,LRECL=1800,BLKSIZE=9000,DSORG=PS), // DISP=(MOD,PASS), // SPACE=(CYL,(5,5),RLSE) //C1MSGS1 DD SYSOUT=* //BSTERR DD SYSOUT=* //*-------------------------------------------------------------------- //SHOWME EXEC PGM=IEBGENER,REGION=1024K //SYSPRINT DD SYSOUT=* MESSAGES //SYSUT1 DD DSN=&&EXTRACTM,DISP=(OLD,PASS) //SYSUT2 DD SYSOUT=* OUTPUT FILE //SYSIN DD DUMMY CONTROL STATEMENTS //SYSUDUMP DD SYSOUT=* //* //*-------------------------------------------------------------------- //*-- Read CSV file of Endevor Element information -------------------- //*-------------------------------------------------------------------- //TEST003 EXEC PGM=IRXJCL,COND=(4,LT), // PARM='ENBPIU00 PARMLIST' //SYSEXEC DD DISP=SHR,DSN=your.endevor.CSIQCLS0 //TABLE DD DSN=&&EXTRACTM,DISP=(OLD,DELETE) //PARMLIST DD * NOTHING NOTHING OPTIONS 0 NOTHING NOTHING OPTIONS2 A MODEL REPORT OPTIONS3 1 //OPTIONS DD * $Table_Type = "CSV" Count. = 0 ListC1PRGRP = '' cnt# = 0 //OPTIONS2 DD * PROC_GRP_NAME = Strip(PROC_GRP_NAME) Count.PROC_GRP_NAME = Count.PROC_GRP_NAME + 1 If WordPos(PROC_GRP_NAME,ListC1PRGRP) = 0 then, + ListC1PRGRP = ListC1PRGRP PROC_GRP_NAME //OPTIONS3 DD * Do grp# = 1 to Words(ListC1PRGRP); + PROC_GRP_NAME = Word(ListC1PRGRP,grp#) ; + cnt# = Count.PROC_GRP_NAME ; + PROC_GRP_NAME = Left(PROC_GRP_NAME,8); + x = BuildFromModel(MODEL); + End; $SkipRow = 'Y' //MODEL DD * Processor Group &PROC_GRP_NAME used &cnt# times //NOTHING DD DUMMY //REPORT DD SYSOUT=* //SYSTSPRT DD SYSOUT=* //SYSPRINT DD SYSOUT=* //DISPLAYS DD SYSOUT=* //SYSTSIN DD DUMMY
Sample output:
Processor Group ARLC06 used 2 times
Processor Group CLEN04 used 38 times
Processor Group CLEX921 used 6 times
Processor Group ARLC07GD used 1 times
Processor Group CLEX916 used 7 times
Processor Group CLEX918 used 4 times
Processor Group CLEN919 used 6 times
Processor Group CEN920 used 6 times
Processor Group CLE920 used 3 times
Processor Group CLEX922 used 6 times
Processor Group CLEX23 used 9 times
Processor Group CLEX924 used 8 times
Processor Group COPYBOOK used 54 times
Processor Group DYNAMBOX used 3 times
Processor Group ASMNBL used 6 times
Processor Group CLENBL used 33 times