MVS TOOLS AND TRICKS OF THE TRADE October 1996 Sam Golob MVS Systems Programmer sbgolob@cbttape.org Sam Golob is a Senior Systems Programmer GETTING STARTED WITH PUBLIC MVS SOFTWARE I have a lasting debt of gratitude to Arnold Casinghino, and to all the other people who have contributed to the world of free MVS software. These folks have greatly boosted thousands of people's careers by making handy tools and extensive software knowledge available to them. In more indirect ways, they have helped all the users, and just about everyone else in MVS Systems Programming. Indirectly, public programs distributed on the public software tapes have indicated new directions for IBM software developers to follow. Many "new" features of the MVS operating system have actually resulted from public software modifications and enhancements to MVS, which users later demanded from IBM. People using the "public improvements" to the system would pressure IBM through SHARE and GUIDE to include these features into MVS itself. This month, I'd like to encourage more MVS systems programmers to be helped directly rather than indirectly, by making their own use of the many tools and learning aids which are available through free MVS software. Notwithstanding great pressure from the outside, IBM "has its own mind", and they often will not incorporate features gathered from public sources. For example, IBM still does not plan to incorporate a "dynamic exit loader" into JES2, to my knowledge. Having such a tool is a great help to anyone who writes JES2 user exits. You don't have to recycle JES2 every time you want to change or modify one of the exits. So, notwithstanding the improvements that IBM has incorporated, the fact remains that the world of "MVS plus public software" still looks a lot different than the world of "MVS without public software". You, and your installation, have much to gain if you explore the world of public software for yourselves. My own career boost started many years ago, when my MVS teacher Jeff Broido flabbergasted me with a "super demonstration" of free tools that he had installed. Today, I hope we can open these doors wider for many more of you, including those of you who are already enjoying some of the great benefits of this beautiful world. THE CBT MVS UTILITIES TAPE Where do you get started? A logical place is the CBT MVS Utilities Tape, a huge public collection of MVS software and materials which is independently produced, and which can be ordered through NaSPA. Additionally, Version 404 of the CBT Tape has been included in the third NaSPA CD-Rom. I have always compared this tape to a huge toy store. Any "kid" can take any toy off the shelf. The toy can be kept and used, for no cost, provided that you make the effort to put it together. And that's all there is to it. Arnold Casinghino established the CBT (then called Connecticut Bank and Trust) Tape back in 1975, when MVS was young. At that time, still in the MVT days, there were many "user forums" for public discussion of software improvements. However Arnie, with enormous dedication, received contributions and took this tape through three hundred and twenty-one versions over fifteen years, until changes at his installation forced him to hand the reins over to someone else. The impact of Arnie's efforts has been felt worldwide, and the MVS operating system itself has been enormously improved through countless suggestions that were born in the public forum that is this wonderful tape. The present time is a "different era" from when the CBT Tape was started. However, even now, in an atmosphere which is being pervaded by the extensive "vendorization and OCO-ization of MVS software", a stultifying influence to the individual's creativity, the CBT Tape stands as a bastion and a pillar to preserve and disseminate MVS system knowledge. As of this writing, the CBT Tape is at approximately Version 408. Once you obtain a copy of this tape, you are literally in a "Toy Department Store". It will be the function of the rest of this article to show you how to browse through the store, and to pick out all the toys that you want. WHAT KIND OF TOYS YOU CAN HAVE Almost anyone who writes an improvement to the system, a tool to look at or manipulate a system component, or anything that helps in doing the daily system work, can contribute to the CBT Tape. And they have done so. I will list some categories of items--by no means a complete list, and you will have a better idea of what can be found. For example, you can find: ISPF enhancements and edit macros, useful CLISTs and REXX execs, system exit examples, tape tools (tape copying programs and tape mapping programs), RACF utilities (see File 106 for an example), SMP tools (pre- and post-processors), core browsers, disk browsers, disassemblers, system status reporting tools, automated operations drivers, powerful dataset and load module manipulation utilities, JES2 spool browsers (JES3 tools can be found on the JES3 Share-Guide Tape from Alan Field 612-828-4979), and old language compilers which still work on today's systems. There are huge collections of TSO commands and batch utilities. There is also a unique software ARCHIVER, which can store both your software source and executable code on one disk or tape file. There are utilities to manage SYS1.BRODCAST on a user level, and much more. This list of goodies only scratches the surface. There is a special file on the CBT Tape, File 071, which contains documentation files for many other tapes too, so you can figure out which other public tapes you'd like to order. If you yourself have done some useful work, you too can contribute. File 001 (the documentation) of the CBT Tape contains the address of the tape's editor, and contributions are always welcome. HOW DO YOU START EXPLORING THE CBT TAPE. File 001 of the CBT Tape now is over 30000 lines long. Although Arnie Casinghino no longer edits the tape, his influence in helping its users still pervades the documentation. There are many "sections" in the documentation. You should look at the ones which are most relevant to you. The beginning of File 001 now has a section called "What to do with this tape first", which is specifically for new users of the tape. This is a listing of some tape files which have wide application and usefulness to the public. If you are new to the tape, and you're just exploring, you should begin here. Sometimes, you want to find coding examples of a particular system exit, or you want to find the current source for a particular program whose name you know. There is a tape mapping program on File 299 of the CBT Tape (load module is on File 035) which will show every PDS member name for every file on the tape. If you run this program, and copy the output to a disk dataset, you can look at the output and scan for any particular member name you want to find. You can also copy the documentation file (File 001) to disk, and search it too, in the same way. The CBT Tape is updated frequently, and you will profit considerably by obtaining a new one every so often. One of the sections in the documentation is called the "Change Section". Here, changes to each new version of the tape are documented in detail. You can check the version number of your new tape, and you can follow all the changes made since the previous tape you already had. For example, suppose your new tape is Version 408 and your previous tape was Version 397. In the Change Section, all revisions and additions to files that have been made, are summarized version by version, and you can check if there is something new you'd like to see. Change entries for all versions from 398 to 408 can be read. This amounts to about 280 lines of reading material. The File Status Section of the documentation follows soon after the Change Section. In the File Status Section, a one-line summary for each of the 472 files on the CBT Tape is given. Each line contains a short title describing the file's contents, the number of records in the file (number of tape blocks for load libraries), the date the file was last revised (this is accurate), the tape footage occupied by that tape file (as though it were on a 6250 bpi reel), and the file format (compressed, uncompressed, or IEBCOPY). Most of the source files are in a compressed IEBUPDTE-type format, but the program which sequentializes the source PDS members before compression is not actually IEBUPDTE, but LISTPDS (from File 316). The LISTPDS program preserves ISPF statistics for the individual members. These are lost if IBM's IEBUPDTE program is used to stow the members upon reloading from the tape. However, the program PDSLOAD (from File 093, load module on File 035), will restore these ISPF statistics. File 003 (JCL to load CBT Tape files to disk) can be customized to either use IEBUPDTE or PDSLOAD. IEBUPDTE is the default, but it is recommended that users install and use PDSLOAD, to keep the ISPF statistics for the file members. Any tape file which contains ISPF statistics in this format, is marked in the File Status Section with an "S" next to the record count. The general layout of the CBT Tape is as follows: Files 001 thru 005 are in fixed blocked 80-byte uncompressed format with blocksize of 32720. My practice is to copy these to PDS members with IEBGENER. File 001 is detailed documentation. File 002 is assembler source for the Compression-Decompression program called CBT973 which is used to decompress most of the tape files. File 003 is model JCL to load the individual tape files to disk. File 004 will probably not be used. It is JCL if the tape had to be broken into two, in a special format that nobody uses now. File 005 is new. This is from George Shedlock and is a VM REXX exec to load the CBT Tape files onto a VM system. It seems that VM'ers also can use quite a bit of the material from the CBT Tape. The rest of the files are the data files, described in the "Documentation Section" which details the contents of all these tape files individually. SUGGESTIONS Approaching the CBT Tape all depends on what you want to do. If you have a specific thing you're looking for, you might try searching the documentation for name strings, or searching the TAPEMAP of the tape as I mentioned before. If you're new, look at the beginning of the tape documentation, and savor slowly what you are reading. If you are getting a new tape after having used an older one, go to the Change Section to see files which have changed since your last version, and go to the File Section to look at the latest dates, for accurate information about which files were changed recently. I have an allocated PDS to which I copy the new documentation and the sample JCL for unloading files. I personally make a copy of this JCL and edit it to conform to my installation standards. I also customize it for loading a few selected files at a time. The supplied JCL is designed for loading all the files from the tape onto disk-- several hundred files in several more hundred execution steps. There are too many EXEC cards generated in the JCL for the system to handle, so the total JCL deck has been broken into five jobs. Various files are in different formats, so there are different PROCs, one each for every file format on the tape. All of these procs are repeated five times in the supplied JCL stream. When customizing, you need only make one job with one copy of these PROCs. When loading a particular file to disk, you then need only copy the appropriate PROC execution step from the sample JCL to your customized JCL. For example, UPDATEO is one of the more frequently used PROCs. After customizing your JCL, if you want to load only FIle 316 to disk, you need only copy the one line of JCL from the supplied deck, namely: //STEP316 EXEC UPDATEO,LAB=316 and this will correctly load the file that you want. (Editor, the // must be at the beginning of a column.) Another suggestion: You know how some people read mail order catalogs for fun. Print a full copy of the CBT Documentation File and put it into a binder. If you're fortunate enough to have a printer which will rotate the print 90 degrees so it looks like a book, that's even better. Now you have a "CBT Tape" toy store catalog all your own, and you can study it even more than the people who read the Sears Catalog, or any other catalog they like. This is the best way to explore the real world of wonderful free MVS software, and to gather tons of information about various system components. I have done so, and I can talk from experience. You can do the same. Finally, that's not the end of CBT Tape "madness for personal gain". There is now a "CBT Overflow Tape" in the same format as the regular CBT Tape, which contains a lot of older code from various sources that were not easily accessible. The CBT Overflow Tape can be ordered from the NaSPA office also, although it too is independently produced. At this point, when we're about to end, I must be apologetic for not mentioning many "real hints and specific tips for problems" this month. However, if you obtain the CBT Tape materials (tape or CD-Rom) and do some exploring, you'll come across more hints and tips than you know what to do with. And it is highly possible that some old utility which your company has been using for years, can be upgraded to a modern and enhanced version. At least, you can find source code for it. Public tape exploration in general, and CBT Tape exploration in particular, is a profitable business. Try it. You'll like it. See you next month.