v To extend the function of the overseer program, you can incorporate the CEBT
command, which is normally issued by the console operator to control the
alternate. The CEBT command is described in the
CICS Supplied Transactions
manual.
All of the CEBT functions are available for use in the overseer program, though it
is unlikely that you will find it helpful to automate all of them, and there would, in
some cases, be difficulties in handling the responses from the INQUIRE
commands. However, it might be helpful for you to be able to automate the
takeover process in some circumstances. Here are two examples of situations in
which you could use the CEBT command to influence or to initiate takeover from
the overseer program:
– The active CICS may place error information in the CAVM data sets when a
VTAM failure occurs, depending on whether you have coded an exit program
at the global user exit point XXRSTAT, and, if so, how you have coded it. (An
exit program at this point can be used to decide whether or not VTAM failure
data is recorded in the CAVM data sets.) If such data is placed in the CAVM
data sets, information about the last eight failures detected by the active CICS
region is available to the overseer. The overseer can evaluate this information
and, if necessary, initiate a takeover by issuing the following CEBT command:
MODIFY jobname,CEBT PERFORM TAKEOVER
In this case, you should ensure that the actions taken by the global user exit
program at exit point XXRSTAT do not conflict with or duplicate those taken
by the overseer program. For example, it would be possible for the global
user exit program to request a CICS abend, and thereby initiate a takeover,
and for the overseer program to issue the PERFORM TAKEOVER command
while acting on the same information.
– At particular times of the day, perhaps when fewer operational staff are
available than at other times, you may find it convenient to change the
TAKEOVER setting for some, or all, of your regions. For example, you can
change the TAKEOVER value for a region from COMMAND or MANUAL to
AUTO, without shutting down the alternate, so that takeover is automatic until
the setting is next changed. The CEBT command is as follows:
MODIFY jobname,CEBT SET TAKEOVER AUTO
In both of these examples, you would include takeover commands in the
command list tables (CLTs) of these regions to ensure that their related regions
are also switched when appropriate.
There is one optional section of code in the overseer program, which is described
below.
Loop or wait detection
The sample overseer program includes some code that you can use to detect
possible loops or waits in the active CICS region.
The sample program monitors the CICS task control block (TCB) time stamp. If this
remains the same for a period defined by the variable LOOPTM, a message is sent
to the console warning of a possible loop or wait. The value of LOOPTM is the
number of seconds (wait time) before a loop is suspected, and may need to be
changed to suit your requirements and to avoid the detection of “false” loops. It
should be set to a value greater than the largest runaway task time interval (as
specified on the ICVR system initialization parameter) to avoid detection of user
transaction loops.
customizing the sample overseer
624
CICS TS for OS/390: CICS Customization Guide