Navigation Bar

Large FDReport Advert

FDREPORT - z/OS mainframe disk reporting

FDReport is a powerful reporting tool that can report on z/OS disk usage, dataset usage, disk problems and report on archived data. It can be considered a replacement for the DCOLLECT program, except that DCOLLECT output needs a lot of work to interpret, whereas FDReport can layout its reports in list format for examination and action, or it can generate control statements for immediate action. For example, it is possible to run a two-step job with the first step searching for uncatalogued datasets and generating IDCAMS DELETE statements (see the z/OS utilities section for IDCAMS details) into a file. The second step then uses that file as SYSIN to an IDCAMS job and deletes the uncatalogued files. Or you may decide that this is a bit extreme and you just want to produce a list of uncatalogued files then decide what to do with them yourself.

FDReport has hundreds of fields that it can report on and you can find the full list of all the fields om the FDReport fields page. The sheer volume of available data can be a bit daunting for the beginner so Innovation provides about 50 canned reports with the product to get you started. If you want to scan everything in a large environment with a lot of disks, FDReport can be a bit slow if it needs to scan lots of disks. Version 5.4.55 is much faster.

Here's a summary of what FDReport provides and some examples of reports that I run.

VTOC reports

This is a report that I use if a storage pool is running out of space. It will report on old data in a storage pool giving its last referenced data and the SMS management class. You will need to adjust the Julian date in the LRDATE exclusion clause to get the data that you are interested in.

//REPORT   EXEC PGM=FDREPORT,REGION=0M                   
//SYSPRINT DD SYSOUT=*                                   
//ABRMAP   DD SYSOUT=*                                   
//ABRSUM   DD SYSOUT=*                                   
//SYSIN    DD *                                          
 XSELECT STORGRP=poolname                                
 XEXCLUDE LRDATE<05.210                                  
 REPORT FIELD=(DSN,CLUSTER,LRDATE,VOL,MGMTCLAS,SIZEINFO) 
 SORT    FIELD=(LRDATE)                                  
 PRINT                                                   
//                                                       

The report is sorted by last referenced data so older data is more obvious.

The 'xselect' and 'exclude' parameters give you a lot of flexibility in selecting files or disks. As an example,

XSELECT XDSN=INP/.|+AB*.**,vol=P+*

will select datasets with a high level qualifier starting INP that is exactly four characters long (the / represents any one character), the second qualifier starts with any alphabetic character (|) then any numeric character (+) then exactly 'AB' then anything that pads the second qualifier out to a maximum of eight characters. Finally, the '**' means any valid set of characters and levels up to the maximum allowed by z/OS.
So INP2.A6ABZ#.UNIT.TEST will be selected, while INP.ARABZ#.UNIT.TEST will not be selected (because the HLQ has only three characters and because character 2 in the second qualifier is not numeric).
XSELECT also works on volumes. VOL=/AB* means select any volume starting with an alphabetic character, with the second and third characters 'AB'.

The next report looks at a problem storage pool from the other angle. It lists out all data that was created today. It is useful to know this if a pool suddenly starts running out of space because it can tell you who to blame. The 'SIZEINFO' parameter will list out the SIZE of each file in tracks and also SIZEFREE and percentage free. You can specifically ask for the size in bytes if you want. I am excluding various system files and also the XEXCLUDE XDSN=**.INDEX, DSORG=EF parameter will exclude all VSAM files that end in .INDEX. The reason for this is that these files never get their update bit set, so they will clog up the report.

//SYSIN    DD *        
 XSELECT STORGRP=(LNVLRGPD),CRDATE.EQ.2005118    
 XEXCLUDE XDSN=**VTOC          
 XEXCLUDE XDSN=**ABR            
 XEXCLUDE XDSN=SYS1
 XEXCLUDE XDSN=FDRABR.**     
 XEXCLUDE XDSN=**.INDEX, DSORG=EF   
 REPORT FIELD=(DSN,SIZEINFO,MGMTCLAS)      
 PRINT  DATEFORMAT=DDMMYYYY
 SORT 	FIELD=DSN 

