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.
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.
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.
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
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.
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