MVS TOOLS AND TRICKS OF THE TRADE SEPTEMBER 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. RECOVERY TOOLS Today I'd like to update some information on a favorite Sysprog subject: How do you fix your MVS system when it won't come completely up at IPL time? Upon MVS initialization, what can go wrong? I'll give some common examples. Sometimes a PARMLIB member is bad, so the system coughs when trying to read it, and it won't come up past a certain point. Sometimes a PROCLIB member, which is needed for the system to come up, is bad or missing. Sometimes, it's JES parms, or some other initialization parameters. Often, the error lies in such an essential component, that TSO will not be initialized. Sometimes, you can get far enough to bring up TSO, but then you can't initialize ISPF. Whenever such a situation happens, you would not want to have to back off all your changes, bring up the old system to do the fix, and then have to bring up the new system all over again. Wouldn't it be nicer to fix all the changes on the current (crippled) system, and then bring it up the rest of the way? Or at least, it would take less time to fix the crippled system, bring it down (since it is only partially up), and then bring it back up, completely corrected. When the IPL time window is limited, you can be a real hero if you have tools to fix the problems, directly from the new system, in less time. So I'm going to show you how, with a little forethought, you can put some good recovery tools (which are free) into your system. Then, if a situation occurs during a partial IPL, you might quickly be able to correct the situation, directly on the system you're trying to bring up. HOW EARLY CAN YOU RUN A TSO COMMAND? For recovery purposes, the usefulness of any tool depends on how much of the system it needs, in order to function. For example, normally a TSO command needs the fact that TSO has come up. However, if the particular TSO command is a line-mode command, meaning that it does not issue FULLSCREEN TPUTs, then there is a way to run it, at a far earlier stage in the IPL process. TSO does not have to be up at all. This applies to TSO commands such as RENAME, PDS85 (the free PDS Utility package), LISTD, LISTC, and many others. But this needs prior preparation. There is a free software package called TSSO, which runs as a subsystem, and which can be started under SUB=MSTR. The TSSO package sets up a console-based TSO-like environment, capable of running TSO commands. But the commands are entered on the system console, and their results are reported back on the console, too. Thus, we have a line-mode TSO-like environment, that can run TSO commands without TSO. The advantage of running TSSO, is that you can START TSSO,SUB=MSTR almost as soon as the console itself comes up. Then, you can do dataset renames, catalog lists, and (when running PDS85 under TSSO) you can even do string searches and substitutions in datasets and pds members, and you can run IEBCOPY. All this can be done right near the beginning of the IPL, as soon as you have a console. So you can fix that bad PARMLIB member, or copy a good member from another library. If you are very skilled in using the PDS85 package's subcommands, you can do many more things, with only a console available, that you never thought you could, such as creating ALIASes to pds members. How can you get TSSO? There are two different versions of TSSO on the CBT Tape collection of free MVS software. The original TSSO version, from Bill Godfrey, is on File 306, and the modified souped-up free Bellcore version (which includes an auto-ops piece too) is on File 404. The CBT collection is available (for free) on the web. www.naspa.com has a link to the CBT web site, and the site also has its own URL. If you need to run an authorized TSO command under TSSO, you should know that the TSSO started procedure looks very much like a TSO logon proc, except that you EXEC PGM=TSSO, instead of executing program IKJEFT01. So the TSO command authorization procedure that uses the IKJTABLS module in an authorized STEPLIB (see CBT Tape Files 185 and 186 for details) should apply to TSSO as well as to TSO. You might have to experiment a bit to get this to work, but once you have set up TSSO the way you want it, there's a lot less to worry about, in an IPL recovery situation. We have a late-breaking bulletin. Rob Prins, the author of the RPF editor we shall mention shortly, has donated his TSTVS console-based line editor to the CBT Tape collection. TSTVS can be run under SUB=MSTR and can be found on File 068 of the CBT Tape. Try it--you'll like it! TOOLS FOR TSO WITHOUT ISPF Once TSO can come up, you have a much larger selection of recovery tools available, because you now have the advantage of being able to do FULLSCREEN TPUTs, and you can execute the TSO commands normally, not being limited to looking at a line at a time. The problem for many of us, under this situation, is that we have become accustomed to accomplishing most of our tasks, using the tools in ISPF, and many of us haven't become sufficiently accustomed to accomplishing the same things using native TSO commands. Fortunately, the situation has been made easier with the availability of some good tools that run under "raw TSO" without needing the presence of ISPF. Three of these tools are RPF ("Rob's Programming Facility", which has a full screen editor that feels a lot like the ISPF editor), REVIEW, and Fullscreen ZAP. RPF was originally written in the mid 1980s by Rob Prins, who used it for himself and for the programmers at his installation in the Netherlands. With the emergence of the Hercules emulator, and people running the vintage-1975 MVS 3.8 under it, RPF became the editor of choice for that environment. Rob has allowed the Hercules people to use RPF, but it runs under OS/390 too, and Rob has donated RPF to the CBT Tape collection, in File 415. RPF requires a small amount of setup. RPF's profile file, which keeps all of your operational defaults, is a VSAM file that should be pre-prepared and already available, when you plan on using RPF. But the truth is that RPF will do quite a few of its functions, without the profile file being there. You just need a bigger REGION size. RPF not only contains a good fullscreen editor--it has quite a few utility functions, such as the ability to list VTOCs, grab members from Librarian or Panvalet libraries, and do other neat things to datasets and pds members. These other RPF functions are worth exploring and setting up, so that you get them to work properly. RPF is one example of an older MVS tool which has emerged from the "software closet" because of the Hercules effort. Since most people who run Hercules, run MVS 3.8, and MVS 3.8 does not have ISPF, it comes out that the very sophisticated RPF product, which Rob Prins is now constantly improving, has come to the fore as quite an adequate ISPF substitute (if you can't have real ISPF). But remember, when "real ISPF" won't come up (under OS/390 or z/OS), you can also use RPF--it's the same situation. So for OS/390 recovery purposes, RPF is a tremendous new gift. You should install RPF for yourself, and learn how to use it, before you have an emergency and really need it. REVIEW AND FULLSCREEN ZAP I have written about Greg Price's souped up REVIEW command, which is basically an extremely capable Fullscreen Browser that works under native TSO, but which could use ISPF if it is available. (See the February 2002 installment of this column.) It is not commonly known that REVIEW, besides being a browser (you can look at bad PARMLIB members with it), also allows you to copy pieces of files and/or pds members, to another dataset. REVIEW can also look at VSAM files and other MVS objects that are hard to examine directly, without ISPF or MVS DITTO being available. Using REVIEW's NEWTOP operand with a TTR, you can even examine pieces of files that would have had I/O errors, if you had tried to look at the whole file. The NEWTOP operand starts REVIEW at a given TTR within the dataset--not necessarily from the beginning. This technique can also be used to look at deleted members in a pds, if you know the TTR that they start at. And you can rescue them, using REVIEW's copy facility. REVIEW can be obtained in File 134 of the CBT collection, and the load modules for it, can be found on File 135. It has been some time since I've devoted a column to discussing the amazing Fullscreen ZAP TSO command. The last time I wrote about it in detail, was in March and April 1992. Fullscreen ZAP, originally written by systems programmers at UCLA, and souped up by Greg Price, gives you the ability to examine the block structure, and change any byte, inside a dataset. And with the FULLVOL operand of Fullscreen ZAP from Greg Price, which has to be run authorized, Fullscreen ZAP will allow you to search for strings and change any byte on an entire DASD pack, whether that information was in a deleted dataset, or an active dataset. You may not need Fullscreen ZAP in normal IPL recovery situations, where the problem is usually some bad PARMLIB or PROCLIB member that has to be edited or renamed. But you should remember that Fullscreen ZAP is one of those TSO commands that does not need ISPF to operate, and therefore it is a candidate for use in IPL recovery situations, when TSO is up, and ISPF is not. You can read what I've written about Fullscreen ZAP in my old columns, by getting File 120 from the CBT Tape collection, which contains most of my old "Technical Support" columns. ANOTHER RECOVERY TOOL There is one other free IPL recovery tool worthy of mention, which admittedly is old, but it does the trick sometimes. This is the ETPS (Emergency TeleProcessing System) package by Brian Cook, that is in File 353 of the CBT Tape collection. ETPS functions by grabbing one 3270 terminal, and doing "native 3270 I/O" to that terminal, without using VTAM. So ETPS will help you early in the IPL, way before VTAM comes up. ETPS contains a primitive editor, which works well enough in recovery situations if you know how to use it, and it also includes some IDCAMS front-end utilities and a few other doo-dads. There is also a TSO front-end, to run ETPS when your system is normal, so that you can practice using the ETPS editor under quiet non-emergency conditions, and then you'll be prepared to face anything else. My recollection of the ETPS editor is that is sometimes will put a spurious character into the new line of a file being edited, but you can easily spot the bad character and delete it out, before any harm is done. If you get familiar with the eccentricities of the ETPS editor beforehand, it can be a remarkably effective recovery tool, later on when you (hopefully don't) need it. There is at least one vendor product that does the job of ETPS much better (it's a standalone editor which works in a similar way as ETPS, but the bugs were taken out and many new facilities added). But the price of ETPS is right (i.e. free), and ETPS can help you. PREPARATION All of the tools that I've mentioned, require prior installation. And you have to practice using them, in order that they'll be effective recovery tools for you in an IPL emergency. But once you're good at using these tools, you'll be able to solve a lot of other system problems besides the IPL problems. And in a pinch, you may be able to save the day at IPL time. Best of luck. I hope to see you again next month.