/***********************************************************/;
/*********** INCLUDE HLQ TO SELECT *********/;
/***********************************************************/;
%INCLUDE DASDIN(DASDHLQ);
/***********************************************************/;
/*********** INCLUDE LPAR TO REPORT ON *********/;
/***********************************************************/;
%INCLUDE DASDIN(DASDLPAR);
FORMAT CREDATE REFDATE MMDDYY10.;
/***********************************************************/;
/*********** SORT ALL SELECTED RECORDS *********/;
/***********************************************************/;
PROC SORT DATA=WORK1.DEVPOOL;
BY DSNAME CREDATE STORNAME REFDATE RECFM ENV
LRECL BLKSIZE DSORG GROUP TYPE Q1 Q2 Q3 Q4 Q5;
/***********************************************************/;
/*********** SUMMARIZE BY DATASET NAME *********/;
/***********************************************************/;
PROC UNIVARIATE NOPRINT DATA=WORK1.DEVPOOL;
BY DSNAME CREDATE STORNAME REFDATE RECFM ENV
LRECL BLKSIZE DSORG GROUP TYPE Q1 Q2 Q3 Q4 Q5;
VAR DAAALLSP DAAUSESP ;
OUTPUT OUT=WORK1.UNIDEVPL SUM=MBALLOC MBUSED ;
/***********************************************************/;
/*********** DEFINE ALL DATASETS ***************************/;
/*********** CNT + 1 INDICATES OLD '.......1' **********/;
/***********************************************************/;
DATA DEVALL ;
SET WORK1.UNIDEVPL;
MONTH = MONTH(CREDATE);
DAY = DAY(CREDATE);
YEAR = YEAR(CREDATE);
CNT = 0;
FLAG = PUT(1,IB1.);
/* COST OF DASD PER MEGABYTE */ ;
MBCOST = .00455 ;
CDATE=DATE();
DAYS = CDATE - CREDATE;
DAYSREF = CDATE - REFDATE;
DAYCOST = MBALLOC * MBCOST ;
TOTCOST = DAYS * DAYCOST;
DIFF = MBALLOC-MBUSED;
DIFCOST = DIFF * MBCOST;
TDIFCOST = DAYS * DIFCOST;
IF MBALLOC > 0 THEN PER = MBUSED / MBALLOC;
IF MBALLOC = 0 THEN PER = 0;
FORMAT CDATE MMDDYY10. DAYCOST TOTCOST DIFCOST DOLLAR15.2;
/***********************************************************/;
/*********** DEFINE DATASETS THAT ARE INEFFICIENTLY BLOCKED*/;
/*********** CNT + 2 INDICATES OLD '......1.' **********/;
/***********************************************************/;
BESTBLK = 0;
RECLGTH = 0;
BESTBLK = BLKSIZE;
BLKSAVE = BESTBLK;
RECLGTH = LRECL;
IF RECLGTH > 0 THEN ORDER = BESTBLK / RECLGTH;
IF RECLGTH > 0 THEN BESTBLK = INT(27998/RECLGTH) * RECLGTH;
IF RECFM =:'V' THEN BESTBLK = 27998;
IF (ORDER < 1.5 AND DSORG=:'P' AND RECFM ¬=:'U') AND
/* VTOC FOR VOLUME */
(Q2 NE: 'VTOCIX') AND
/* HALF TRACK BLOCKING */
(RECFM =: 'V' AND BLKSIZE NE 27998) AND
/* HOGAN CHECKPOINTS */
((LRECL NE 4096) OR
(Q1 = 'BOST' AND LRECL = 4096 AND RECFM = 'F' AND MBALLOC > .1))
THEN CNT = CNT + 2 ;
/***********************************************************/;
/*********** DEFINE DATASETS THAT ARE LARGE ****************/;
/*********** CNT + 16 INDICATES OLD '...1....' **********/;
/***********************************************************/;
IF MBALLOC > 890 THEN CNT = CNT + 16;
/***********************************************************/;
/*********** DEFINE DATASETS THAT ARE OVERALLOCATED ******/;
/*********** CNT + 8 INDICATES OLD '....1...' **********/;
/***********************************************************/;
IF MBALLOC > 200 AND PER <= .5 THEN CNT = CNT + 8;
/***********************************************************/;
/*********** DEFINE DATASETS THAT ARE OLD *****************/;
/*********** CNT + 4 INDICATES OLD '.....1..' **********/;
/***********************************************************/;
IF (DSORG =: 'P' AND DSORG NE 'PO' AND DAYSREF > 20) OR
(DSORG =: 'V' AND Q1 NE: 'DBIT' AND
Q2 NE 'CICS' AND DAYSREF > 20) OR
(DSORG =: 'V' AND Q2 = 'CICS' AND DAYSREF > 150) OR
(DSORG =: 'V' AND Q1 =: 'DBIT' AND DAYSREF > 150) THEN
CNT = CNT + 4;
CNT = CNT + 1;
FLAG = PUT(CNT,IB1.);
/***********************************************************/;
/*********** PROCESS DATASETS FLAGGED BLOCKSIZE ***********/;
/***********************************************************/;
DATA DEVBLK; SET DEVALL;
IF FLAG = '......1.'B;
PROC SORT DATA=DEVBLK; BY ENV TYPE Q1 STORNAME MONTH DAY;
PROC UNIVARIATE NOPRINT DATA=DEVBLK;
BY ENV TYPE Q1 STORNAME ;
VAR MBALLOC MBUSED TOTCOST DAYCOST DIFCOST TDIFCOST DAYS;
OUTPUT OUT=DEVBLKSU SUM=SUMMBA
SUMMBU SUMTCOST SUMDCOST SUMUCOST STDFCOST NOOFDAYS N=COUNT;
PROC SORT DATA=DEVBLKSU; BY ENV Q1 TYPE STORNAME ;
PROC PRINTTO NEW PRINT=DASDBLKS;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVBLKSU;
BY ENV Q1 TYPE STORNAME; ID ENV Q1 TYPE STORNAME;
VAR COUNT SUMMBA SUMMBU SUMDCOST SUMTCOST;
LABEL Q1='APPLICATION'
COUNT ='NUMBER*DATASETS'
NOOFDAYS = 'AGE OF DSNS*IN DAYS'
STORNAME='STORAGE*GROUP*NAME'
SUMMBA = 'TOTAL*MEGABYTES*ALLOCATED'
SUMMBU = 'TOTAL*MEGABYTES*USED'
SUMTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
SUMDCOST = 'DAILY COST*MB ALLOCATED'
SUMUCOST = 'DAILY COST*MB USED'
STDFCOST = 'TOTAL COST*MB USED*TIMES NO.DAYS';
SUM COUNT SUMMBA SUMMBU SUMTCOST SUMDCOST ;
FORMAT SUMTCOST SUMDCOST SUMUCOST STDFCOST DOLLAR15.2;
TITLE 'DASD5SBLKS - SUMMARY OF APPLS WITH INEFFICIENT BLKSIZES';
PROC PRINTTO NEW PRINT=DASDBLKD;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVBLK;
BY ENV Q1 TYPE STORNAME ;
VAR DSNAME RECFM LRECL BLKSIZE MBALLOC MBUSED DAYCOST TOTCOST;
LABEL Q1='APPLICATION'
MBUSED = 'MEGABYTES*USED'
RECFM = 'RECORD*FORMAT'
LRECL = 'LOGICAL*RECORD*LENGTH'
BLKSIZE = 'BLOCK*SIZE'
STORNAME='STORAGE*GROUP*NAME'
DSNAME = 'DATASET NAME'
CREDATE = 'DATASET*CREATION*DATE'
TOTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
DAYCOST = 'DAILY COST*MB ALLOCATED'
DIFCOST = 'DAILY COST*MB UNUSED'
TDIFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS'
DAYS = 'AGE OF DSN*IN DAYS'
MBALLOC = 'MEGABYTES*ALLOCATED'
DIFF = 'MEGABYTES*UNUSED';
SUM MBALLOC TOTCOST DAYCOST MBUSED;
FORMAT CREDATE DATE7. TOTCOST DAYCOST DIFCOST TDIFCOST DOLLAR15.2;
TITLE 'DASD7LBLKD - DETAIL OF DATASETS WITH INEFFICIENT BLKSIZE';
***********************************************************/;
*********** PROCESS DATASETS FLAGGED OLD ******************/;
***********************************************************/;
DATA DEVOLD; SET DEVALL;
IF FLAG = '.....1..'B;
PROC SORT DATA=DEVOLD; BY ENV Q1 TYPE STORNAME MONTH DAY;
PROC UNIVARIATE NOPRINT DATA=DEVOLD;
BY ENV Q1 TYPE STORNAME ;
VAR MBALLOC MBUSED TOTCOST DAYCOST DIFCOST TDIFCOST DAYS DAYSREF;
OUTPUT OUT=DEVOLDSU SUM=SUMMBA
SUMMBU SUMTCOST SUMDCOST SUMUCOST STDFCOST NOOFDAYS SUMDAYRF
N=COUNT;
PROC SORT DATA=DEVOLDSU; BY ENV Q1 TYPE STORNAME ;
PROC PRINTTO NEW PRINT=DASDOLDS;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVOLDSU;
BY ENV Q1 TYPE STORNAME; ID ENV Q1 TYPE STORNAME;
VAR COUNT SUMMBA SUMMBU SUMDCOST SUMTCOST;
LABEL Q1='APPLICATION'
COUNT ='NUMBER*DATASETS'
NOOFDAYS = 'AGE OF DSNS*IN DAYS'
SUMDAYRF = 'LAST REF*IN DAYS'
STORNAME='STORAGE*GROUP*NAME'
SUMMBA = 'TOTAL*MEGABYTES*ALLOCATED'
SUMMBU = 'TOTAL*MEGABYTES*USED'
SUMTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
SUMDCOST = 'DAILY COST*MB ALLOCATED'
SUMUCOST = 'DAILY COST*MB UNUSED'
STDFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS';
SUM COUNT SUMMBA SUMMBU SUMTCOST SUMDCOST ;
FORMAT SUMTCOST SUMDCOST SUMUCOST STDFCOST DOLLAR15.2;
TITLE 'DASD7LUSES - SUMMARY OF OLD DATASETS BASED ON LAST REFERENCE';
PROC PRINTTO NEW PRINT=DASDOLDD;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVOLD;
BY ENV Q1 TYPE STORNAME;
VAR DSNAME CREDATE DAYSREF DAYS MBALLOC MBUSED DAYCOST TOTCOST ;
LABEL Q1='APPLICATION'
STORNAME='STORAGE*GROUP*NAME'
DSNAME = 'DATASET NAME'
CREDATE = 'DATASET*CREATION*DATE'
TOTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
DAYCOST = 'DAILY COST*MB ALLOCATED'
DIFCOST = 'DAILY COST*MB UNUSED'
TDIFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS'
DAYS = 'AGE OF DSN*IN DAYS'
DAYSREF = 'LAST REF*IN DAYS'
MBALLOC = 'MEGABYTES*ALLOCATED'
MBUSED = 'MEGABYTES*USED'
DIFF = 'MEGABYTES*UNUSED';
SUM MBALLOC TOTCOST DAYCOST MBUSED;
FORMAT CREDATE DATE7. TOTCOST DAYCOST DIFCOST TDIFCOST DOLLAR15.2;
TITLE 'DASD7LUSED - DETAIL OF OLD DATASETS BASED ON LAST REFERENCE';
/***********************************************************/;
/*********** PROCESS DATASETS FLAGGED OVERALLOCATED ***/;
/***********************************************************/;
DATA DEVUSE; SET DEVALL;
IF FLAG = '....1...'B;
PROC SORT DATA=DEVUSE; BY ENV Q1 TYPE STORNAME MONTH DAY;
PROC UNIVARIATE NOPRINT DATA=DEVUSE;
BY ENV Q1 TYPE STORNAME ;
VAR MBALLOC MBUSED TOTCOST DAYCOST DIFCOST TDIFCOST DAYS;
OUTPUT OUT=DEVUSESU SUM=SUMMBA
SUMMBU SUMTCOST SUMDCOST SUMUCOST STDFCOST NOOFDAYS N=COUNT;
PROC SORT DATA=DEVUSESU; BY ENV Q1 TYPE STORNAME ;
PROC PRINTTO NEW PRINT=DASDUSES;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVUSESU;
BY ENV Q1 TYPE STORNAME; ID ENV Q1 TYPE STORNAME;
VAR COUNT SUMMBA SUMMBU SUMDCOST SUMTCOST;
LABEL Q1='APPLICATION'
COUNT ='NUMBER*DATASETS'
NOOFDAYS = 'AGE OF DSNS*IN DAYS'
STORNAME='STORAGE*GROUP*NAME'
SUMMBA = 'TOTAL*MEGABYTES*ALLOCATED'
SUMMBU = 'TOTAL*MEGABYTES*USED'
SUMTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
SUMDCOST = 'DAILY COST*MB ALLOCATED'
SUMUCOST = 'DAILY COST*MB UNUSED'
STDFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS';
SUM COUNT SUMMBA SUMMBU SUMTCOST SUMDCOST ;
FORMAT SUMTCOST SUMDCOST SUMUCOST STDFCOST DOLLAR15.2;
TITLE 'DASD7LUSES - SUMMARY OF DATASETS > 200 MB AND < 50% USED';
PROC PRINTTO NEW PRINT=DASDUSED;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVUSE;
BY ENV Q1 TYPE STORNAME ;
VAR DSNAME CREDATE DAYSREF DAYS MBALLOC MBUSED DAYCOST TOTCOST ;
LABEL Q1='APPLICATION'
STORNAME='STORAGE*GROUP*NAME'
DSNAME = 'DATASET NAME'
CREDATE = 'DATASET*CREATION*DATE'
DAYSREF = 'LAST REF*IN DAYS'
TOTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
DAYCOST = 'DAILY COST*MB ALLOCATED'
DIFCOST = 'DAILY COST*MB UNUSED'
TDIFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS'
DAYS = 'AGE OF DSN*IN DAYS'
MBALLOC = 'MEGABYTES*ALLOCATED'
MBUSED = 'MEGABYTES*USED'
DIFF = 'MEGABYTES*UNUSED';
SUM MBALLOC TOTCOST DAYCOST MBUSED;
FORMAT CREDATE DATE7. TOTCOST DAYCOST DIFCOST TDIFCOST DOLLAR15.2;
TITLE 'DASD7LUSED - DETAIL OF DATASETS > 200 MB AND < 50% USED';
/***********************************************************/;
/*********** PROCESS DATASETS FLAGGED AS LARGE *************/;
/***********************************************************/;
DATA DEVLRG; SET DEVALL;
IF FLAG = '...1....'B;
PROC SORT DATA=DEVLRG; BY ENV Q1 TYPE STORNAME MONTH DAY;
PROC UNIVARIATE NOPRINT DATA=DEVLRG;
BY ENV Q1 TYPE STORNAME ;
VAR MBALLOC MBUSED TOTCOST DAYCOST DIFCOST TDIFCOST DAYS;
OUTPUT OUT=DEVLRGSU SUM=SUMMBA
SUMMBU SUMTCOST SUMDCOST SUMUCOST STDFCOST NOOFDAYS N=COUNT;
PROC SORT DATA=DEVLRGSU; BY ENV Q1 TYPE STORNAME ;
PROC PRINTTO NEW PRINT=DASDLRGS;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVLRGSU;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVLRGSU;
BY ENV Q1 TYPE STORNAME; ID ENV Q1 TYPE STORNAME;
VAR COUNT SUMMBA SUMMBU SUMDCOST SUMTCOST;
LABEL Q1='APPLICATION'
COUNT ='NUMBER*DATASETS'
NOOFDAYS = 'AGE OF DSNS*IN DAYS'
STORNAME='STORAGE*GROUP*NAME'
SUMMBA = 'TOTAL*MEGABYTES*ALLOCATED'
SUMMBU = 'TOTAL*MEGABYTES*USED'
SUMTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
SUMDCOST = 'DAILY COST*MB ALLOCATED'
SUMUCOST = 'DAILY COST*MB UNUSED'
STDFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS';
SUM COUNT SUMMBA SUMMBU SUMTCOST SUMDCOST ;
FORMAT SUMTCOST SUMDCOST SUMUCOST STDFCOST DOLLAR15.2;
TITLE 'DASD7LLRGS - SUMMARY OF DATASETS > 890 MB BY APPL';
PROC PRINTTO NEW PRINT=DASDLRGD;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVLRG;
BY ENV Q1 TYPE STORNAME ;
VAR DSNAME CREDATE DAYSREF DAYS MBALLOC MBUSED DAYCOST TOTCOST ;
LABEL Q1='APPLICATION'
STORNAME='STORAGE*GROUP*NAME'
DSNAME = 'DATASET NAME'
CREDATE = 'DATASET*CREATION*DATE'
DAYSREF = 'LAST REF*IN DAYS'
TOTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
DAYCOST = 'DAILY COST*MB ALLOCATED'
DIFCOST = 'DAILY COST*MB UNUSED'
DIFCOST = 'DAILY COST*MB UNUSED'
TDIFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS'
DAYS = 'AGE OF DSN*IN DAYS'
MBALLOC = 'MEGABYTES*ALLOCATED'
MBUSED = 'MEGABYTES*USED'
DIFF = 'MEGABYTES*UNUSED';
SUM MBALLOC TOTCOST DAYCOST MBUSED;
FORMAT CREDATE DATE7. TOTCOST DAYCOST DIFCOST TDIFCOST DOLLAR15.2;
TITLE 'DASD7LLRGD - DETAIL OF DATASETS > 890 MB BY APPL';
/***********************************************************/;
/*********** PROCESS ALL DATASET *************/;
/***********************************************************/;
DATA DEVTOT; SET DEVALL;
IF FLAG = '.......1'B;
/***********************************************************/;
/*********** INCLUDE SELECT FOR PROD QUALIFIER *********/;
/***********************************************************/;
%INCLUDE DASDIN(DASDSELP);
/***********************************************************/;
/*********** INCLUDE SELECT FOR TEST QUALIFIER *********/;
/***********************************************************/;
%INCLUDE DASDIN(DASDSELT);
PROC SORT DATA=DEVTOT; BY ENV Q1 QUAL;
PROC UNIVARIATE NOPRINT DATA=DEVTOT;
BY ENV Q1 QUAL ;
VAR MBALLOC MBUSED TOTCOST DAYCOST DIFCOST TDIFCOST DAYS;
OUTPUT OUT=DEVTOTSU SUM=SUMMBA
SUMMBU SUMTCOST SUMDCOST SUMUCOST STDFCOST NOOFDAYS N=COUNT;
PROC SORT DATA=DEVTOTSU; BY ENV Q1 QUAL;
PROC PRINTTO NEW PRINT=DASDALLS;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVTOTSU;
BY ENV Q1 QUAL ; ID ENV Q1 QUAL;
VAR COUNT SUMMBA SUMMBU SUMDCOST SUMTCOST;
LABEL Q1='APPLICATION'
QUAL='QUALIFIER'
COUNT ='NUMBER*DATASETS'
NOOFDAYS = 'AGE OF DSNS*IN DAYS'
STORNAME='STORAGE*GROUP*NAME'
SUMMBA = 'TOTAL*MEGABYTES*ALLOCATED'
SUMMBU = 'TOTAL*MEGABYTES*USED'
SUMTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
SUMDCOST = 'DAILY COST*MB ALLOCATED'
SUMUCOST = 'DAILY COST*MB UNUSED'
STDFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS';
SUM COUNT SUMMBA SUMMBU SUMTCOST SUMDCOST ;
FORMAT SUMTCOST SUMDCOST SUMUCOST STDFCOST DOLLAR15.2;
TITLE 'DASD7LTOTS - SUMMARY OF ALL DATASETS';
PROC PRINTTO NEW PRINT=DASDALLD;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVTOT;
STDFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS';
SUM COUNT SUMMBA SUMMBU SUMTCOST SUMDCOST ;
FORMAT SUMTCOST SUMDCOST SUMUCOST STDFCOST DOLLAR15.2;
TITLE 'DASD7LTOTS - SUMMARY OF ALL DATASETS';
PROC PRINTTO NEW PRINT=DASDALLD;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=DEVTOT;
BY ENV Q1 QUAL ;
VAR DSNAME CREDATE DAYSREF DAYS MBALLOC MBUSED DAYCOST TOTCOST ;
LABEL Q1='APPLICATION'
QUAL='QUALIFIER'
STORNAME='STORAGE*GROUP*NAME'
DSNAME = 'DATASET NAME'
CREDATE = 'DATASET*CREATION*DATE'
DAYSREF = 'LAST REF*IN DAYS'
TOTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
DAYCOST = 'DAILY COST*MB ALLOCATED'
DIFCOST = 'DAILY COST*MB UNUSED'
TDIFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS'
DAYS = 'AGE OF DSN*IN DAYS'
MBALLOC = 'MEGABYTES*ALLOCATED'
MBUSED = 'MEGABYTES*USED'
DIFF = 'MEGABYTES*UNUSED';
SUM MBALLOC TOTCOST DAYCOST MBUSED;
FORMAT CREDATE DATE7. TOTCOST DAYCOST DIFCOST TDIFCOST DOLLAR15.2;
TITLE 'DASD7LTOTD - DETAIL OF ALL DATASETS';
PROC RANK DATA=DEVTOT DESCENDING OUT=RANKOUT;
RANKS RANK;
VAR MBALLOC;
BY ENV Q1;
DATA RANKIN; SET RANKOUT;
IF RANK <= 50;
PROC PRINTTO NEW PRINT=DASDRNKD;
PROC SORT DATA=RANKIN; BY ENV Q1 RANK;
PROC PRINT NOOBS UNIFORM SPLIT='*' WIDTH=MIN DATA=RANKIN;
BY ENV Q1 ;
VAR DSNAME CREDATE DAYSREF DAYS RANK MBALLOC MBUSED DAYCOST TOTCOST ;
LABEL Q1='APPLICATION'
QUAL='QUALIFIER'
STORNAME='STORAGE*GROUP*NAME'
DSNAME = 'DATASET NAME'
CREDATE = 'DATASET*CREATION*DATE'
DAYSREF = 'LAST REF*IN DAYS'
RANK = 'DATASET*RANKING'
TOTCOST = 'TOTAL COST*MB ALLOCATED*TIMES NO.DAYS'
DAYCOST = 'DAILY COST*MB ALLOCATED'
DIFCOST = 'DAILY COST*MB UNUSED'
TDIFCOST = 'TOTAL COST*MB UNUSED*TIMES NO.DAYS'
DAYS = 'AGE OF DSN*IN DAYS'
MBALLOC = 'MEGABYTES*ALLOCATED'
MBUSED = 'MEGABYTES*USED'
DIFF = 'MEGABYTES*UNUSED';
SUM MBALLOC TOTCOST DAYCOST MBUSED;
FORMAT CREDATE DATE7. TOTCOST DAYCOST DIFCOST TDIFCOST DOLLAR15.2
RANK 3.0;
TITLE 'DASD7LRNKD - TOP 50 LARGEST DATASETS BY APPLICATION';
**************************** Bottom of Data ***********************
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
And by the way, the BPXP018I messages are normal when a SAS job blows up -- SAS doesn't clean up its Unix System Services threads when it abends, so you normally get these messages if the job doesn't complete normally. All you've posted so far basically says a SAS job blew up -- but the reason for it will be in the SAS log.
SETGBLS: MICSMODE=PRE4600 USWITCH=YES DBIDLIST=E
MAPDDIA: DDIAMPE macro invoked to build DD name macros
948 + DATA WORK1.DEVPOOL ; SET DETAIL.VCADAA01 (IN=NONVSAM)
WARNING: The library data set NBKJIUE.MICS6.SMS.DETAIL has been truncated.
ERROR: Library DETAIL cannot be processed because the DLTRUNCHK option was spec
WARNING: The library data set NBKJIUE.MICS6.SMS.DETAIL has been truncated.
ERROR: Library DETAIL cannot be processed because the DLTRUNCHK option was spec
949 + DETAIL.VCA_VS01 (IN=VSAM);
ERROR: Library DETAIL is not in a valid format for access method SASE7.
ERROR: Library DETAIL is not in a valid format for access method SASE7.
Joined: 06 Jun 2008 Posts: 8697 Location: Dubuque, Iowa, USA
It looks to me like there's a basic problem:
Quote:
SET DETAIL.VCADAA01 (IN=NONVSAM)
conflicts with
Quote:
DETAIL.VCA_VS01 (IN=VSAM)
DDname DETAIL cannot be both NONVSAM and VSAM the way these statements indicate. That's probably why the ERROR message about DETAIL not in a valid format occurred, and that's why the job blew up.
What creates the file opened via the DETAIL statement? Is it a VSAM file? Is it a non-VSAM file? Why does the MICS program have conflicting definitions for this file? What should the file be -- VSAM or NONVSAM? Answering these questions will go a long, long way towards resolving the issue.
<rant>If you'd posted the SAS error messages instead of, or even with, your original post, you would be almost 36 hours closer to solving the problem. Posting too much detail when discussing a problem is so rare as to almost not happen on these boards!
</rant>