This program will react to specific WTOs and/or WTORs and will automatically initiate some actions deping on the WTO(R) text. As for now, the processed WTO(R)s and their actions are hardcoded into the modules, and can only be changed by changing and reassembling them. The autopilot can also be used to run scripts of OS commands.
The idea to the MVS auto pilot was taken from CBT tape 249, file 33. Unfortunately, I couldn't get it to assemble correctly for MVS 3.8.
After a little bit of poking around in the source and doing a few changes here and there I could get it to compile, but it didn't work reliably. That's when I decided to rewrite the whole thing and, while being at it, add a few functions as well
Rewrite might be too strong a word, though. Large portions of the R2D2 part in IEECVXIT were taken unchanged from the CBT tape
What do we have now:
This is the WTO exit to automatically react to WTOs. This function is table driven, and currently the following messages are recognized (and are being processed on)
Message | Command issued | Description |
---|---|---|
IST020I | S TSO | Start TSO as soon as VTAM is up |
IEE362A | S SMFDAILY | dump full SYS1.MANx |
IFB040I | S DUMPEREP | dump full SYS1.LOGREC |
IEA994A | S DUMPDUMP | dump full dump datasets |
$HASP190 | $SPRTx | setup printer |
BSPSD999 | S BSPSHUTD | Initiate shutdown |
The routing and descriptor codes of the following messages are altered such that they are now roll-deletetable
IEA911E | full dump on XXXX for asid N |
IEA994E | partial dump..... |
IEA994A | all dump datasets are full |
IGF995I | I/O Restart scheduled |
IGF991E | IGF msg for mount, swap etc |
The following messages are suppressed altogether
BSPTEST1 | used for playtesting Autopilot |
$HASP000 | JES OK msg |
An SRB routine that runs in the BSPPILOT address space and replies to the following WTORs
Message | Prompt | Reply |
---|---|---|
IEF238D | Device name, Wait, or Cancel | WAIT |
IEF433D | Hold or Nohold | NOHOLD |
IEF434D | invalid reply, Hold or Nohold | NOHOLD |
IKT010D | SIC or FSTOP | SIC |
IKT012D | Reply U | U |
IEC301A | Master catalog password | U |
IEC804A | POST | |
IFA006A | Dump request for active MANx | CANCEL |
BSPTEST0 | Autopilot test message | U |
The operator (that is you) can communicate with BSPPILOT via modify commands. Some of them are useful some not quite so useful
P BSPPILOT F BSPPILOT,STOP F BSPPILOT,END
|
These commands will gracefully terminate the MVS autopilot and disable WTO(R) processing |
F BSPPILOT,SHUTDOWN |
will initiate the MVS shutdown
processing. A script in
SYS1.PARMLIB(SHUTDOWN) will
be used to run operator
commands for the shutdown sequence
|
F BSPPILOT,SHUTFAST |
Same as above, except that the operator will not be asked for confirmation of the shutdown request first, and the system will not wait as long for initiating the shutdown sequence |
F BSPPILOT,SHUTNOW |
Immediate shutdown of the system. No grace period whatever. |
F BSPPILOT,SHUTCANC |
Will cancel the shutdown sequence that was initiated via the SHUTDOWN or SHUTFAST modify command |
F BSPPILOT,CAT |
Shows the splash screen |
F BSPPILOT,COOKIE |
Gives you a byte from the fortune cookies |
F BSPPILOT,SETPF |
Invokes BSPSETPF program to set MVS console function keys. See the BSPFSETPF documentation for more information |
F BSPPILOT,LISTAPF F BSPPILOT,APFLIST
|
Invokes BSPAPFLS to list the APF priviledged data sets. See the BSPAPFLS documentation for more information |
F BSPPILOT,TEST | |
F BSPPILOT,SCRIPT=sss F BSPPILOT,RUN=sss
|
This runs the script sss from the PDS that is in the SCRIPTS DDNAME of the BSPPILOT proc. If there is no SCRIPTS DD name SYS1.PARMLIB will be used See the BSPRUNSC documentation for more information |
The Autopilot is activated by running the auto-pilot started task BSPPILOT
JCL Execution Parameters are specified via the PARM statement on the EXEC card:
PARM=NOWTO |
Silent mode, don't issue any WTOS at all |
PARM=CATWTO | No WTOs, except the initial "splash" screen, |
no parm | Show processing WTOs |
none
DDNAME | Description | Default |
---|---|---|
SCRIPTS | points to PDS with OS command scripts | SYS1.PARMLIB |
SYSPRINT | output queue for report | SYSOUT=X |
SYSUDUMP | never used | SYSOUT=X |
Assembly and Link JCL can be found in
SYS1.SETUP.CNTL(PILOT$)
SYS1.UMODCNTL(ZUM0003)
SYS1.UMODCNTL(ZUM0006)
SYS1.SETUP.CNTL(PILOT#)
Although this program has been tested on the Turnkey MVS system Version 3 it is not guaranteed to be bug-free (which program is?)
Use at your own risk