Mainframe programmers are problem-solvers. In right this moment’s massive, advanced knowledge 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 needs solutions proper now:
- What does this dataset seem like?
- What are its traits?
- How a lot house does it occupy?
- When was it created and final referenced?
For a single dataset, this type 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 get hold of detailed knowledge for every dataset, presumably maintain observe of working totals, and supply a report.
Why REXX and LISTDSI Are a Pure Match
The REXX programming language is right for fixing these types of issues, and the REXX LISTDSI operate permits the programmer to simply get hold of all types of details about a z/OS dataset.
LISTDSI returns knowledge in properly over 30 variables that may inform us every part 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 listing of dataset names, LISTDSI variables like SYSALLOC and SYSUSED could be collected to maintain a working whole 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.
Working LISTDSI in TSO or Batch
LISTDSI is a TSO/E exterior operate and should run in a TSO deal with house. That is often not an issue, nonetheless, because it’s doable to run TSO in batch just by specifying PGM=IKJEFT01.
The only format of LISTDSI is solely a REXX operate specifying the dataset identify, for instance:
x = LISTDSI(the-dataset)
the place ‘the-dataset’ is a variable containing the only dataset identify for which we would like 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 knowledge 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’ – resembling 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.
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 amount 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 a couple of limitations to LISTDSI processing.
No info is returned for tape or Unix Techniques Providers information, and era dataset names have to be absolutely specified (no relative GDGs). For VSAM datasets, solely a restricted subset of data is returned (SYSVOLUME, SYSUNIT, and SYSDSORG).
It’s doable these drawbacks might be eliminated in a future z/OS launch. Even with these limitations, nonetheless, LISTDSI is an awfully easy approach 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 knowledge – to offer what’s wanted, when it’s wanted, to fulfill these inquiring managerial minds.
Instance: Displaying Key LISTDSI Variables
The determine under exhibits a easy REXX exec that shows a number 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 approach to extract crucial 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 acquire 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.



