A runaway job has caused View to archive thousands of occurrences of a report.
This resulted in the View database issuing "SARDBI23 Data file(s) at nn% utilization" messages and eventually a "SARSTC24 No more space in database" message.
A standard BACKUP was run, but because the report has a 20 day disk retention, none of the disk occurrences of this report were deleted.
Does View provide a BATCH utility, similar to the online "DD" command, that would allow to delete the DISK occurrences of this report while at the same time leaving the TAPE occurrences of this report intact?
Release : View 14.0
There is no "readily available" batch utility that could be run to delete the thousands of occurrences of this report from DISK.
Use of a SARBCH /DELETE ID='sysoutid' DISK function would work, but if there is only a single /DELETE control statement coded in the JCL, only the FIRST disk occurrence of that sysoutid would be deleted.
The above being said, what you could do is create a SARGRW utility job that would generate the thousands of necessary /DELETE ID=sysoutid DISK statements and write them into a flat file. You would then be able to feed that flat file in as INPUT to a SARBCH job that could deleted all disk occurrences of that sysout.
*** See below for Sample SARGRW & SARBCH JCL to perform the above utility functions ***
1. Sample SARGRW JCL to create a dataset with /DELETE ID= DISK control statements for a specific SYSOUTID:
//JOBCARD...
//*
//* SARGRW - GENERAL PURPOSE REPORT UTILITY
//*
//$$$$$$@ EXEC PGM=SARGRW
//STEPLIB DD DISP=SHR,DSN=your.hlq.CVDELOAD <<<===== YOUR LOADLIB
//SYSPRINT DD SYSOUT=*
//SYSOUT DD SYSOUT=*
//OUTFILE DD DISP=(,CATLG,DELETE),
// DSN=your.dsn.DELETE.CARDS, <<<===== YOUR DSN
// DCB=(RECFM=FB,LRECL=132,BLKSIZE=0),
// SPACE=(TRK,(5,1),RLSE),
// STORCLAS=???????? <<<===== YOUR STORCLS
//PRTFILE DD SYSOUT=*
//*
//* SAMPLE SARGRW CONTROL STATEMENTS TO GENERATE A FILE CONTAINING
//* "/DELETE ID=sysoutid DISK" CONTROL STATEMENTS FOR NAMED SYSOUT
//*
//SYSIN DD *
/CONTROL SEQ=RID DATABASE=your.view.db <<<===== YOUR D/B
/SORT ARCHDATE-D
/IF SUBSTR(ID,1,7)='yoursearchmask' <<<===== YOUR SYSOUTID
/ OUTPUT '/DELETE DISK ID=' COL(1)
/ OUTPUT ID COL(17)
/ OUTPUT 'GEN=' COL(50)
/ OUTPUT EDIT(GEN,'99999')
/ OUTPUT 'SEQ=' COL(60)
/ OUTPUT EDIT(SEQ,'99999')
/ END
/END
2. Sample SARBCH JCL to read in the control file created above and execute the /DELETE ID= DISK functions against the SYSOUTID's:
//JOBCARD...
//*
//* S A R B C H
//*
//**************************************************
//$$$$$$@ EXEC PGM=SARBCH,PARM='your.view.db' <<<===== YOUR D/B
//STEPLIB DD DISP=SHR,DSN=your.hlq.CVDELOAD <<<===== YOUR LOADLIB
//SYSPRINT DD SYSOUT=*
//REPORT DD SYSOUT=*
//SYSIN DD DISP=SHR,DSN=your.dsn.DELETE.CARDS <<<===== DSN FROM SARGRW
//
For more information on using the SARGRW utility, please refer to the topic "General Report Writer" in the View documentation.