BSP - Beratung, Schulung, Projekte


BSPPILOT - The MVS Autopilot

What does it do?

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:

IEECVXIT

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)

MessageCommand issuedDescription
IST020IS TSOStart TSO as soon as VTAM is up
IEE362AS SMFDAILYdump full SYS1.MANx
IFB040IS DUMPEREPdump full SYS1.LOGREC
IEA994AS DUMPDUMPdump full dump datasets
$HASP190$SPRTxsetup printer
BSPSD999S BSPSHUTDInitiate shutdown

The routing and descriptor codes of the following messages are altered such that they are now roll-deletetable
IEA911Efull dump on XXXX for asid N
IEA994Epartial dump.....
IEA994Aall dump datasets are full
IGF995II/O Restart scheduled
IGF991EIGF msg for mount, swap etc

The following messages are suppressed altogether
BSPTEST1used for playtesting Autopilot
$HASP000JES OK msg

R2D2

An SRB routine that runs in the BSPPILOT address space and replies to the following WTORs

MessagePromptReply
IEF238DDevice name, Wait, or CancelWAIT
IEF433DHold or NoholdNOHOLD
IEF434Dinvalid reply, Hold or NoholdNOHOLD
IKT010DSIC or FSTOPSIC
IKT012DReply UU
IEC301AMaster catalog passwordU
IEC804A POST
IFA006ADump request for active MANxCANCEL
BSPTEST0Autopilot test messageU

BSPPILOT

(Or should this be called C3PO)? A address space which is doing nothing most of the time. It serves as the companion address space to R2D2 and IEECVXIT. The WTO exit and the WTOR reply processor will only do their job if and only if the BSPPILOT address space is running. You might consider starting it via COMMND00 processing of SYS1.PARMLIB

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
Issues a WTOR and a WTO that can be used in play testing the autooperator
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=CATWTONo WTOs, except the initial "splash" screen,
no parmShow processing WTOs

Required DD names

none

Optional DD names

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

Usage

Assembly and Link JCL can be found in

Execution JCL can be found in SYS1.SETUP.CNTL(PILOT#)

Disclaimer

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