While I was working on the turnkey system, I thought: "Well, the whole thing is nearly finished now, what's next?!"
And then the questions started to come in. As a consequence, I decided to add this page to the hercules site. It will contain utilities for MVS and/or Windows that might make life easier for the MVS enthusiast. Those utilities will be added to this page whenever a new one becomes available. If you want to contribute your own utilities, fell free to do so.
I have decided to make those utilities that I write/salvage from old code/pry out of someone's cold hands in source form and load module form as well. For assembly I will rely on the turnkey system, i.e. you will need SYS2.MACLIB (which might be updated from time to time as well), and the resulting load modules will be placed into SYS2.LINKLIB (for STC and BATCH programs) or SYS2.CMDLIB (for TSO CPs)
Obviously, I cannot guarantee that these programs really will work, you will have to take the full risk of useability etc. Remember? You get what you paid for, and even more than that....
Don't you hate unnecessary and repeating work? Well, typing
1retryon the MVS console cannot really be called "work", but it is unnecessary nevertheless. Whenever the MVS Turnkey system starts, the network (VTAM, NET) and TSO will be started automatically. Unfortunately, TSO is usually faster in its startup processing than VTAM and complains that it cannot accept logons. The reason is that NET hasn't finished initialising yet and hasn't made the TSO ACB available.
In comes the program BSPVTMWT - which waits for VTAM to make an ACB available.
Just prepend it to the PROC/JOB step that is to start a VTAM application. For TSO this would look similar to
//TSO PROC MEM=00 //WAITTSO EXEC PGM=BSPVTMWT,PARM='TSO' //TSO EXEC PGM=IKTCAS00,TIME=1440 //PARMLIB DD DISP=SHR,DSN=SYS1.PARMLIB(TSOKEY&MEM),FREE=CLOSE //PRINTOUT DD SYSOUT=A,DCB=(LRECL=133,RECFM=FBB)BSPVTMWT will now try 10 times (with an interval of 10 seconds in between) to open the VTAM ACB. If if succeeds, it will close it again and finish, and now TSO can grab the available ACB
You can change the number of retries by modifying the code and recompiling and relinking. In line 1 there is
MAXTRIES EQU 10Which determines how often the program will retry to open the ACB. Also you will find a variable
INTERVAL DC C'00001000'Which contains the interval between tries.
Running the member ASMLKG will assemble and link the whole thing Be sure to check the JCL for local naming conventions. You will need the SYS2.MACLIB from the turnkey system in order to successfully assemble the program
You can download the utility as a zip or a tar file. The contents in both files are identical
devinit 480,[yourdir/]vtamwt.aws devinit 00c,[yourdir/]vtamwt.jcl eofA Job should now be started that loads VTAMWAIT into your system. You can now, for example, modify the TSO procedure in SYS1.PROCLIB as shown above, and next time you start MVS there is no need any more for the
r 01,retryreply List of modules
The MVS turnkey system provides a utility CDSCB (for Change DSCB) with which you can modify VTOC entries in a TSO session. This is usually sufficient, but sometimes to need to do more (like mass-mode changing of expiration dates). In this case a batch version comes in handy. It has been emailed to me by somitcw_at_erols.com, I just compiled and tested it, and it works flawlessly.
How do you use this utility? Very simple - by plain JCL. No control statements, no input or output files, just good old JCL. You will need an EXEC statement for the program, of course, and one DD statement fro each dataset whose VTOC entry you want to modify. The DD-Name for these data sets must begin with the 3 characters ZAP. Then the attributes to be changed follow:
//MODVTOC EXEC PGM=ZAPDSCB //* Set expiration date //ZAP1 DD DISP=SHR,DSN=MY.DASD.DATASET,LABEL=EXPDT=73150 //* Remove expiration date //ZAP2 DD DISP=SHR,DSN=MY.DASD.DATASET,LABEL=RETPD=0 //* Modify secondary space allocation //ZAP3 DD DISP=SHR,DSN=MY.DASD.DATASET,SPACE=(CYL,(0,2)) //* Remove any password protection //ZAP4 DD DISP=SHR,DSN=MY.DASD.DATASET,FCB=NOPW //* Remove any read password protection //ZAP5 DD DISP=SHR,DSN=MY.DASD.DATASET,LABEL=(,,NOPWREAD) //* Reactivate password protection //ZAP6 DD DISP=SHR,DSN=MY.DASD.DATASET,LABEL=(,,PASSWORD) //* The following attributes can also be changed: //* LRECL //* BLKSIZE //* DSORG //* RECFM //* OPTCD
You can download the utility as a zip or a tar file. The contents in both files are identical
devinit 00c,[yourdir/]zapdscb.jcl eofA Job should now be started that loads ZAPDSCB into your system. The target library for the load module must be authorized. The JCL, as supplied, places the load module into SYS2.LINKLIB which is authorized List of modules
When you placed the NOTIFY=
parameter on the jobcard, the specified TSO user will be informed
when the Job has ended. The information provided is just if the job ended normally or abnormally.
The JES modification presented here enhances the information in such a way, that the highest condition
code of all the steps in the job is provided as well, or the (last) Abend-code encountered in the Job.
You can download the modification as a zip or a tar file. The contents in both files are identical
devinit 480,[yourdir/]jesmod01.aws devinit 00c,[yourdir/]jesmod01.jcl eofA Job should now be started that loads JESMOD01 into your system.
Before installing the modifications into the live system you should make sure to be able to have a fallback mechanism in place in case things go wrong. You should either have a fresh backup of your system residence volume MVSRES, or , if you are using shadow files, you should now create a new shadow file generation before proceeding. You can now install the actual modification in one of two ways
You can now install the actual modification in one of two waysNow shudown your system. Perform an IPL with the CLPA option. From now on you should see the maximum return code in the end-of-job messages sent to your TSO user at job end
List of modulesWhile we are doing retrocomputing anyhow, why not bring back the "green bar" print output? Well, not really green bar, bar grey bar output. Here are a few PCL printer overlays that will bring the good old feeling back - One caveat: They have been made with A4 paper size in mind, I don't know what they look like on the American paper sizes 11" or legal, but you can always try, and change. If you make changes to them for the nonstandard sizes, please send them to me an I can incorporate them in this page
The overlays are available in zip and in compressed tar format. The contents of the archive is identical. There are several files in the archive, whith the following naming convention
Lds66132.ovl !!!! ! ! !!!! ! +----- .ovl = overlay file !!!! ! .txt = text file explaining parameters !!!! +-------- number of columns per page !!!+---------- number of lines per page !!+----------- constant "s" !+------------ s = simplex ! d = duplex +------------- L = Landscape P = PortraitList of modules
This package contains multiple, only loosely related bit and pieces. They are source, and as ready to run load modules:
You can download the archive as a zip or a tar file. The contents in both files are identical
devinit 480,[yourdir/]bsp38j.aws devinit 00c,[yourdir/]bsp38j.jcl eofA Job should now be started that loads a few files into your system.
When you use the supplied JCL to load the Addon Utility tape to disk, the following files will be created
This collection assumes that you have installed the MVS Turnkey system. It has been installed and tested in that environment. If you haven't installed the MVS Turnkey System, these files will most probably work as well, but, you will have to do some adjustments to JCL procedures etc
For instalation instructions see members $$README and $$INSTAL in file CBT.MVS38J.CNTL
This add-on has been provided by Brian Westerman. It has been tested on MVS Tur(n)key System #2 and #3.
You can download the Add-on as a zip or a tar file. The contents in both files are identical
devinit 480,[yourdir/]dynabldl.aws devinit 00c,[yourdir/]dynabldl.jcl eofA Job should now be started that loads dynabldl into your system.
Read member DOC in the PDS for further instructions
This add-on has been provided by Brian Westerman. It has been tested on MVS Tur(n)key System #2 and #3.
You can download the Add-on as a zip or a tar file. The contents in both files are identical
devinit 480,[yourdir/]dynamask.aws devinit 00c,[yourdir/]dynamask.jcl eofA Job should now be started that loads dynamask into your system.
Read member DOC in the PDS for further instructions