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. FDREPORT contains so many features that they are not documented in the FDRABR manual, due to space limitations. These include special-purpose customization options, special modes of execution, field names and detailed information or special instructions about various selection and reporting criteria. For complete information about these, execute the following job stream

//HELP EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
 HELP ALL
/*

This prints a lengthy document with additional information about FDREPORT. This report fits on 8.5x11 inch paper if desired.
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. Some of these canned reports are -

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<2017.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.2017118
 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 dataset 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

EAV reports

Extended Address Volumes (EAV) are volumes with more than 65,536 cylinders, sometimes referred to as device type 3390 Model A. They are explain a bit on the Mainframe 3390 disk page. You can use FDReport to get EAV information, and InnovationDP provides several canned EAV reports, some of which are -

Tape Management System Reports

FDReport also interfaces with the DFSMSrmm and CA1 tape management systems. The supplied canned reports include

DFSMSrmm

A couple of sample RMM reports are
Report on data previously extracted from the DFSMSrmm tape management system. From the extracted file, select all the tapes created on a specific tape drive during a specific date range. This report can be useful if tape errors were detected on a specific drive and you want to identify all the tapes that were created on that drive during that time frame.

//FDREPORT EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//RMMXTR DD DISP=SHR,DSN=RMM.DATA
//SYSIN DD *
 XSELECT TVLRUNIT=03A0,TVLRDATE>=2018001,
   TVLRDATE<=2018007
 REPORT FIELDS=(TVLRUN4B,TVVOLSER,TVLWDATE,
   TVLRDATE)
 PRINT DATATYPE=RMMVOL
/*

Extract data from the DFSMSrmm tape management system and report on tape data sets created by jobs with names beginning with 'FDR' and have a permanent retention status (EXPDATE=1999365). The report groups the data sets by owner.

//FDREPORT EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
 EXTRACT PRODUCT=RMM,STORCLAS=TEMPDATA
 XSELECT TDEXDATE=1999365,TDCRJOB=FDR*
 SORT FIELD=(TDOWNER,TDVOLSER),BREAK=SP
 REPORT FIELD=(TDVOLSER,TDDSNAME,
   TDCRJOB,TDOWNER,
 TDCRPGM,TDCRDATE,TDLUPGM,TDLRDATE)
 PRINT DATATYPE=RMMDSN
/*

CA1

A couple of CA1 report examples -
Extract data from the CA 1 tape management system and produce a report of the volumes that are in scratch status.

//FDREPORT EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP DD SYSOUT=*
//CA1XTR DD DISP=SHR,DSN=ca1.extract.dataset
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
 TITLE LINE='VOLUMES IN SCRATCH STATUS'
 XSELECT TVSTATUS=SCRATCH
 REPORT FIELD=(TVVOLSER,TVSTATUS,TVLRDATE,
   TVLRUNIT,TVC1RECT)
 SORT FIELD=TVVOLSER
 PRINT DATATYPE=CA1VOL,ENABLE=CHAREXPDATES,
   SORTALLOC=YES
/*

Extract data from the CA 1 tape management system and report on the tape data sets that were created in the past 60 days.

//FDREPORT EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP DD SYSOUT=*
//CA1XTR DD DISP=SHR,DSN=ca1.extract.dataset
//SYSUDUMP DD SYSOUT=*
//SYSIN DD *
 TITLE LINE='DATA SETS CREATED IN THE PAST 60 DAYS'
 REPORT FIELD=(TDVOLSER,TDDSNAME,TDEXDATE,TDCRDAYS,
 TDCRDATE,TDCRTIME,TDBLKSIZ)
 XSELECT TDCRDAYS<60
 SORT FIELD=TDCRDATE
 PRINT DATATYPE=CA1DSN,SORTALLOC=YES /*

back to top


  FDRABR pages

Lascon latest major updates

Welcome to Lascon Storage. This site provides hints and tips on how to manage your data, strategic advice and news items.