FDREPORT VTOC Examples


This section shows examples that read the VTOCs of selected volumes directly (DATATYPE=VTOC, which is the default). All examples in this section are found in the JCL library installed with FDR. The member names are EX5440x.

A sample of the generated report is shown after each example; because of space limitations, it may be condensed. In examples where sorting is required, SORTALLOC=YES has been specified to dynamically allocate required SORT files; in your installation you may have to provide SORT JCL.

Report on prefix example

Report on all data sets starting with the hi-level index “ABC” on any online volume. The default report (see  FDREPORT-REPORT-Statement) is printed. No sorting is done; a separate page is generated for data sets selected from each DASD volume. Messages about volumes for which no data sets are selected are suppressed. The report is printed on SYSPRINT.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='USR DATA SETS ON VOLUME <VOL>'
  XSELECT  XDSN=USR.**
  PRINT    ENABLE=ONLINE,DISABLE=INFOMSG
/*

The generated report looks like:

_________________________________________________________________________________________
USR DATA SETS ON VOLUME BM1800
                                   D/S
DATA SET NAME               VOLSER ORG RECFM BKSIZ LRECL    ALLOC     FREE %FR
-------------               ------ --- ----- ----- ----- -------- -------- ---
USR.FDRAPPL.ACF             BM1800 DA  F     27872              5        0   0
USR.FDRAPPL.ACF3            BM1800 DA  F     27872              5        0   0
USR.VBM23C4.B118228A        BM1800 PS  U     32760             76        0   0
_________________________________________________________________________________________
_________________________________________________________________________________________
USR DATA SETS ON VOLUME BM23C3
                                   D/S
DATA SET NAME               VOLSER ORG RECFM BKSIZ LRECL    ALLOC     FREE %FR
-------------               ------ --- ----- ----- ----- -------- -------- ---
USR.TMP.OUTPUT              BM23C3 **  FB      800    80       15       15 100
_________________________________________________________________________________________
_________________________________________________________________________________________
USR DATA SETS ON VOLUME SYTMP4
                                   D/S
DATA SET NAME               VOLSER ORG RECFM BKSIZ LRECL    ALLOC     FREE %FR
-------------               ------ --- ----- ----- ----- -------- -------- ---
USR.ISP01560.SPFLOG3.LIST   SYTMP4 PS  VBA    1254   125        3        3 100
_________________________________________________________________________________________
_________________________________________________________________________________________
USR DATA SETS ON VOLUME IDPLB1
D/S
DATA SET NAME               VOLSER ORG RECFM BKSIZ LRECL    ALLOC     FREE %FR
-------------               ------ --- ----- ----- ----- -------- -------- ---
USR.SRS.SELECT              IDPLB1 PO  FB    27904   256       15       14  93

_
_________________________________________________________________________________________

Report by data set name mask example

Report on all data sets residing on online volumes starting with “TSO” whose last qualifier is “LIST” or “OUTLIST” and that have not been referenced in two or more days. Only the data set name, volume, and date of last use is printed. The generated report is printed on ABRMAP. A standard summary is printed for each volume processed. The summary report is printed on ABRSUM.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//ABRSUM   DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='TSO LIST AND OUTLIST DATA SETS ON VOLUME <VOL>'
  XSELECT  XDSN=(**.LIST,**.OUTLIST),VOLG=TSO,LRDAYS>1
  REPORT   FIELDS=(DSN,VOL,LRDATE)
  PRINT    SUM=YES
/*

The generated report looks like:

_________________________________________________________________________________________
TSO LIST AND OUTLIST DATA SETS ON VOLUME TSO001
DATA SET NAME                                VOLSER   LRDATE
-------------                                ------ --------
USR1.ISP03837.SPFLOG1.LIST                   TSO001 2019.148
USR2.ISP00438.SPFLOG6.LIST                   TSO001 2019.148
USR3.ISP03805.SPFLOG2.LIST                   TSO001 2019.148
USR1.ISP02639.SPFLOG9.LIST                   TSO001 2019.148
USR1.ISP00516.SPFLOG1.LIST                   TSO001 2019.148
USR4.ISP02647.SPFLOG1.LIST                   TSO001 2019.148
_________________________________________________________________________________________
_________________________________________________________________________________________
TSO LIST AND OUTLIST DATA SETS ON VOLUME TSO002
DATA SET NAME                                VOLSER   LRDATE
-------------                                ------ --------
USR5.ISP00532.SPFLOG5.LIST                   TSO002 2019.148
USR6.ISP00590.SPFLOG2.LIST                   TSO002 2019.148
USR2.ISP00633.SPFLOG0.LIST                   TSO002 2019.148
_________________________________________________________________________________________
_________________________________________________________________________________________
TSO LIST AND OUTLIST DATA SETS ON VOLUME TSO004
DATA SET NAME                                VOLSER   LRDATE
-------------                                ------ --------
USR2.ISP00437.SPFLOG0.LIST                   TSO004 2019.148
USR2.ISP00632.SPFLOG0.LIST                   TSO004 2019.148
USR1.ISP00708.SPFLOG1.LIST                   TSO004 2019.148
USR2.ISP00433.SPFLOG1.LIST                   TSO004 2019.148
USR2.ISP00439.SPFLOG7.LIST                   TSO004 2019.148
USR2.ISP00441.SPFLOG0.LIST                   TSO004 2019.148
USR1.ISP02692.SPFLOG9.LIST                   TSO004 2019.148
_________________________________________________________________________________________

The summary looks like:

______________________________________________________________________________________________________________
TSO LIST AND OUTLIST DATA SETS ON VOLUME TSO001
    SUBTOTAL -- VOL-------TSO001
      DSN---------------------6 NOEXTENT----------------6 SIZE-------------------14 SIZEFREE---------------13
                                SIZEUSED----------------1
______________________________________________________________________________________________________________
______________________________________________________________________________________________________________
TSO LIST AND OUTLIST DATA SETS ON VOLUME TSO002
    SUBTOTAL -- VOL-------TSO002
      DSN---------------------3 NOEXTENT----------------3 SIZE--------------------9 SIZEFREE----------------9
                                SIZEUSED----------------0
______________________________________________________________________________________________________________
______________________________________________________________________________________________________________
TSO LIST AND OUTLIST DATA SETS ON VOLUME TSO004
    SUBTOTAL -- VOL-------TSO004
      DSN---------------------7 NOEXTENT----------------7 SIZE-------------------39 SIZEFREE---------------37
                                SIZEUSED----------------2
FINAL TOTALS --
      DSN--------------------16 NOEXTENT---------------16 SIZE-------------------62 SIZEFREE---------------59
                                SIZEUSED----------------3
______________________________________________________________________________________________________________

VSAM report example

Report on selected ICF VSAM clusters on all online volumes whose serial number starts with “CICS”. A variety of VSAM fields are reported (many others are available). ENABLE=AUTOSTACK allows FDREPORT to stack fields with like attributes in order to fit the fields within the page width of 80 characters. All selected clusters are combined into one report, sorted on cluster name and component name within cluster.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSIN    DD *
  XSELECT  DSG=(SMPE),DSORG=EF,VOL=CICS*
  REPORT   FIELDS=(CLUSTER,DSN,VOL,RECORDS,
           INSERTS,DELETES,EXCPS,%CI,%CA,
           BUFSIZE,CISIZE,CICA)
  SORT     FIELDS=(CLUSTER,DSN)
  PRINT    ENABLE=AUTOSTACK,SORTALLOC=YES,PAGEWIDTH=80
/*

The generated report looks like:

                                                                           RECORDS
                                                                           INSERTS
CLUSTER NAME                                                               DELETES %CI
DATA SET NAME                                                    VOLSER      EXCPS %CA BUFSI CISIZ
-------------                                                    ------ ---------- --- ------ -----
SMPE.CICSTS55.CSI                                                CICS55     261553  10  10752  4096
SMPE.CICSTS55.CSI.DATA                                                      492732   5
                                                                            233558
                                                                            195606
SMPE.CICSTS55.CSI                                                CICS55         24   0  2560
SMPE.CICSTS55.CSI.INDEX                                                         17   0
                                                                                17
                                                                             12463

Report on ABR backups example

Report on the current ABR backup for all data sets with the index of “PAYROLL”. The page width is expanded to 132 characters. Associated DSCB information is also requested. All online volumes beginning with certain prefixes are searched. The report is sorted by DSN. The summary shows all ABR backup volumes required to restore all of the payroll data sets, which might be useful as a tape pick list. The backup date is printed with a 2-digit year.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//ABRSUM   DD SYSOUT=*
//SYSIN    DD *
  REPORT   FIELDS=(SPLDSN,VOL,LRDATE,DSORG,RECFM,
                   BLKSIZE,LRECL,SIZE,SIZEUSED,BKINFO)
  XSELECT  DSG=PAYROLL,VOL=(PAY*,PROD*)
  SUMMARY  FIELDS=(BKVOL)
  PRINT    PAGEWIDTH=132, SORT=COMBINE,SORTALLOCATE=YES,
           DATEFORMAT=YYDDD
/*

The generated report looks like:

                                             D/S                                                BKUP
DATA SET NAME             VOLSER LRDATE ORG RECFM BKSIZ  LRECL    ALLOC     USED BKDATE BKSUFFIX FILE TAPE VOLUME(S)
-------------             ------ ------ --- ----- -----  ----- -------- -------- ------ -------- ---- ---------------
PAYROLL.FINAL.DATABASE    PAY001 19.284 EF  U     18432    200       30       30 19.123 C1025700   21 PRD125,PRD127
PAYROLL.JOURNAL1          PROD05 19.146 PS  VB     32760 32756      135        6 19.148 C1072217  717 PRD041
PAYROLL.STAGE1.LIST       PAY008 19.032 PO  FBA    27930   133       74       47 19.123 C1020000   12 PRD125

The summary looks like:

FINAL TOTALS --
  VALUE SUMMARY OF BKVOL     --- TOTAL NUMBER OF VALUES-------6
    BKVOL-----PAY001 (         179)  PAY005 (       29)  PAY008 (        702)  PROD05 ( 832) PROD06 (            1)
              PROD07 (         627)

Execute predefined report example

Execute a report that has been set up in advance. The name of this report is “VTOCREP1”, which is a member in the data set “USER.REPORT”. This member contains a TITLE, REPORT, and PRINT statements. The FDREPORT step includes an XSELECT statement to identify the data sets to be reported; in this example, all data sets starting with “USER” and a numeric digit are selected.

Predefined reports are useful for end-users who have little knowledge of FDREPORT. Report formats and controls can be predefined by others and executed by end-users. The FDRLIB members can also contain XSELECT statements so that they can be entirely self-contained.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//FDRLIB   DD DSN=USER.REPORT,DISP=SHR
//SYSIN    DD *
  XSELECT  DSN=USER+.**
  EXECUTE  REPORT=VTOCREP1
/*

If member “VTOCREP1” in data set “USER.REPORT” contains:

TITLE  LINE='VTOC REPORT 1'
REPORT FIELDS=(SPLDSN,VOL,SIZEINFO)
PRINT  DATATYPE=CATVTOC

then those data sets are selected from the catalog, VTOC information extracted, and the report looks like:

VTOC REPORT 1
DATA SET NAME                 VOLSER    ALLOC     FREE %FR
-------------                 ------ -------- -------- ---
USER1.ISPF4.PROFILE           IDPLB0       10        2  20
USER1.JCL.CNTL                IDPLB3      135       65  48
USER2.ISPF4.PROFILE           IDPLB0       22        6  27
USER2.ISP01560.SPFLOG3.LIST   SYTMP4        3        3 100
USER3.ISPF4.PROFILE           IDPLB0       11        0   0
USER3.IXFP.TABLES             IDPLB3        2        1  50
USER3.LOGON.PROFILE           IDPLB6        2        1  50
USER3.SRS.SELECT              IDPLB1       15       14  93
USER3.XMIT.LOG                IDPLB0        1        0   0

Report on poorly blocked data sets example

Report on all data sets that are using less than 70% of the maximum track capacity for the device on which they reside. Generally, these are data sets with small blocksizes, or blocksizes over a half-track (which wastes the rest of the track). The tests on blocksize and size (in tracks) are to eliminate data sets for which no meaningful capacity calculation can be done.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='POORLY BLOCKED DATA SETS ON VOLUME <VOL>'
  XSELECT  %CAPUSED.LT.70,SIZE.GT.0,BLKSIZE.GT.0
  REPORT   FIELDS=(SPLDSN,VOL,DCBINFO,DEVTYPE,
                  BLKSTRK,BYTESTRK,TRACKCAP,%CAPUSED)
  SUMMARY  FIELDS=(DSN,BLKSIZE)
  PRINT    ENABLE=ONLINE,DISABLE=INFOMSG,SORT=YES
/*

The generated report looks like:

POORLY BLOCKED DATA SETS ON VOLUME SYSDB2
                                   D/S                          BLKS
DATA SET NAME               VOLSER ORG RECFM BKSIZ LRECL DEVTYPE TRK  BYTTK TRCAP %CP
-------------               ------ --- ----- ----- ----- ------- ---- ----- ----- ---
ABC.ADTWLOAD                SYSDB2 PO  U     32760 3390-2           1 32760 56664  58
    SUBTOTAL -- VOL-------SYSDB2
      DSN---------------------1
      VALUE SUMMARY OF BLKSIZE SUBTOTAL NUMBER OF VALUES-------1
        BLKSIZE---32760 (        1)

POORLY BLOCKED DATA SETS ON VOLUME SYTS48
                                   D/S                          BLKS
DATA SET NAME               VOLSER ORG RECFM BKSIZ LRECL DEVTYPE TRK  BYTTK TRCAP %CP
-------------               ------ --- ----- ----- ----- ------- ---- ----- ----- ---
TSTREO.XAIX101.PE.DATA      SYTS48 EF  U       512    80 3390-27   48 24576 56664  44
UPLOAD.DMP00318.TIVIT       SYTS48 PS  FBS   29120  4160 3390-27    1 29120 56664  52
UPLOAD.D130519.TIVIT        SYTS48 PS  FBS   29120  4160 3390-27    1 29120 56664  52
    SUBTOTAL -- VOL-------SYTS48
      DSN---------------------3
      VALUE SUMMARY OF BLKSIZE  SUBTOTAL NUMBER OF VALUES-------2
        BLKSIZE--- 512 (          1)  29120 (         2)

The final total for all volumes in the form:

FINAL TOTALS --
  DSN-------------------172
  VALUE SUMMARY OF BLKSIZE --- TOTAL NUMBER OF VALUES------11
    BLKSIZE---  512 (        56)    800 (        14)   1023 (            6)
               1024 (         1)   1210 (        19)   1320 (            1)
               1330 (        24)  24800 (         4)  27872 (            1)
              29120 (         4)  32760 (        42)

Select by filter example

Select any online data set that contains a 3-character first-level qualifier that starts with the letter “T” and contains the character string “YM” anywhere within any qualifier other than the first. Only data sets between 100 and 200 tracks in size are included. The report is sorted by data set name within volume, and is in standard ABR VTOC format (see FDRABRP-VTOC-Report).

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  XSELECT  XDSN=T//.**YM**,SIZE.GE.100,SIZE.LE.200
  PRINT    ENABLE=ONLINE,RPTYPE=ABRVTOC,SORT=YES,SORTALLOC=YES
/*

The generated report looks like:

ABR FORMAT VTOC LIST OF VOLUME SERIAL NUMBER IDPLB2 - DEVICE TYPE 3390-9
                 VOLUME  ABR ABR VOL               D/S                           TRACKS               EXTENT DESCRIPTORS
DATA SET NAME    SERIAL  GEN CYC SEQ   LRDATE ABRIN ORG RECFM BKSIZ LRECL    ALLOC     FREE EXT   CCCCCCC-HH  CCCCCCC-HH
-------------    ------ ---- --- --- -------- ----- --- ----- ----- ----- -------- -------- ---- ----------- -----------
TST.SYMMAC.ASM   IDPLB2 0282  18 001 2019.101       PO  FB    23440    80      160      153   1  00004632-04 00004642-13
TU1.ONLYM.ZEBRA  IDPLB2 0282  16 001 2019.150 U     PS  FB     3120    80      130       30   1  00000366-04 00000408-03
TVT.SPEED.YMLIST IDPLB2 0282  18 001 2019.150       PO  FB     3120    80      120        1   1  00004742-12 00004744-01

Report on IAM files example

Select all online IAM data sets and print statistics about them.

IAM is a product from BMC that provides a high-performance data-compressed transparent alternative for many VSAM clusters. Contact BMC Support for more information.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='IAM STATISTICS'
  XSELECT  DSORG=IAM
  REPORT   FIELDS=(DSN,VOL,SIZE,IAMUSE)
  PRINT    ENABLE=ONLINE,ENABLE=IAM,PAGEWIDTH=130
/*

The generated report looks like:

IAM STATISTICS
DATA SET NAME               VOLSER    ALLOC    RECORDS    UPDATES    INSERTS    DELETES  OVERFLOW    OVERUSED %OF
-------------               ------ -------- ---------- ---------- ---------- ---------- ---------- ---------- ---
POLICY.MASTER               UP180E  3646710  681637083     131793    2589344    1609795    2590180    2590180   1
SYSP.USTPRODA.$USTINFO      UP180E   764715  104747259      93098    9106035    8593871    4519950    4519950  12

Report on special IAM files example

Select all enhanced or extended-format IAM data sets and all IAM Alternate Indexes (AIXs) on production volumes and print information about them.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='ENHANCED/EXTENDED IAM DATA SETS'
  XSELECT  DSORG=IAM,IAMINDIC=ENHANCED Select IAM Enhanced
  XSELECT  DSORG=IAM,SMSFLAGS=STRIPE Select IAM Extended-Format
  XSELECT  DSORG=IAM,AIXATTR=AIX Select IAM Alternate Indexes
  REPORT   FIELDS=(DSN,VOL,SIZE,HIALORBA,HIUSERBA)
  PRINT    ENABLE=(ONLINE,IAM)
/*

Identify full partitioned data sets example

Locate all partitioned (PO) and partitioned extended (POE) data sets on TSO volumes and report those that have less than five percent free space in the data set or the directory.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='ALMOST FULL TSO PDS DATA SETS'
  XSELECT  DSORG=(PO,POE),VOL=TSO*,%FREE<5
  XSELECT  DSORG=(PO,POE),VOL=TSO*,%DIRFREE<5
  REPORT   FIELDS=(SPLDSN,VOL,SIZEINFO,DIRBINFO)
  PRINT
/*

The generated report looks like:

ALMOST FULL TSO PDS DATA SETS
DATA SET NAME               VOLSER    ALLOC     FREE %FR DIRBK DIRFB %DF
-------------               ------ -------- -------- --- ----- ----- ---
USER1.JCL.CNTL              TSO004      840       17   2  1000   744  74
USER1.ISPF.PROF             TSO004      255       12   4   200   125  62

Report on all offline DASD example

Report on data sets in the VTOC of all offline DASD. The FASTPATH and OFFLINE options must be enabled. UCBSTATS=OFFLINE reports on only offline DASD (otherwise both offline and online DASD are included).

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='OFFLINE DASD'
  XSELECT  UCBSTATS=OFFLINE
  REPORT   FIELDS=(SPLDSN,VOL,UNIT,DEVTYPE,SIZEINFO)
  PRINT    ENABLE=(OFFLINE,FASTPATH)
/*

The generated report looks like:

OFFLINE DASD
DATA SET NAME           VOLSER UADR DEVTYPE    ALLOC     FREE %FR
-------------           ------ ---- ------- -------- -------- ---
****VTOC                VMLNXD 18BD 3390-9         1        0   0
LINUX.V0X0100.PART0001. VMLNXD 18BD 3390-9 150253 150253 100
  NATIVE

Report on selected offline DASD example

Report on data sets in the VTOC of offline DASD in a range of device addresses. The FASTPATH and SELECTOFFLIN options must be enabled.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='OFFLINE DASD'
  XSELECT  UNIT.GE.04F0,UNIT.LE.054F,UCBSTATS=OFFLINE
  XSELECT  UNIT.GE.17C0,UNIT.LE.17CF,UCBSTATS=OFFLINE
  REPORT   FIELDS=(SPLDSN,VOL,UNIT,DEVTYPE,SIZEINFO)
  PRINT    ENABLE=(SELECTOFFLIN,FASTPATH)
/*

The generated report looks like:

OFFLINE DASD
DATA SET NAME          VOLSER UADR DEVTYPE    ALLOC     FREE %FR
-------------          ------ ---- ------- -------- -------- ---
****VTOC               VM04FA 04FA 3390-9        14        0   0
SYS1.VTOCIX.VM04FA     VM04FA 04FA 3390-9         3        0   0

Report same data two ways example

Report on data sets on a set of DASD volumes, once for all data sets sorted by name within volume, and once for only ICF VSAM sorted by cluster name for all volumes together, reporting different fields in each report. To reduce overhead by reading the VTOCs only once, RPTYPE=DATA is used to generate a file of FDREPORT internal records on SYSUT2, then that data is read twice to produce the two reports.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSUT2   DD UNIT=SYSALLDA,SPACE=(CYL,(20,5),RLSE)
//SYSIN    DD *
  DEFAULT  SORTALLOC=YES
*  SELECT ALL DATA WITHOUT REPORT
  XSELECT  VOL=PROD*
  PRINT    RPTYPE=DATA
*  GENERATE REPORT 1
  TITLE    LINE='LISTING OF PRODUCTION VOLUME <VOL>'
  REPORT   FIELDS=(DSN,DSORG,DATES,SIZE,EXTENTS)
  PRINT    DATATYPE=EXTRACT,SORT=YES
*  GENERATE REPORT 2
  CANCEL   SELECT
  TITLE    LINE='LISTING OF PRODUCTION VSAM'
  XSELECT  DSORG=EF
  REPORT   FIELDS=(CLUSTER,DSN,VOL,DATES,SIZEINFO)
  SORT     FIELDS=(CLUSTER)
  PRINT    DATATYPE=EXTRACT
/*

Report poorly organized VSAM clusters example

Report on all ICF VSAM clusters over three Megabytes in size with more than five CA splits or more than 20 CI splits, and all clusters with over 16 extents, since all these might be candidates for reorganization. Clusters with the highest CA splits are listed first.

Warning

Important

FDRREORG, a separately priced component, may be used to automate the reorganization of such clusters as well as IAM files and PDSs. See Working-with-FDRREORG for more information.

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  DEFAULT  SORTALLOC=YES,BYTEFORMAT=MEGABYTES
  TITLE    LINE='VSAM CLUSTERS IN NEED OF REORG'
  XSELECT  DSORG=EF,BYTES>3M,CASPLIT>5
  XSELECT  DSORG=EF,BYTES>3M,CISPLIT>20
  XSELECT  DSORG=EF,NOEXTENT>16
  SORT     FIELDS=(CASPLIT,CISPLIT),SEQUENCE=(D,D)
  REPORT   FIELDS=(SPLCLS,VOL,PRIALLOC,BYTES,
                   BYTESUSE,CASPLIT,CISPLIT,NOEXTENT)
  PRINT    ENABLE=ONLINE
/*

The generated report looks like:

VSAM CLUSTERS IN NEED OF REORG
CLUSTER NAME                VOLSER PRIALLOC       BYTES  BYTESUSED  CA SPLIT CI SPLIT EXT
------------                ------ -------- ----------- ----------- -------- -------- ---
MASTER.FILE                 UP180D     8432  15045.489M  15026.319M     3954       28   1
PERM.HISTORY                SYTS38      250 213811.200K 206438.400K      202    98992   1

Report data sets likely to get Sx37 example

Identify data sets likely to get Sx37 (out of space) abends or the equivalent VSAM error. All data sets with less than 10% free space are reported if they have no secondary allocation, or if they have 13 or more extents (50 or more for VSAM).

//REPORT   EXEC PGM=FDREPORT,REGION=0M
//SYSPRINT DD SYSOUT=*
//ABRMAP   DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//SYSIN    DD *
  TITLE    LINE='DATA SETS THAT MAY RUN OUT OF SPACE'
  XSELECT  SECALLOC.EQ.0,%FREE.LT.10
  XSELECT  DSORG.NE.EF,NOEXTENT.GE.13,%FREE.LT.10
  XSELECT  DSORG.EQ.EF,NOEXTENT.GE.50,%FREE.LT.10
  REPORT   FIELDS=(DSN,DSORG,VOL,SECALLOC,%FREE,NOEXTENT,SIZE)
  PRINT    ENABLE=ONLINE
 /*

The generated report looks like:

DATA SETS THAT MAY RUN OUT OF SPACE
                            D/S
DATA SET NAME              ORG VOLSER SECALLOC %FR EXT    ALLOC
-------------              --- ------ -------- --- --- --------
MASTER.FILE                EF  PROD12       10   7  72      780
PROD.CNTL.CARDS            PO  SYS123        0   3   1       20

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*

BMC AMI Storage FDR 6.2