Mainframe programmers are problem-solvers. In at present’s massive, complicated information facilities, we’re usually confronted with ad-hoc questions from administration – questions that echo the outdated Nationwide Enquirer slogan, “Inquiring Minds Wish to Know.” And administration normally desires solutions proper now:
- What does this dataset appear to be?
- What are its traits?
- How a lot house does it occupy?
- When was it created and final referenced?
For a single dataset, this kind of info can normally be obtained with a look at an ISPF panel or two. For an inventory of datasets, although, it’s not so easy. We have to acquire detailed information for every dataset, probably maintain observe of operating totals, and supply a report.
Why REXX and LISTDSI Are a Pure Match
The REXX programming language is good for fixing these kinds of issues, and the REXX LISTDSI operate permits the programmer to simply acquire all kinds of details about a z/OS dataset.
LISTDSI returns information in properly over 30 variables that may inform us the whole lot from the dataset’s group and document size to its encryption key label, variety of listing blocks, and SMS class names.
When utilized in a loop to learn an enter record of dataset names, LISTDSI variables like SYSALLOC and SYSUSED may be collected to maintain a operating complete of disk house. Different variables, like SYSEXPIRE and SYSUPDATED, can be utilized to establish potential issues – for instance, disk datasets which have expired or have been modified however not backed up.
Operating LISTDSI in TSO or Batch
LISTDSI is a TSO/E exterior operate and should run in a TSO handle house. That is normally not an issue, nevertheless, because it’s doable to run TSO in batch just by specifying PGM=IKJEFT01.
The best format of LISTDSI is just a REXX operate specifying the dataset identify, for instance:
x = LISTDSI(the-dataset)
the place ‘the-dataset’ is a variable containing the one dataset identify for which we wish info.
The variable ‘x’, the operate code, is important as a result of LISTDSI have to be referred to as as a REXX operate. A zero operate code signifies success, 4 signifies partial success (some however not all information returned), and 16 signifies a failure.
The precise dataset info is positioned in quite a few predefined REXX variables, all of which start with the characters ‘SYS’ – similar to SYSVOLUME, SYSDSORG, SYSRECFM, and so forth. The contents of those variables can then be written out utilizing REXX ‘SAY’ statements or used for different processing within the exec.
ProductSyncsort
Storage Administration
Take management of IBM Z storage with automated, dependable, and cost-optimized administration.
Optionally available Parameters That Return Even Extra Element
By default, LISTDSI merely obtains details about the dataset from the catalog and the amount VTOC. Nonetheless, a number of further parameters can comply with the dataset identify within the LISTDSI name to return additional info, together with listing block counts and SMS class names.
A very powerful of those parameters are:
- RECALL/NORECALL, which controls whether or not DFSMShsm is allowed to recall datasets from archive throughout LISTDSI processing
- SMSINFO/NOSMSINFO, which returns the category names for SMS-managed datasets.
Identified Limitations to Be Conscious Of
There are, sadly, nonetheless a couple of limitations to LISTDSI processing.
No info is returned for tape or Unix Methods Providers information, and era dataset names have to be absolutely specified (no relative GDGs). For VSAM datasets, solely a restricted subset of knowledge is returned (SYSVOLUME, SYSUNIT, and SYSDSORG).
It’s doable these drawbacks will likely be eliminated in a future z/OS launch. Even with these limitations, nevertheless, LISTDSI is an awfully easy strategy to get detailed details about z/OS datasets.
That info is returned in easy-to-use REXX variables, and supplies a fast approach for the programmer – going through a sudden demand for information – to offer what’s wanted, when it’s wanted, to fulfill these inquiring managerial minds.
Instance: Displaying Key LISTDSI Variables
The determine beneath exhibits a easy REXX exec that shows among the extra attention-grabbing LISTDSI variables for a specified dataset identify, together with the date and time the dataset was created:
Turning LISTDSI Output into Operational Perception
LISTDSI offers mainframe groups a quick, versatile strategy to extract vital dataset particulars utilizing acquainted REXX constructs – making it simpler to reply questions, spot points, and maintain storage info flowing when it issues most.
To go even additional and achieve deeper visibility, automation, and management throughout your storage atmosphere, be taught extra about how Syncsort
Storage Administration helps simplify and optimize z/OS storage operations.
The publish Use the REXX LISTDSI Operate to Get z/OS Dataset Data Shortly and Simply appeared first on Exactly.

