Mainframe programmers are problem-solvers. In in the present day’s giant, complicated information facilities, we’re typically confronted with ad-hoc questions from administration – questions that echo the outdated Nationwide Enquirer slogan, “Inquiring Minds Need to Know.” And administration often desires solutions proper now:
- What does this dataset appear like?
- What are its traits?
- How a lot house does it occupy?
- When was it created and final referenced?
For a single dataset, this form of info can often 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 receive detailed information for every dataset, probably hold 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 perform permits the programmer to simply receive all kinds of details about a z/OS dataset.
LISTDSI returns information in effectively over 30 variables that may inform us every little thing from the dataset’s group and report 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 perform and should run in a TSO tackle house. That is often not an issue, nevertheless, because it’s attainable to run TSO in batch just by specifying PGM=IKJEFT01.
The best format of LISTDSI is just a REXX perform 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 would like info.
The variable ‘x’, the perform code, is important as a result of LISTDSI have to be known as as a REXX perform. A zero perform 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’ – reminiscent of 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.
Non-compulsory Parameters That Return Even Extra Element
By default, LISTDSI merely obtains details about the dataset from the catalog and the quantity VTOC. Nevertheless, 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.
An important 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.
Recognized Limitations to Be Conscious Of
There are, sadly, nonetheless just a few limitations to LISTDSI processing.
No info is returned for tape or Unix Programs Providers information, and era dataset names have to be totally specified (no relative GDGs). For VSAM datasets, solely a restricted subset of knowledge is returned (SYSVOLUME, SYSUNIT, and SYSDSORG).
It’s attainable these drawbacks will probably be eliminated in a future z/OS launch. Even with these limitations, nevertheless, LISTDSI is a very easy technique to get detailed details about z/OS datasets.
That info is returned in easy-to-use REXX variables, and gives a fast manner for the programmer – dealing with 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 reveals a easy REXX exec that shows a few of the extra fascinating 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 technique to extract crucial dataset particulars utilizing acquainted REXX constructs – making it simpler to reply questions, spot points, and hold storage info flowing when it issues most.
To go even additional and achieve deeper visibility, automation, and management throughout your storage setting, be taught extra about how Syncsort
Storage Administration helps simplify and optimize z/OS storage operations.
The publish How you can Use the REXX LISTDSI Perform to Get z/OS Dataset Data Shortly and Simply appeared first on Exactly.

