Use SARGRW and SARBCH utilities to retrieve archived report output for multiple jobnames or Sysout IDs within a single execution.
Need to ensure CPU usage not high when processing reports from large databases (example > 8 million Sysouts)
OM View
z/OS
The most efficient approach is to use two steps (can be in the same job)
Example JCL below:
...jobcard
//STEPLIB DD DISP=SHR,DSN=your.view.loadlib <= if required
//SARGRW01 EXEC PGM=SARGRW
//SYSPRINT DD SYSOUT=*
//PRTFILE DD SYSOUT=*
//OUTFILE DD DISP=(NEW,PASS,DELETE),
// DSN=&&LIST,
// DCB=(RECFM=FB,LRECL=80,BLKSIZE=8000),
// SPACE=(TRK,(5,1),RLSE)
//SYSIN DD *
/CONTROL SEQ=RID DATABASE=view.db
/IF (ID='########') OR (ID='########')
/ OUTPUT '/PRINT ID=' COL(1)
/ OUTPUT SUBSTR(ID,1,8) COL(11)
/ OUTPUT ' GEN=' COL(20)
/ OUTPUT EDIT(GEN,'99999') COL(25)
/ OUTPUT ' SEQ=' COL(31)
/ OUTPUT EDIT(SEQ,'99999') COL(36)
/ OUTPUT ' DDNAME=REPORT' COL(43)
/END
/*
//*
//SARBCH01 EXEC PGM=SARBCH,PARM='view db'
//SYSPRINT DD SYSOUT=*
//REPORT DD DSN=output.dataset,
// DISP=(MOD,CATLG,DELETE),
// SPACE=(CYL,(500,100),RLSE),
// LRECL=151,RECFM=FB
//SYSIN DD DISP=(OLD,DELETE),DSN=&&LIST
/*
//*