View BATCH utility to delete sysouts from the DISK layer only
search cancel

View BATCH utility to delete sysouts from the DISK layer only

book

Article ID: 202825

calendar_today

Updated On:

Products

Deliver View

Issue/Introduction

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 us to delete the DISK occurrences of this report while at the same time leaving the TAPE occurrences of this report intact?

Environment

Release : 12.2, 14.0

Component :  View

Resolution

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 for you 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:
          
********************************* Top of Data ************************
//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
******************************** Bottom of Data **********************
* NOTE * REMOVE ALL <<<==== COMMENTS FROM SUBMITTED JCL OR GET RC=16 *
**********************************************************************

2. Sample SARBCH JCL to read in the control file created above and execute the /DELETE ID= DISK functions against the SYSOUTID's:

********************************* Top of Data *********************
//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 <<<===== YOUR DSN
/*                                                         FROM GRW
//
******************************** Bottom of Data *******************

 

Additional Information

For more information on using the SARGRW utility, please refer to the topic "General Report Writer" in the View documentation.