MVS TOOLS AND TRICKS OF THE TRADE JANUARY 2000 Sam Golob MVS Systems Programmer P.O. Box 906 Tallman, New York 10982 Sam Golob is a Senior Systems Programmer. He also participates in library tours and book signings with his wife, author Courtney Taylor. Sam can be contacted at sbgolob@cbttape.org. Information about the CBT MVS Tapes can be found on the web, at http://www.cbttape.org. RECENT CBT TAPE NEWS. I very well remember my first days and months as an MVS systems programmer--how I had to struggle with load module concepts, current system settings, browsing very large sequential PTF files, recovering deleted pds members, and similar problems. These are standard situations that all of us encounter at our work. I also remember my early struggles to learn to code in assembler language. My first sysprog job, at a very big shop, was made easier because the shop had bought a large number of optional vendor products for systems programmers. But my second job, at a much smaller shop, was full of handicaps because I didn't have any of those vendor tools any more. So struggle I did, until a great event happened. My teacher, Jeff Broido, gave me my first CBT MVS Tape. In my opinion, all MVS system programmers, veteran or new, ought to know as much as possible about what the CBT Tape is. In short, it's a HUGE collection of free system programmer software tools and other items that are useful in our trade. A few of these tools are so unique, they can't be bought. No software vendor makes anything like them. Others of these tools have their vendor equivalents. But if you have access to the CBT Tape, the price is right, and the choice is very big. Nowadays, the CBT Tape materials are online, at www.cbttape.org , so that possession of a physical tape is no longer essential, to have access to this amazing collection of tools. The collection, consisting of the CBT MVS Utilities Tape and the CBT Overflow Tape, is getting updated constantly with both new contributions, and updates of old programs. Its latest revision level, Version 422, has the largest number of changes, for one tape update, in the entire history of the CBT Tape since its inception in 1975. There are 54 file changes overall, for V422. This month, I'll try to tell you about some of them. But equally as important, I'd like to mention some new techniques which will make it easier to use the tape materials. See Figure 1 for a complete list of new and changed files for CBT Tape Version 422. DOCUMENTATION ENHANCEMENTS AND OTHER GENERAL CHANGES. Full documentation of the CBT Tape, as always, is on File 001 of the CBT Tape. However, File 001 now contains over 36000 lines, and I've made it a lot easier to handle and maintain. File 001 can now be converted into a partitioned dataset, with (as of V422) 934 convenient chunk-sized separate members. Consider the File 001 documentation handling tools that are now on File 006. One of them is an assembler program called CBTUPD that I wrote, which introduces many IEBUPDTE-format ./ ADD NAME= cards, in the "right places" of the doc file, File 001, and with "the right member names". When you run IEBUPDTE (or PDSLOAD from CBT File 093) against this updated copy of File 001, you load a partitioned dataset with these 934 members, that are named in such a way that the collating sequence is maintained, and the entire sequential doc dataset can be put together again in the right order. As the tape's proprietor, when I maintain the tape's documentation, I do it as a pds, and I update the documentation for each member separately. You, as a user of the tape, can run the CBTUPD program, and create the exact same documentation pds, which I have in my own possession. Maintaining the CBT Tape documentation file in this way, has some important advantages. One of them is clarity and accuracy in the description of the contents of each file. It works as follows: If you download some of the CBT Tape's files nowadays, especially the newer ones, you'll often find a member in them, with a name of the form @FILEnnn. For example, on File 365, you'll find a member named @FILE365. This member (actually produced by the CBTUPD program), is the exact detailed file documentation for File 365, that's on File 001, in the "Documentation Section". Thus, the actual documentation that comes in a CBT Tape file, can be repeated over exactly, in File 001 itself. This system makes it easy for me, as the proprietor, to synchronize the File 001 documentation to the actual contents of a tape file. It makes it easier for the file's users too, because the file's documentation is more accurate and up-to-date. The contributor of each file can also benefit from this new documentation system. Instead of inventing his (or her) own documentation system for a file, the contributor can use this standard one. The contributor just has to download the version of the file which is already on the tape, and update the @FILEnnn member himself (or herself). The contributor will thus make sure, personally, that his description of the material in the file is accurate and complete. Of course, File 001, as it's shipped with the tape, looks the same as it always did, only it's bigger. This gets us to our second topic. The CBT Tape collections, online as they may be, are still based on being physical tapes. I, as proprietor, create physical tapes, and send them to the webmaster, Sam Knutson. Sam K, for his part, uploads all the tape files to the web site, so that the web site contains exactly the same materials that the physical tape did. In the past, when most people got their CBT Tape materials from actual tapes, the question of tape capacity was a very large issue. It still is an issue now, but it's a smaller one. Simply put, I wouldn't put more information on a CBT Tape release, than would fit on a single tape volume. In years past, Arnold Casinghino (the founder of the CBT Tape in 1975 and its dedicated proprietor until 1990) sent out CBT Tapes on 2400 foot reels, at 6250 bpi. The tapes grew and grew, from release to release. There's actually a section of the documentation on File 001, called the "Version Section", which shows the capacity and footages for past versions of the CBT Tape, as measured with a program we have, called SS0104. After a while, at Version 249 of the CBT Tape (July 1985), Arnie measured that the tape was filling up (the materials occupied over 2000 feet of tape at 6250 bpi), and he started deleting stuff from it. Version 249 itself was archived by Arnie, as the last version before the deletions started, and you can find Version 249 now, on the CBT Tape web site. CBT Tape Version 249 contains source for a wealth of very old user-maintained programs, and is a valuable archive. When I took over the reins of maintaining the CBT Tape in 1990, I didn't want to do wholesale deletions any more. I let the tape fill up to about 2300 feet, and then I converted to 3480 (uncompressed) cartridge distributions and 3600 foot tape reels. This allowed me to let the tape grow in size to 3158 feet (Version 404) before something else had to be done. 3100 feet (as though it were on 6250 bpi tape) is approximately the upper limit of uncompressed 3480 cartridge capacity. At that point, at Version 405, I started a second tape, called the CBT Overflow Tape, which was planned to contain deletions from the regular CBT Tape. However, the first 370-foot deletion didn't really warrant making a whole second tape, so I started using the CBT Overflow tape as a "home" for other free MVS-related materials, which had not had a convenient distribution point before. So it came about, that the European G.U.I.D.E. tapes, from the UK, Germany, Switzerland, and Australia, were placed on the CBT Overflow Tape. So was the "ISPF Smoke and Mirrors Tape", an aborted effort from the SHARE ISPF committee to make their own tape. When the SHARE MVS committee itself, decided not to maintain it's tape, I got permission from them to transplant all of those files to the CBT Overflow Tape, and to maintain them from there. Later, OS/360 materials from IBM, which are public domain, became available to us, and I decided to put some of them too, on the CBT Overflow Tape. As we write, I'm preparing the PL/1 SHARE Tape materials for inclusion on (Version 423V of) the CBT Overflow Tape. In short, both tapes, as uncompressed 3480 cartridges, have now been filled up with materials. To adjust to that, I've decided to go to 3480 IDRC, which has over twice the capacity of an uncompressed 3480 cartridge, rather than to start a third uncompressed 3480 tape (which would have been called CBT Overflow 2, or CO2 for short). For those shops that need physical tapes, and can't read 3480 IDRC, we can make a special accommodation, and split these longer tapes into two. If you're in such a situation, please email Sam Knutson at dragon@his.com . So the CBT Tapes are continuing to grow. I'll now conclude this month's column with a few highlights from the new V422 tape updates. SOME USEFUL NEW FILES ON CBT422. Files 050 and 051 are new and different files, which are helping users of the CBT Tapes to adjust to the Internet era. These are files which contain only URL's of sites on the Internet. File 050 has some sites from which you can obtain free downloads. File 051 has URL's of a few vendor sites which may be of interest. The reason why I started File 050 was because of some useful free MVS products like TASID from Doug Nadel. TASID is a multi-purpose multi-utility and monitor program that runs under ISPF. As useful as TASID is, I can't put it on the CBT Tape. That's because Doug Nadel is an ISPF developer who works for IBM, and all the free stuff he's written on IBM equipment, still belongs to IBM and is subject to whatever ownership and restrictions they have. So I made a file with a bunch of URL's, and you can use those URL's to go and download TASID and the other useful programs for yourselves. Some other useful things were not free, but were vendor products. So I split them off, and made File 051 just for them. Some other notable new files on CBT Tape V422 are as follows: File 391 from Robert Ngan, which is TRACE390, is a program to trace the execution of other programs. File 382 is a large collection of utilities from Paul Gillis. File 368 is similarly a big collection of utilities from James Williams of Atlanta. KSDSPACE, on File 394, is a very useful program from Jan Jakubek of Toronto. FINDSTR on File 396 from Scott Hawley, is a REXX exec that invokes ISRSUPC to find all occurrences of a string in a dataset, directly as a line command from ISPF 3.4. Rob Scott, the author of MXI, an ISPF-based monitor program, has included MXI and many of his other programs, on Files 409 thru 412. Ashley Street has contributed many programs from his FADH ("Flogging a Dead Horse") collection. Ashley's stuff is on File 413. Thierry Falissard's large collection is on File 432. Steve Bacher's utilities are on File 431. Mark Zelden's collection is on File 434. And Frank Clarke's REXX execs are on Files 433 (VB-255) and 435 (FB-80, converted by David North). If I left some other good new files out, it was completely unintentional. There are a lot of them. Sam Knutson deserves a big "thank you" for all his work in getting the CBT Tape web site together. You can email Sam K at dragon@his.com , to tell it to him personally. I sincerely hope that you'll get very much benefit from the new files on the CBT Tape, as well as from the other files that are there. I can personally tell you that this collection is half my own career. (If you're a regular reader of this column, you already know that!) In any case, I wish you all a Happy 2000, and I'm looking forward to seeing you again next month. * * * * * * * * * * * * * * * * * * * * * * * Figure 1. List of files on the CBT MVS Tape that were changed for Version 422. Some of the files are completely new, and others have had slight or moderate changes made to them. All in all, the changes have been very substantial, and together, they constitute the largest single positive increment between two consecutive tape versions, in the entire history of the regular CBT Tape. FILE NO. DESCRIPTION OF THE OVERALL CONTENTS OF THE FILE ------- ----------------------------------------------- File 006: Collection of Utilities to manipulate File 001 doc File 035: LOAD MODULE file - Quick install of useful programs File 039: CITIBANK - SMF 14-15 pgm, and IPOUPDTE modification File 050:* Internet URLs for Free Downloads File 051:* Internet URLs for some Relevant Vendor Sites File 094: DAF from Mike Cleary - Dataset Audit Facility File 102: TAPESCAN program - Frank Pajerski version File 120: Sam Golob's "MVS Tools & Tricks" articles File 129: Shared DASD Checkpoint mod - XA and OS/390 File 134: Greg Price Utility collection - REVIEW, etc. File 135: Greg Price Load Module library File 147: ARCHIVER All your non-VSAM datasets to 1 VSAM file File 155:* Dave North's REXX execs - go VB-255 to FB-80 etc. File 161: Jim Marshall - ISPF interfaces to utilities File 171: DITTO, TAPEMAP, SMFUTIL, TPX, FX, SUTL (no BLP req) File 172: David Cartwright's collection of Utilities File 182: PDS Command Package - Version 8.5 File 183: Gilbert Saint-flour's collection - SHOWMVS etc etc File 244: UK GUIDE Tape Supplement - 1993A File 247: Broadcast Manager Utilities to manage SYS1.BRODCAST File 268: REXX function package to access VSAM files File 291: CPU Instruction Speed monitor File 299: TAPEMAP program - Reads tape files in many formats File 300: Jim Marshall's enormous collection of TSO programs File 312: FTPBATCH, XMITIP - others from Lionel Dyck File 321: COBOL Analyzer from Roland Schiradin & post prcessor File 322: TSO SLEEP programs (like the VM ones) File 343: A VTOCLIST program - Peter Havercan & John Kalinich File 348: Programs to list a PDS directory in order File 352: INTEL large collection of utilities File 361: Frank Johnston Utilities - CXYPSCAN, ZZRELINK File 362: Frank Johnston Utilities - Load Library File 368: Utility collection from James Williams File 372:* DYNALLOC Program from Ken MacKenzie File 382: Paul Gillis utilities collection File 391:* TRACE390 Instruction Trace Program from Robert Ngan File 393:* RACFGRPS exec from Robert Lamerand File 394:* KSDSPACE program from Jan Jakubek File 395:* CATIND exec to do bulk cataloging for a new system File 396:* FINDSTR exec to invoke ISRSUPC automatically in 3.4 File 397:* PACK and UNPK execs to do numeric conversions File 398:* Generate system macro invocations more simply File 404: TSSO for OS/390 File 409:* Rob Scott's MXI monitor package - FB-80 members File 410:* Rob Scott's MXI monitor package - load modules File 411:* Rob Scott's utilities - source code and FB-80 File 412:* Rob Scott's utilities - load modules File 413:* Ashley Street's FADH Utility collection File 414:* Convert printouts from machine control to ANSI File 431:* Steve Bacher's utilities, packages, and offerings File 432:* Thierry Falissard's selected programs and stuff File 433:* Frank Clarke's collection of REXX execs, etc. File 434:* Mark Zelden collection of Utilities and execs File 435:* Frank Clarke's stuff FB-80-ized by Dave North (F155) An asterisk (*) next to the file number, denotes a completely new file for CBT Tape Version 422.