VSAM reports

If you want to know these things, then FDReport will tell you about VSAM clusters that have a high number of CA and CI splits, or that are on an excessive number of extents. For example this report will list out problem VSAM files that have more than 80 extents, OR more that 50 CA splits, OR more than 100 CI splits.

XSELECT XDSN=(AXP.**,AYP.**,CIT.**),DSORG=EF,VOL=/P*,NOEPV.GT.80
XSELECT XDSN=(AXP.**,AYP.**,CIT.**),DSORG=EF,VOL=/P*,CASPLIT.GT.50
XSELECT XDSN=(AXP.**,AYP.**,CIT.**),DSORG=EF,VOL=/P*,CISPLIT.GT.100
REPORT FIELD=(CLUSTER,DSN,VOL,CASPLIT,CISPLIT,CISIZE,CICA,NOEPV)
SORT FIELD=(CLUSTER,DSN)
PRINT ENABLE=AUTOSTACK,SORTALLOC=YES

HSM Migration reports

FDReport will report on both its own FDRABR migration and also on DFHSM Migration. See the DFHSM section for details on DFHSM. The report below is reading the DFHSM MCDS. This is specified in the MCDSDD DD name. It will report on all migrated datasets with a high qualifier of DRP, and will tell you how big the file is, which volume it was on, the date it was migrated and the number of days since migrated. It will also tell you how many times each file has been migrated (NTMIGRAT, useful to detect thrashing) the management class, and finally 'DSSN' will tell you which migration level the file is on

//MCDSDD   DD DISP=SHR,DSN=your.mcds.name                         
//SYSIN    DD *                                                
 TITLE     LINE='HSM INFO'                                     
 XSELECT   XDSN=DRP.**                                          
 REPORT FIELD=(DSN,VOL,SIZE,ADATE,NTMIGRAT,ADAYS,DSSN,MGMTCLAS)
 PRINT DATATYPE=MCDS                                           

Here's an example of an FDReport that I used to increase the retention of datasets that were already migrated by DFHSM. The customer wanted all her XVN.PROD files that already have a five year retention retained for 10 years instead. This meant building a list of all migrated files with a specific management class and changing that class. FDReport will find the files for you, then build the control statements to change the management class.
The PUNCH statement tell FDReport to format an output list.
The <NAME> bit in the ALTER statement is a system variable that will substitute the database name.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//SYSPUNCH DD DSN=YOUR.OUTPUT.FILE,DISP=OLD       
//MCDSDD   DD DISP=SHR,DSN=YOUR.MCDS
//ABRMAP   DD SYSOUT=*
//ABRSUM   DD SYSOUT=*
//SYSIN    DD *
 XSELECT   XDSN=XVN.PROD.**,MGMTCLAS=YEAR5
  REPORT FIELD=(DSN,MGMTCLAS)
 PUNCH  FDRLIB=MASK
 PRINT  RPTYPE=SELPCH,DATATYPE=MCDS
//MASK     DD  *
 ALTER <NAME> MGMTCLAS(YEAR10)

A courageous person would run this job with the SYSPUNCH file feeding straight into a second IDCAMS step to just change the classes, but I prefer to check the output first then run the changes later.

ABR Backup reports

You can report on available ABR backups for any dataset, disk or storage pool. The example below will list out all backups for storage pool 'CICSPROD', giving you the creation data, generation and cycle numbers, and also the tape volser and file sequence number

//SYSIN    DD *    
 XSELECT STORGRP=CICSPROD   
 REPORT FIELD=(VOL,CRDATE,BKGEN,BKCYCLE,BKVOL,BKFILENO)
 PRINT 

back to top


                           VENDOR SHOWCASE

Copyright © Lascon Storage Ltd. 2000 to present date. By entering and using this site, you accept the conditions and limitations of use