MVS TOOLS AND TRICKS OF THE TRADE OCTOBER 2002 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. DEVELOPMENTS IN FREE MVS SOFTWARE Everyone knows that it's a big chore to keep up with developments in MVS, and in the related fields. Most of the time, you usually have enough trouble following all the changes which are directly related to your own everyday work. But since I'm the proprietor of the CBT Tape materials, and I get to see and process all the new contributions that come into that collection, I feel obligated from time to time, to inform the general MVS public about many of the new useful tools which people have created and donated for public use. Some of them might be helpful to you. I sense that if I don't talk about them here, some of you good folks might never get to properly profit from using these fine tools. So this month, I'm going to write about a potpourri of different things which have arrived in the CBT MVS Tape collection recently. From May 1, 2002 until September 9, 2002 alone, there have been 117 files on the CBT Tape that have either changed or which have been added. Many people don't realize that there's so much good material to be had. You can also obtain the stuff very easily, and it's free. The CBT MVS collection is available on the Internet, with a link to its URL on www.naspa.com. HOT DEVELOPMENTS Whenever one has to talk about new developments, a decision has to be made about "what's hottest". I'll start by mentioning improvements to some tools that I know many of you use. The free PDS package (CBT File 182) at the 8.5.22 level, has a new gimmick so that you can now deal with members of a PDSE. Previously, the free PDS command didn't have any PDSE support at all. Now, it finally has some. The problem for the PDS command is that it does a lot of its member I/O using EXCP, and IBM doesn't officially support an EXCP interface to PDSE members. So John Kalinich, who currently supports the free PDS package, wrote a REXX exec (called "PDSE") that does BLDLs (supported by IBM for PDSEs of course) to gather member information for the PDSE members, and to feed the information into a member subgroup of the current dataset that the PDS package is pointing to (if it is a PDSE or a PDS). This is done with the PDS package temporarily switched to "line mode" (or XISPMODE) operation. Then, when the REXX exec is done, you switch the PDS command back to ISPMODE operation, and behold, you can get a bona-fide (partial or complete) member list for your PDSE dataset. Just follow the enclosed directions, to do it properly. You can perform all operations on the PDSE members in that list, which don't require doing EXCP I/O. Some of the operations to PDSE members which you can now do (after running the REXX and obtaining the member list) are: ALIAS, DELETE, DIRENTRY, EDIT, BROWSE, COPY, COMPARE, REVIEW, RENAME, and VIEW. These operations can now be run as line commands from the PDSE member list. Remember that the PDS package has to be at least at the 8.5.22 level, distribution date (in the $$$#DATE member) of at least 09/04/02, for this to work. Next, I'll talk about SHOWMVS 7.05, which is its newest level as of the time of this writing. SHOWMVS is a TSO command that displays an enormous amount of system information, which is buried in the real storage control blocks of your MVS system. The SHOWMVS display is (in the usual mode of operation) ISPF BROWSEd to your terminal, using the ISPF BRIF service, but every time you press ENTER, a subtask is triggered, that updates the ISPF display in real time. (This is something that many people don't know about SHOWMVS.) The comments at the beginning of the SHOWMVS source code (on CBT File 492) tell you the details, and a lot of related information. SHOWMVS can now output its information to a TCPIP destination. Instructions for doing that, are also at the beginning of the SHOWMVS source code. There are actually six different output display modes for SHOWMVS output, and they are all described in the SHOWMVS source code comments. I'm sure that if you look these over, you'll find a lot of the information enlightening and useful. SHOWMVS is not on CBT File 183 anymore, but it now resides on CBT File 492, because Gilbert Saint-flour (SHOWMVS' original author) is now not its main support programmer. That job has now been taken over by Roland Schiradin, and others. MXI is another ISPF-based program which shows a wealth of real-time MVS system information, and its author, Rob Scott, has now upgraded it to Version 4.1, also sporting a TCPIP interface. MXI can be found on CBT Files 409 and 410, and Rob Scott's other utilities, notably his VTOCUTIL program, can be found on Files 411 and/or 412. Even though I'm not spending much time here talking about MXI, it is really just as useful as SHOWMVS, and since the two programs are very different in look, feel, and some content, they complement each other. Both programs are extremely useful (for us "system doctors"). I'll include one more item in this "hot" category, mainly because a lot of people don't know that it exists, and also because there was a lot of discussion about the topic on the IBM-Main forum about a year ago. There used to be a program called MCNVTCAT, which was distributed by IBM with CBIPO and CBPDO orders. That program would read a LISTCAT of your master catalog (or a usercatalog), and it generated IDCAMS DEFINE statements so you could re-create all the non-VSAM catalog entries in a newly-defined (master or user) catalog for a new MVS system. Using the MCNVTCAT program would eliminate the need for catalog conversion (via EXPORT-IMPORT or REPRO) when you were building your new MVS system, so it was very useful, because it kept your new catalogs "clean". You could control their content very carefully and specifically. Nowadays, the MCNVTCAT program is "officially unavailable" from IBM. There's a reason for that, which makes perfect sense if you know IBM. Since the MCNVTCAT program is copyrighted by IBM, we could not put it on the CBT Tape, and because of various other reasons, IBM groups would not post the program on any of their web sites. So you can't get MCNVTCAT today, unless you'd saved it for yourself, during one of your previous MVS installations. We now have an improved substitute for MCNVTCAT available, and it is in the form of a REXX exec called RCNVTCAT, which was written by Alastair Gray. RCNVTCAT (together with many of Alastair's other nice utilities) can be found on CBT File 542, and it has received good recommendations from its users. We don't need the actual MCNVTCAT program anymore, and we can say our "thank-yous" to IBM, for originally having creating it, giving us the idea, what to do. Before leaving the "hot" area, I have to mention Lionel Dyck's enormous collection of utility packages, which is now so big, that I had to spread it over two files (312 and 313) on the CBT MVS collection. While I'm not going to specifically enumerate all the wonderful tools that Lionel has brought to us, I have to mention that one of them, XMITIP (which allows you to send email directly from an MVS system), has already spawned its own news group (xmitip@yahoogroups.com). OTHER NEWLY-AVAILABLE UTILITIES All MVS utility programs are useful when you need them. Therefore I can't say that the following tools are "less useful" than the ones I've mentioned above. However, they are probably less well known, and therefore less widely used. But by mentioning them here, we may remedy that situation. Several fine utilities are from Rob Prins. Two of them, RPF, and RPF/E (CBT Files 415 and 417 respectively) are file editors, plus other utilities. And both of them have both Panvalet and Librarian interfaces. RPF was written for the pre-XA world, while RPF/E was written to run above the 16M line, and therefore RPF/E can edit much larger files. Both of these editors have a look and feel that is very similar to ISPF, and once you've gotten used to them, it's just a slight "shifting of gears" between them, and ISPF EDIT. Rob Prins has contributed another tool as well. It is called TSTVS, and it is a console-based line editor, to be used for fixing PARMLIB and PROCLIB members when the system can't come completely up. I've personally used TSTVS, and I like it very much. TSTVS is found on File 068 of the CBT collection. Several contributors have either recently sent, or recently added to, REXX functions and REXX function collections. Robin Ryerse (CBT File 520) has recently added to his already nice collection of REXX functions. Sergey Makogonov (File 588) has contributed a REXX function which adds operator control functionality. These are in addition to some of the existing REXX function packages on the CBT Tape, by Gerard Nicol (Files 323 and 324), Steve Bacher (File 431), and Jan Jaeger (File 437). And we mustn't forget to mention Mark Winges' REXX VSAM-handling functions (File 268) which have recently been upgraded. The "how to do this job" file, File 570, is slowly growing also. Recently Dave Kulas has made a contribution, telling you how to set up your own "user SYS1.PARMLIB" on an MVS system (member UPARMLIB). The author of the CBT Tape's original disassembler (on File 217), Dick Thornton, recently wrote a modern, 21st Century version of his old disassembler (on File 234), and has contributed a very large collection of much of his life's work (Files 558 thru 565) for the public good. Mark Zelden (File 434) has a truly marvelous collection of largely REXX-based tools, and he updates it frequently. One of them, called IPLINFO, is like a "short SHOWMVS", but instead of being assembler-based, it is REXX-based, and it is a tribute to the flexibility and great capability of the REXX language under MVS-TSO. ISPF assistance is provided by Tom Conley's DYNISPF package (File 495), for independently starting ISPF applications and freeing their resources when they have ended. And recently a beautiful ISPF application starter called SS has been contributed by Robin Murray (File 586). Fellow "TS" columnist Jim Moore, has contributed his PROFSET and EDPROF edit macros (File 583) for setting up your ISPF session edit parameters. These edit macros are the basis for his "Technical Support" articles on the subject of ISPF EDIT profiles. Roy Gardiner (File 578) has contributed a tool to make it easy to write programs that do ISPF table handling. These are just some of the "recently updated" things. The CBT collection actually contains a lot more ISPF helper tools. While I'm on the subject of ISPF, there were recent contributions of ISPF "frontend" interfaces, one by Mick Sheehy (File 576) to make it easy to copy datasets, and one by Solomon Santos (File 555) to make it easy to run the TSO XMIT command. Besides this ISPFXMI package from Solomon Santos, File 555 contains a nice collection of his other tools as well. HERCULES-BASED TOOLS I don't have time to mention OS/VS2 (MVS 3.8) retro-computing tools here, and I've covered the topic fairly well in a previous column (July 2002). But some of the more recent CBT contributions inspired by MVS retro-computing are worthy of mention. On File 035 (source on File 296), I've restored aliases of the BLKDISK TSO command, that makes it easy to calculate disk space capacity, so you can perform disk calculation for older DASD devices. For example, besides being able to calculate space for the more recent devices, using BLK3380, BLK3390, and BLK9345 aliases of BLKDISK, you can now (courtesy of retro-computing needs) calculate space for 2305-1, 2305-2, 2314, 3330, 3330-1, 3350, and 3375 devices. If you don't really need this for your own requirements (on OS/390 for example) you can at least try some of your space calculations on, say, 2314's, and you can appreciate the recent improvements in disk technology much more. And Hercules tape and disk compression technology, (which in my opinion, is more advanced than some modern tape and disk technology), has inspired the HETUTL program (from Leland Lucius) to create (on any MVS system) compressed tapes usable by Hercules. And DASD-wise, an MVS-based version of the CCKD (Compressed-CKD) creation program from Greg Smith, can be found on File 541. Using the MVS-based CCKD program, you can create a compressed copy of any of your mainframe DASD disks, that you can FTP to a PC and use as "real DASD" under Hercules. So in summary, you see that there has been a lot going on, in the "public sector" of modern MVS computing. And I hope this stimulates you to go to the CBT web site and investigate these new developments in more detail. I wish you all the best of everything, and I hope to see you here again, next month.