MVS TOOLS AND TRICKS OF THE TRADE March 1991 Sam Golob MVS Systems Programmer sbgolob@cbttape.org PUBLIC SOFTWARE TAPES REVISITED. It is important to recognize the need for "eyes and ears" in assessing the workings of a computer system. The three major IBM mainframe operating systems, especially MVS, have great complexity far beyond the ability of most persons to grasp. Working systems support professionals are normally put in the position of having to anticipate and diagnose problems from a vantage point of partial understanding. The more one works in this field, the more apparent is the need of having many and varied good tools at one's disposal. Many helpful tools come with hefty price tags. A smaller shop sometimes feels forced to run "partially blind", because it cannot afford some of the expensive "extra" software utilities. Even large shops can't buy tools that will cover every eventuality. MVS in particular, is too complicated to be completely covered, even by many expensive vendor-supplied tools. It seems that whatever you can get is not nearly enough. There is always room for that one tool more. Fortunately, the situation is not bleak. Through the pooling of many people's efforts, and through a unique logistic situation: the practical difficulty of marketing software for large mainframe machines, much valuable effective software is available at a price affordable by any shop. That price is less than one day's pay for a single programmer, plus a smidgen of programmer "elbow grease". Let's explain the logistics first. Suppose an installation has an operational problem for which it needs an immediate solution. If capable systems programmers are in their employ, management will most likely allow time to develop a program or package that solves the problem. Once the package is up and running, company operations will be happy, but the benefit will stop at the end of the company walls. How can that installation derive further benefit from their programmers' efforts? Most companies have their own businesses to run--they can't spend any time and effort selling and supporting their programmers' brain-child. Therefore, they'll gladly donate the package to others, in the hope of benefiting from other people's work similarly done to solve other problems elsewhere. This reality has given rise to an immense pool of effective MVS-based software that is available to all for the picking. Where can these potential treasures be found? There is an increasing number of public tapes that are growing, not only in number, but in the effectiveness of their offerings. WHERE ARE SOME OF THE TAPES? First in the general MVS operating system field is the immense "CBT MVS Tape", run for 15 years by Arnold Casinghino of the Connecticut Bank and Trust Company in Hartford. I am the CBT Tape's temporary proprietor. My brief experience at the helm, being forced to fathom the size of Arnie's work and the awesome contents of this tape, has inspired this month's column. I hope to publicize these tapes' ability to help many shops. The CBT MVS Tape may be ordered through NaSPA at (414) 423-2420, or from the Share Program Library Agency (SPLA) in Miami, Florida, at (305) 284-6257. The "secret of greatness" in the CBT Tape is that it is updated very frequently. The CBT Tape contains many hundreds of software packages and programs. Depending on how it is used, and for which installation, I think that the CBT Tape can be worth as much as a quarter of a million dollars in software that doesn't have to be bought. Next in consideration are the various tapes produced by several SHARE Committees. These tapes are (to my knowledge) all publicly distributable. Most of them are not restricted to SHARE members. Probably the most useful of the "SHARE" tapes is the JES2 tape, distributed by Skip Robinson at (818) 507-3358. The SHARE JES2 tape covers all "post-HASP" JES2 releases, and contains a variety of tools and programming examples that will make any JES2 programmer drool. The JES2 tape currently has at least 131 files containing software packages, and is worth a thorough look. JES3 shops shouldn't feel completely left out. A JES3 tape, produced jointly by SHARE and GUIDE, is distributed by Alan Field, at (314) 839-7040. One of the highlights of the JES3 Tape is the Spool Display Facility, an extremely complete package for browsing and managing the contents of JES3 Spool datasets. Both the JES2 and JES3 tapes abound with exits and coding examples. SPLA also distributes a large variety of other tapes. The SHARE PL/I committee has a PL/I SHARE Tape that is quite useful, which can be ordered from SPLA. The SHARE CICS committee has privately maintained a tape, which is currently being considered for general distribution by SPLA (please inquire from SPLA). The "biggie" from SPLA is their MVS tape, which is the official "SHARE MVS Tape". The SHARE MVS Tape is very different from the CBT Tape. It is much worth exploring on its own. It generally has older material than the CBT Tape has. SPLA also houses a large variety of individual programs on tapes. They publish a general catalog of their inventory. NaSPA (the institution that supports this magazine) maintains its own public-domain tapes, the MVS VIP Tape and the VM/VSE VIP Tape. Ask the NaSPA Office (414) 423-2420 about ordering these. The Los Angeles Users Group, a longtime MVS support group in Southern California, produces its own rather large tape. Inquire from Tom Beuthin (310) 812-4421. All of these tapes are updated more or less frequently with additions and program fixes. The CBT Tape is updated every three weeks or so, as contributions arrive. The NaSPA tapes are updated three times a year. You should not feel that you have all the knowledge a tape can offer, if you don't renew it once in a while. A FEW EXAMPLES. Let's see some example free offerings that cover areas of "system doctor" interest. The "LOOK" TSO command, from File 264 of the CBT Tape, allows a programmer to see almost any area of virtual storage in any address space that is running in the system. LOOK is customizable (through DSECT assemblies) so it can format any control block that you'd like formatted. It'll show you a real control block in actual storage, formatted field by field. LOOK supports indirect addressing and memory of previous screens. You can use LOOK to see unformatted virtual storage as well, and you can trace actual control block chains on a running system. I hope to devote next month's column to a full treatment of LOOK. We've looked at virtual storage. What about looking at disk storage? Greg Price's version of the UCLA fullscreen ZAP TSO command allows you to look at any place on a disk pack, including Track 0 and any IPL text. All you need is to have one dataset on the pack. You simply enter ZAP for a dataset on the pack. (It doesn't have to be cataloged--there's a VOL keyword.) After the dataset name (and optionally its VOLUME), you simply add the keyword, FULLVOL. ZAP fools the Data Extent Block that belongs to the dataset, so that it thinks the whole pack encompasses the extents of the dataset. You get into ZAP at Track 0, Record 1, with a full screen looking at hundreds of bytes. ZAP has 13 help screens at the touch of a "?" command. Once into ZAP in FULLVOL mode, you can get to any track by number, and to any record by number. You can get to the VTOC with the command: VTOCDS4. ZAP has a hex string search and and EBCDIC string search. With the FULLVOL access, you haven't opened any dataset except for the original one, so that you can access any data on disk without the problems of enqueue or any other burdens of "open processing". Obviously, you don't want this program in the wrong hands, but in the hands of a systems surgeon, ZAP is a life-saver many times over. This version of ZAP can still be used for single dataset adjustments as could previous versions. Just leave the FULLVOL keyword out. ZAP is obviously not read-only, so be extra careful. This version of fullscreen ZAP is on File 134 of the CBT Tape. We've looked at virtual storage and disk storage. What about datasets? The all-time favorite non-VSAM dataset package still in the public domain is the "PDS" TSO and ISPF product. "PDS" has a vendor-supported successor (called PDS/E Sysprog Utilities) that's better, but "Public PDS" Version 8.4 is a thing of much beauty. "PDS" has over 1000 separate utility functions in one place. "PDS" is found on the CBT Tape, Files 182, 296, and 112, or on the L.A. Users Group Tape. With PDS Version 8.4, you can effortlessly do things like: expanding or reducing partitioned dataset directory space without reallocation. You have complete control over this. You can also tailor overall dataset space--releasing or adding to it at will. So, both directory space and allocated extent space may be easily managed. On the member level, partitioned dataset members can be adjusted as completely and as conveniently as the dataset itself. For example, load module attributes can be changed, either for single members or for large groups of members at once, without linkedit. If you do need to relinkedit a load module, the MAP command of PDS with the RELINK keyword, will generate full relinkedit JCL for the load module, so you won't make any mistake with linkedit control cards. PDS does many more things than this. It is your handy workbench for all sorts of dataset manipulation. PDS is most usefully run as a dialog under ISPF. You can arrange your ISPF session so that no other ISPF function is lost, and the PDS "ISPMODE" function is gained. As I stated, you can get a vendor-supported extension of PDS, but I believe that the public version provides a solid utility base that's within the reach of all shops. The extension of power that PDS allows the system programmer, should change the standard of capability that is expected from any working programmer. He or she can simply do more thorough work, faster. There are tasks easily done with PDS, that are next to impossible without it. I wrote a course in the detailed use of the PDS product (Technical Support, Jan thru Mar 1988). That course is distributed on File 182 of the CBT Tape together with the product (members are $PDSART-). My course is even delivered with the vendor product, because the commands and methods are still quite applicable there. Large and small collections of utilities abound on the public tapes. A glance at the documentation file of a new CBT Tape will guide you to some extent. I liken these tapes to a large Toy Store. Imagine you can tell your kids that they can take anything home they want--and mean it! Everything is free. So browse and delight in the offerings. Occasionally, you may have to fix one of them, but mostly, you're in "use it and enjoy it" mode. Some notable large collections on the CBT Tape are from Jim Marshall (Files 300 and 316), Kermit Kiser and the Washington State Data Processing Facility (File 270), Lionel Dyck of Rockwell International (Files 431 thru 452), Intel (File 352) and Morton Thiokol (File 353). DON'T NEGLECT THE JES2 TAPE. For JES2 coding examples and packages, I think that the JES2 SHARE Tape is somewhat better than the CBT Tape. Many exit examples and JES2-related products abound on that tape, such as various versions of QUEUE, the spool-browsing tool. More daring souls can explore the more sizable JES2 Mods. Extensive job-dependency and CPU-dependency logic can be added to JES2 JECL coding through the Mellon Mods, created at Mellon Bank for many JES2 release levels. If your shop is not willing to plunge into the world of the Mellon Mods, you can at least look at what they are, and discover how they accomplish their "tricks". The JES2 SHARE Tape is probably the first place to look for JES2 exit coding examples. I have the impression that many JES2- related examples on the JES2 tape are probably more up-to-date than their equivalents (if they even exist) on the CBT Tape. Of course, it's best to look at both tapes, but for JES2 matters, the specialty resource is probably preferred. CONCLUSION. For now, it's time to go. But I feel the time has arrived to "legitimize" in the minds of many managers the reliability and quality of much available public software. Offerings on the public tapes are improving quality-wise. They are arriving in greater variety and with a more mature utility value. One finds more multi-utility software packages that have been thoroughly debugged, as opposed to a hastily thrown together handy dandy one-shot deal. Since these packages are being tested by more and more users, change-sensitive code is being tolerated less and less. The public wants the good stuff. One might say that the public tapes are coming of age. Happy exploring. See you next month.