Customizing and Programming
Customizing and Programming
Version 4.Release 1
IBM
SC34-2715-01
Note
Before using this information and the product it supports, read the information in Appendix H,
“Notices,” on page 293.
Edition Notes
This edition applies to IBM System Automation for z/OS (Program Number 5698-SA4) Version 4, Release 1, an IBM®
licensed program, and to all subsequent releases and modifications until otherwise indicated in new editions.
This edition replaces SC34-2715-00.
© Copyright International Business Machines Corporation 1996, 2017.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract with
IBM Corp.
Contents
Figures................................................................................................................. xi
Tables..................................................................................................................xv
Accessibility...................................................................................................... xvii
Using assistive technologies.................................................................................................................... xvii
Keyboard navigation of the user interface............................................................................................... xvii
iii
Using AOCTRACE to Trace Automation Procedure Processing...........................................................18
NetView Testing and Debugging Facilities...........................................................................................19
Where to Find More Testing Information.............................................................................................20
Coding Your Own Information in the Automation Status File...................................................................20
Programming Recommendations..............................................................................................................20
Global Variable Names.............................................................................................................................. 21
iv
External Subsystem Connection Monitoring for CICS and IMS................................................................ 57
IMS Component Monitoring.......................................................................................................................57
v
Trapping UNIX syslogd Messages......................................................................................................105
Trapping messages issued with the UNIX __console() service........................................................ 105
Debugging...........................................................................................................................................106
vi
Step 3: Defining IEADMCxx Symbols.................................................................................................141
Step 4: Defining Commands.............................................................................................................. 141
Step 5: Defining Snapshot Intervals.................................................................................................. 141
Enabling Auxiliary Storage Shortage Recovery.......................................................................................142
Step 1: Defining the Local Page Data Set.......................................................................................... 142
Step 2: Defining the Handling of Jobs............................................................................................... 142
Defining Common Automation Items..................................................................................................... 142
Customizing the System to Use the Functions....................................................................................... 142
Additional Automation Operator IDs................................................................................................. 142
Switching Sysplex Functions On and Off........................................................................................... 142
vii
Task Global Variables......................................................................................................................... 168
Return Codes......................................................................................................................................168
Command Exits........................................................................................................................................168
AOFEXC00.......................................................................................................................................... 168
AOFEXC01.......................................................................................................................................... 168
AOFEXC02.......................................................................................................................................... 169
AOFEXC03.......................................................................................................................................... 169
AOFEXC04.......................................................................................................................................... 169
AOFEXC05.......................................................................................................................................... 169
AOFEXC06.......................................................................................................................................... 169
AOFEXC07.......................................................................................................................................... 169
AOFEXC08.......................................................................................................................................... 169
AOFEXC09.......................................................................................................................................... 170
AOFEXC10.......................................................................................................................................... 170
AOFEXC11.......................................................................................................................................... 170
AOFEXC13.......................................................................................................................................... 170
AOFEXC14.......................................................................................................................................... 170
AOFEXC15.......................................................................................................................................... 170
AOFEXC16.......................................................................................................................................... 170
AOFEXC17.......................................................................................................................................... 170
AOFEXC18.......................................................................................................................................... 171
AOFEXC19.......................................................................................................................................... 171
AOFEXC20.......................................................................................................................................... 171
AOFEXC21.......................................................................................................................................... 171
AOFEXC22.......................................................................................................................................... 171
AOFEXC23.......................................................................................................................................... 172
AOFEXC24.......................................................................................................................................... 172
AOFEXC25.......................................................................................................................................... 172
AOFEXC26.......................................................................................................................................... 172
AOFEXC27.......................................................................................................................................... 172
Pseudo-Exits............................................................................................................................................173
Automation Control File Reload Permission Exit.............................................................................. 173
Automation Control File Reload Action Exit...................................................................................... 173
Subsystem Up at Initialization Commands....................................................................................... 173
Testing Exits............................................................................................................................................. 173
viii
Verify the Installation ........................................................................................................................184
AOFRSA01............................................................................................................................................... 185
AOFRSA02............................................................................................................................................... 186
AOFRSA03............................................................................................................................................... 187
AOFRSA08............................................................................................................................................... 189
AOFRSA0C............................................................................................................................................... 191
AOFRSA0E............................................................................................................................................... 194
AOFRSA0G............................................................................................................................................... 194
AOFRSD07............................................................................................................................................... 196
AOFRSD09............................................................................................................................................... 197
AOFRSD0F............................................................................................................................................... 198
AOFRSD0G............................................................................................................................................... 200
AOFRSD0H............................................................................................................................................... 201
HASP099..................................................................................................................................................203
INGRMJSP............................................................................................................................................... 203
INGRCJSP (AOFRSD01)...........................................................................................................................205
INGRTAPE................................................................................................................................................ 206
INGRX711................................................................................................................................................206
INGRX740................................................................................................................................................207
ix
Step 2: Defining SDF Panels.............................................................................................................. 262
Step 3: (Optional) Customizing SDF Initialization Parameters......................................................... 266
Step 4: (Optional) Defining SDF in the Customization Dialog........................................................... 266
Index................................................................................................................ 329
x
Figures
1. Application Lifecycle..................................................................................................................................... 3
5. AT Structure.................................................................................................................................................29
9. ISPF dialog defining the Job Log Monitoring of all JESMSGLG messages (1/3)........................................61
10. ISPF dialog defining the Job Log Monitoring of all JESMSGLG messages (2/3)..................................... 61
12. ISPF dialog defining the Job Log Monitoring of specific messages.........................................................62
13. ISPF dialog defining the Job Log Monitoring of specific messages of a multi-step job..........................62
14. ISPF dialog defining the Job Log Monitoring of a non-message print line (1/2).....................................62
15. ISPF dialog defining the Job Log Monitoring of a non-message print line (2/2).....................................63
16. Common MAT entry for message INGY1300I and jobs defining a message ID for monitoring............. 63
17. ISPF dialog defining the Job Log Monitoring of all JESMSGLG messages (3/3)..................................... 63
18. Common MAT entry for message INGY1300I and jobs without defining a message ID for
monitoring.................................................................................................................................................. 63
xi
23. Stop Definitions for a Process.................................................................................................................101
xii
48. MESSAGES/USER DATA Policy Item for Entry/Type-Pair MVSESA/LOG............................................... 208
xiii
xiv
Tables
2. Application Start............................................................................................................................................1
16. Policy Entry Names and Types for Command Receivers....................................................................... 107
17. Sample Names and Load Modules for a TSO/Batch Environment........................................................ 107
xv
24. Externalized Common Global Variables................................................................................................. 225
26. Global Variables That Define the Installation Defaults for Specific Commands...................................242
33. Input Columns for XCF Group Identification Mapping File ...................................................................279
34. Output Columns for XCF Group Identification Mapping File ................................................................ 279
35. Input Columns for XCF Group Member Identification Mapping File..................................................... 279
36. Output Columns for XCF Group Member Identification Mapping File...................................................280
38. Output Columns for USS Process Identification Mapping File.............................................................. 280
xvi
Accessibility
Accessibility features help users with physical disabilities, such as restricted mobility or limited vision,
to use software products successfully. System Automation for z/OS supports several user interfaces.
Product functionality and accessibility features vary according to the interface.
The major accessibility features in this product enable users in the following ways:
• Use assistive technologies such as screen reader software and digital speech synthesizer, to hear what
is displayed on screen. Consult the product documentation of the assistive technology for details on
using those technologies with this product and screen magnifier software
• Operate specific or equivalent features using only the keyboard
• Magnify what is displayed on screen.
The product documentation includes the following features to aid accessibility:
• All documentation is available to both HTML and convertible PDF formats to give the maximum
opportunity for users to apply screen-reader software
• All images in the documentation are provided with alternative text so that users with vision impairments
can understand the contents of the images.
Prerequisites
Throughout this book, it is expected that readers are familiar with the System Automation for z/OS and
the following documentation:
• IBM System Automation for z/OS Operator's Commands
• IBM System Automation for z/OS Programmer's Reference
• IBM System Automation for z/OS Defining Automation Policy
New Information
SA z/OS User Exits
A new exist AOFEXC26 is added. If this exit is defined, it is invoked during INGSUSPD processing
before Verification processing. The exit allows you to check the parameters that are passed. See
“AOFEXC26” on page 172.
Automation Solutions
The solution of defining INGWHY user actions is added. See “Defining INGWHY User Actions” on page
178.
Changed Information
CICS® and IMS Connection Monitoring
The connection monitoring for CICS and IMS is enhanced by supporting extra connection monitoring
to external subsystem IBM MQ. See “External Subsystem Connection Monitoring for CICS and IMS” on
page 57.
Job Log Monitoring
Additional parameters for the INGJLM routine are described in the overview of Job Log Monitoring.
See “Overview” on page 59.
Pictures of SA z/OS Best Practice policies
The pictures of SA z/OS Best Practice policies have been moved from the USS directory to Add-on
policies.
Deleted Information
AOFEXX03 and AOFEXX15 static exits are removed.
INGRYSHU command is moved to IBM System Automation for z/OS Programmer's Reference and is
renamed to INGSHCMD (INGRYSHU).
SA z/OS Topology Manager for NMC: AOFMSGST is removed.
Sometimes it can happen that an application terminates unexpectedly. In this case it might be necessary
to complete some cleanup actions before the application can be restarted. Consequently it is necessary
to know:
What are the important messages at the points in the application's life-cycle as illustrated in Figure 1
on page 3 above?
For example a message IEF403I is sent when the system observes that an application has been started.
IEF404I is issued when the application terminated.
Are there are other kinds of usable events at the specific points?
Step 3 discusses also the situation of an unplanned application termination.
Are there important messages at point 3 and 4 of Figure 1 on page 3 in case of an unplanned
termination?
For example a message IEF450I points to an unplanned termination.
Topology
Normally the application to be automated depends on the underlying infrastructure, like JES2 or TCPIP.
This means that this infrastructure must be available before you can start the application.
Vice versa the application can be a prerequisite for other applications, before they can be started.
Likewise you need to think about which other applications must be terminated prior to the termination of
the application.
As described above, there are relationships between the applications.
At this point it might be helpful to draw a picture and to visualize the relationships between the
application in case of a start and a stop situation.
SA z/OS provides Best Practice policies containing solutions for several products. The solutions are
illustrated in PDF file format located in Add-on policies.
Please refer to the appropriate file to find out more information about the solution you are trying to
automate.
The following sections provide more details about each part of an automation procedure.
System Operations
Automation procedures for applications and MVS components that are called from the NetView
automation table should always perform an automation check by calling the AOCQRY automation routine.
AOCQRY checks that the automation flags allow automation.
These checks eliminate the risk of automating messages for applications that should not be automated,
or for which automation is turned off. AOCQRY also initializes most of the common and task global
variables that are used in the automation procedure with values specific to the application.
Refer to IBM System Automation for z/OS Programmer's Reference for more information on coding the
automation check routine.
Processor Operations
Most of the processor operations commands run only when processor operations has been started. To
determine whether processor operations is active, you can use the ISQCHK command in your automation
routines.
If processor operations is not running, ISQCHK returns return code 32 and issues the message:
ISQ0301 Cannot run cmd-name command until Processor Operations has started.
Your application can then issue the ISQSTART command to begin processor operations.
For more information, see IBM System Automation for z/OS Programmer's Reference.
Checking Thresholds
You can check and update thresholds by calling the CHKTHRES automation routine. Use CHKTHRES to
track and maintain a threshold, and to change the recovery action based on the threshold level exceeded.
For more information see IBM System Automation for z/OS Programmer's Reference.
When you issue the ISQEXEC command to process an automation procedure, all of the commands
are processed in the order in which they occur in the automation procedure. This is because the
ISQEXEC command sends work to a target control task, which processes commands serially. Any other
commands or automation routines issued to the same console by the ISQEXEC command are queued
for processing by the target control task and do not start until the previous command or automation
procedure completes.
The ISQEXEC command also frees the original task from any long-running command sequence. This lets
you use the issuing task, such as an OST, for other work.
The ISQEXEC command does not lock consoles to ensure command serialization; the command
serialization process is due to the target control task allocation scheme. Commands and automation
routines are processed in the order in which they occur; however, it is possible for commands from other
tasks to interrupt the command sequence.
For more information about the ISQEXEC command, see IBM System Automation for z/OS Operator's
Commands.
Locking a Console
Several routines and operators may attempt to address the same console at the same time. The ISQEXEC
command does not prevent other tasks from interrupting the sequence of commands being processed by
the target control task; it does not lock the console.
To prevent a sequence of commands from being interrupted, use the ISQXLOC and ISQXUNL commands.
The ISQXLOC command locks access to the console. If a task attempts to issue a command to a locked
console, the task is told that the console is locked, and the command fails. When you are finished with
the sequence of commands that must be processed without interruption, issue the ISQXUNL command to
unlock access to the console.
You can use the ISQXLOC and ISQXUNL commands within automation routines to ensure that they
complete without interference from other tasks. For automation routines that issue a number of SA z/OS
commands, put the following command after the ISQEXEC command and near the beginning of the
routine:
ISQXLOC target-system-name SC
This locks access to the target system console to the current task until the lock is dropped by the
command:
ISQXUNL target-system-name SC
Only the task that issued ISQXLOC can successfully issue ISQXUNL. If an ISQXLOC command is issued
from a locked sequence of commands, it is rejected because the console is already locked.
When you lock a system console for a target system running on a logical partition, you lock that system
console for all other target systems using that processor. A command sent to a system console for any
other target system (logical partition) on that target hardware definition does not run until the console is
unlocked.
If your automation routine cannot wait for a console to be released, use the ISQOVRD command to gain
control of the console. Use the following command only in critical automation routines:
ISQOVRD target-system-name SC
When the routine issuing the override command completes, the lock is removed and the console is
available.
********************************************
******* Preparation *******
********************************************
AOCQRY
CDEMATCH
ACFCMD/ACFREP
- do required action:
issue command / respond reply
For more information on the mentioned automation routines refer to IBM System Automation for z/OS
Programmer's Reference. For more information on command processing or reply processing refer to IBM
System Automation for z/OS User's Guide.
*********************************************************
120I ...
121I ...
122I ...
123I 10 40 THE EAGLE HAS &1
124I ...
*********************************************************
When AOCMSG is called as specified in the automation procedure, DSIMSG member DSIABC12 is
searched for message ABC123I. Substitution for variable &1 occurs, and the following message is
generated:
Note that the message is defined with a 10 and a 40 between the message ID and the first word of the
message. These are the SA z/OS message classes to which the message belongs. When the message is
issued a copy is sent to every notification operator who is assigned class 10 or class 40 messages.
Refer to Tivoli NetView for z/OS Customization Guide for further information on developing new messages.
4 save_msg = msgid()
save_text = msgstr()
lrc = 0
/* -------------------------------------------------------------- **
** Check return code from AOCQRY **
** 0 = ok 1 = global flag off **
** 2 = specific flag off 3 = resource not in ACF **
** 4 = bad parms 5 = errors/timeout **
** -------------------------------------------------------------- */
Select
7 When svretcode >= 3 Then Do
"AOCMSG "loc.0me",206,,"time()",,,"cmd",RETCODE="svretcode
lrc = 1
End
8 When svretcode > 0 Then Do
"GLOBALV GETT AUTOTYPE SUBSAPPL SUBSTYPE SUBSJOB"
"AOCMSG "loc.0me",580,,"time()","SUBSAPPL","SUBSTYPE"," ,
SUBSJOB","AUTOTYPE","save_msg
lrc = 1
End
Otherwise Do
9 Parse Var save_text With . 'JOBNAME=' save_job 'ASID=' save_asid .
10 ehkvar1 = save_job
ehkvar2 = save_asid
"GLOBALV PUTT EHKVAR1 EHKVAR2"
11 cmd = 'ACFCMD ENTRY='||AOFSYSTEM||',MSGTYP='||save_msg
cmd
svretcode = rc
If loc.0debug = 'Y' Then
"PIPE LIT /Called ACFCMD; Return Code was "||svretcode||"/" ,
"| LOGTO NETLOG"
/* ---------------------------------------------------------- **
** Check return code from ACFCMD **
** 0 = ok 1 = no commands found in ACF **
** 4 = bad parms 5 = errors/timeout **
** ---------------------------------------------------------- */
12 If svretcode > 1 Then Do
"AOCMSG "loc.0me",206,,"time()",,,'"cmd"',RETCODE="svretcode
lrc = 1
End
End
End /* End of Select svretcode */
13 Exit lrc
14 Aof_Error:
Signal Off Halt; Signal Off Failure
Signal Off Novalue; Signal Off Syntax
errtype = condition('C')
errdesc = condition('D')
Select
When errtype = 'NOVALUE' Then rc = 'N/A'
When errtype = 'SYNTAX' Then errdesc = errortext(rc)
Otherwise Nop
End
"AOCMSG "errtype",760,,"loc.0me","sigl","rc","errdesc
Exit -5
6
This section performs the automation check:
1. Fetch the AOFSYSTEM common global variable that contains the information under which entry
name the system messages are stored in the automation control file (ACF).
2. The automation procedure calls the AOCQRY command. This performs the automation flag check
and presets some task global variables that are used by other automation routines like ACFCMD.
7
Issue message AOF206I if call to AOCQRY fails.
8
Issue message AOF580I if automation flag is off.
9
Get the job name and asid reported in the message.
10
Set EHKVARn variables for ACFCMD.
11
Call ACFCMD to issue the command specified in the configuration files. The Automation Control File
entry for the message IEA099A could look like this:
MVSESA IEA099A,
CMD=(,,'MVS C &EHKVAR1,A=&EHKVAR2')
12
Issue message AOF206I if call to ACFCMD fails.
13
Exit with return code that indicates successful or unsuccessful processing.
14
This code logs a message if an error is trapped at step 1 .
When assist mode is on, actions that are normally taken by SA z/OS automation procedures, such
as issuing a command or reply, are not performed. Instead messages that describe what would have
happened are written to the netlog.
The assist mode is associated with automation flags (Automation, Initstart, Start, Recovery, Terminate or
Restart). Whether assist mode is used for any action is determined by the automation flag. This is checked
to see whether that action is permitted.
Cases where you might want to use assist mode include:
• During early stages of developing and using your automation policy
• After changing your automation policy, such as after adding an application to automation
• After adding a new automation procedure to the SA z/OS code
• C (Commands)
• E (Errors)
• F (Failures)
• L (Labels)
• O (Off)
• N (Normal)
The S (Scan) trace type cannot be used.
The trace flag is stored in the common global variable AOF. clist.0TRACE (where clist is the true
automation procedure name).
Message tracing can only be set from the command line, using the command AOCTRACE MSG/id,ON|
OFF where id is the message to be traced.
AOCTRACE is documented in IBM System Automation for z/OS Operator's Commands.
Myproc:
Procedure expose loc.
If loc.0debug = 'Y' Then
'PIPE LIT /' loc.0debug ' has called procedure MYPROC/',
'| LOGTO NETLOG'
Return
WRITEWTO CLIST
WTO &PARMSTR
&EXIT
The sample automation procedure can issue any single-line message by calling the routine. For example,
to issue message ABC123I, which indicates the start of a program, the command is:
Programming Recommendations
This section contains tips and techniques that may help to reduce the coding effort required when writing
your own automation procedures, and to improve performance of your automation procedures.
• Use variables, such as &SUBSAPPL, &SUBSTYPE, and &SUBSJOB in place of parameter values.
To display output from a self-written command, prefix it with the procedure name. To be independent of
a possible name change, use the 'parse source' REXX statement which provides the procedure name as
the third token.
Using NetView command list language variable JOBNAME for the resource field on an AOCQRY call, an
automation procedure can be written to support a known message for any job that can issue a message.
• Use defaults when possible to minimize coding.
• Use generic error codes (see CDEMATCH).
• Use available message parsing techniques:
– Use the NetView command PARSEL2R or REXX PARSE command to parse a message without relying
on a field position in a message.
– Parse a message in the NetView automation table and send only necessary fields to an automation
procedure.
• Consider not coding the ENTRY field in CDEMATCH calls (default is the SUBSAPPL returned from the last
AOCQRY call).
Conceptual Overview
This section gives a brief overview of the main aspects of SA z/OS message automation:
• Message automation is a process that is based on the NetView AT and MRT.
• The ATs, MRTs and the MPFLSTxx PARMLIB member are generated by SA z/OS.
• AT entries are created for messages that actions are defined for.
• Messages can be defined to indicate a status change.
• Messages can be marked to be ignored, thus not generating an AT, MRT or MPF entry.
• Messages can be marked to be captured for further display.
• Most AT entries trap messages independent of the issuing product instance, component or module.
• Predefined AT entries can be changed.
• You can define the AT/MRT scope to determine precisely if and what kind of AT or MRT is built.
Note: If you have code definitions that you expect to be passed to ISSUEACT, you have to manage the AT
overrides to do this. This is not done by SA z/OS. See “Defining Message Overrides” on page 25.
Note that for MVC entries, messages have the parameter SYSTEMMSG=YES added to the SA z/OS
command (ISSUEACT).
Defining AT Actions
You can define various AT actions for messages using the Message Automation Overview panel:
• The condition in the AT entry
• Status changes for messages
• Capturing messages to be displayed but not automated
• Preventing the building of AT entries
You can also edit the AT entries directly using the AO option from this panel. Note that if you use one of
the other options after you have specified an override, SA z/OS requires you to confirm whether you want
to delete the override that exists for the message because it cannot be combined with the other options.
This means that an AT action (except IGNORE) for a particular message generates an AT entry. This
entry traps that message independently of the issuing subsystem. It then sets the subsystem state as
selected via the AT action.
If a state message should be processed for a particular subsystem only, you can define an AT override
action.
Policy Definitions
Links must be defined in the APL policy for the consumer application.
A link is a data pair that is represented by a consumer and a provider subsystem name:
• The consumer name is defined as the Subsystem Name of the consumer APL
• The provider name is defined in the MESSAGES/USER DATA policy item of the consumer APL as part of a
pseudo Message ID
In order to execute a command by a consumer APL whenever a provider APL becomes UP or DOWN, use:
• UP_provider-subsys - to hold the commands that are executed when provider-subsys becomes UP
• DN_provider-subsys - to hold the commands that are executed when provider-subsys becomes DOWN.
A dynamic link is created by defining a USER action with the Keyword/Data pair DYNAMIC=YES for the
pseudo message ID.
Other pseudo messages are available to hold sets of commands on a consumer APL that are executed
whenever the consumer becomes UP and the provider APL is UP or DOWN respectively:
• ISUP_provider-subsys - to hold the commands that are executed when the provider-subsys is UP
• ISDN_provider-subsys - to hold the commands that are executed when the provider-subsys is DOWN.
No commands are issued when the consumer becomes DOWN. For dynamic links the commands are
executed when the link is activated and the provider is in the appropriate status.
For example, if you want to start the MQ Listener for the MQCHIN application whenever the TCPIP
application reaches an up state, you define a command for the message ID UP_TCPIP using the
MESSAGES/USER DATA policy item of MQCHIN. On the Message Processing panel, enter the line
command C for the UP_TCPIP message ID and on the subsequent Command Processing panel enter
MVS START LISTENER in the Command Text field.
For dynamic links, you need to define message IDs for all the providers that might be used by a consumer.
There are several alternatives for defining when a link is activated:
1. In the POSTSTART phase of the STARTUP policy item
2. Based on a user-selectable message before the consumer is in the UP state
3. Based on the "up" state (this can be UP or ENDED)
4. Based on a user-selectable message after the consumer is in the UP state
You can make these definitions in either the STARTUP or MESSAGES/USER DATA policy item.
Corresponding policy definitions are required for link deactivation either in the SHUTDOWN or
MESSAGES/USER DATA policy item.
You must supply a user-written REXX automation procedure that:
1. Identifies the provider
Special Considerations
You can define a consumer as its own provider. This can be done to perform a predefined action for an
application whenever it enters any "down" state. A "down" state in this context is an agent state of:
• DOWN
• RESTART
• AUTODOWN
• STOPPED
• CTLDOWN
• BROKEN
Thus you no longer need to define the same action for each of the agent states. To achieve this, define the
same name in the DN_ message and subsystem name field of an application policy entry. You should note,
however, that:
• If the consumer and provider applications are different, the action defined under DN_ is only executed,
when the consumer application is in the "up" state. However if the consumer and provider applications
are the same, the action defined under DN_ is executed even when the consumer application is not in
the "up" state.
• Dynamic link definitions are not required. If you define a dynamic link, it is ignored.
• The action defined for the DN_message is not executed if the status change resulted from a failed
startup.
You should check that routines that are triggered by the AT entry for the message ID are compatible with
any text that you append to the original message text.
You can also use the MO option on the Message Automation Overview panel to define the MRT entry
directly using a fullscreen editor. Note that a syntax check is not performed on this panel. You must
ensure that your specifications follow NetView message revision table syntax rules.
For more details, see the chapter "The Message Revision Table" in IBM Tivoli NetView for z/OS Automation
Guide.
Build
Once you have made all the message definitions that you need, you can start the Configuration Build
Process to build the configuration files containing the AT, MRT, and MPF table.
For more information about the build function, see the chapter "Building and Distributing Configuration
Files" in IBM System Automation for z/OS Defining Automation Policy.
The AT fragments, MRT, and the MPFLSTxx member are built into the configuration data output data set.
This may require more space than you have allocated for the output data set. Thus enlarging the output
data set may be required.
This also applies to the DSILIST data set where the listings are stored.
It is recommended that you copy the build output to a Generation Data Group (GDG) to avoid token
mismatch conditions and AT or MRT load errors.
Load
After the NetView automation tables have been generated using the customization dialog, they are ready
to be loaded.
INGAMS REFRESH can be used to refresh the complete SA z/OS configuration, that is, the Automation
Manager Configuration (AMC), the agent's Automation Control Files (ACFs) and the related NetView
Automation Tables (ATs) as they are defined in the SA z/OS Policy Database. Alternatively, ATs can be
loaded using ATLOAD.
The common global variable AOFSMARTMAT controls whether the AT and MRT fragments generated
at Automation Control File build should be used. For compatibility reasons the provided default is 2
indicating that the generated AT fragment is loaded at SA z/OS initialization time or during an INGAMS
REFRESH. The recommended value of AOFSMARTMAT is 3 indicating that the generated AT and MRT
fragments are loaded at SA z/OS initialization time or during an INGAMS REFRESH.
For more information about the values refer to AOFSMARTMAT in “Read/Write Variables” on page 226.
Some AT entries are required for SA z/OS to operate properly. These entries reside in a separate AT that is
loaded during SA z/OS initialization. This AT is called INGMSGSA. Do not edit it.
Listings
The DSILIST data set is used to store listings.
For example, if you want to view the listing of the AT INGMSG01, issue the command:
br dsilist.ingmsg01
br dsilist.ingmrt01
A listing is produced whenever SA z/OS loads an AT or MRT. You can use the advanced automation option
(AAO) AOFMATLISTING to suppress listings by setting it to zero (see Appendix A, “Global Variables,” on
page 225).
The AT can be reloaded at configuration refresh (INGAMS, ACF ATLOAD). Because of this you should:
• Use a separate DSILIST data set for each NetView
• Allocate the DSILIST data set as a PDSE in order to prevent Sx37 errors
If the testing or loading of an AT or MRT fails, a special INGERRLS listing that contains the data of the
failing AT or MRT is written to DSILIST. To view this listing issue the following command:
br dsilist.ingerrls
INGMSG01
│
│
│──── %INCLUDE AOFMSGSY
│
│──── %INCLUDE INGMSGU1
│
│──── %INCLUDE INGMSG02 (auto-generated)
│
└──── %INCLUDE INGMSGU2
Figure 5. AT Structure
For information about how to use the INCLUDE fragments that SA z/OS provides, refer to “Using SA z/OS
%INCLUDE Fragments” on page 30.
The following fragments are used by the AT:
Synonym Definitions
There is one fragment, AOFMSGSY, that is used to initialize the various synonyms used throughout
the rest of the table. SA z/OS requires the synonyms to be suitably customized to reflect your
environment. See “Generic Synonyms: AOFMSGSY” on page 269 for more details about the
synonyms.
SA z/OS Functional Definitions
These definitions (located in the fragment that is loaded as INGMSG02) contain automation table
statements for specific functions of SA z/OS. You should not change these statements. Any
modifications can be made in INGMSGU1.
INGMSGSA
SA z/OS provides this automation table containing all statements that are required for SA z/OS to work
properly.
INGMSG01
INGMSG01 is suitable for use as a primary automation table.
INGMSG01 should not be included into any other table but should be activated as a separate table.
AOFMSGST
This is a table suitable for a NetView with a SA z/OS Satellite installed.
Examples
An example output of AUTOTBL STATUS:
IPSNO
BNH363I THE AUTOMATION TABLE CONTAINS THE FOLLOWING DISABLED STATEMENTS:
TABLE: INGMSG01 INCLUDE: __n/a___ GROUP : INGCICS
TABLE: INGMSG01 INCLUDE: __n/a___ GROUP : INGIMAGE
TABLE: INGMSG01 INCLUDE: __n/a___ GROUP : INGIMS
TABLE: INGMSG01 INCLUDE: __n/a___ GROUP : INGJES3
TABLE: INGMSG01 INCLUDE: __n/a___ GROUP : INGOPC
In this example the configuration loaded does not use the IMS, CICS, OPC product automation and the
IXC102A automation. It uses JES2, DB2 and USS automation.
Restriction
The NetView AUTOMAN cannot be used to RELOAD INGMSG01.
For some of these entries (IEF403I and IEF404I in particular) the message flow may be quite high. To
handle this, you can insert additional entries in INGMSGU1 to suppress a block of messages. For example,
if all your batch jobs started with the characters BAT or JCL, then the following entry would suppress
them:
• Ensure that all messages for a subsystem are processed in the correct sequence
You define work operators in the customization dialog using the Automation Operators entry type (AOP).
Here you define automated functions that allow you to specify automation operators, which are the
NetView task name. This two-staged definition gives the flexibility to specify a second operator as a
backup within the same Automated Function definition. The automation operator name that is specified
here is the name of the task in NetView.
Note that the automation operators also need to be defined in the DSIOPF member in the NetView
DSIPARM data set or in the SAF product.
By default SA z/OS provides 20 Automated Functions, AOFWRK01 through AOFWRK20, with the
automation operator names AUTWRKxx. The number can be increased according to the installation
needs.
During SA z/OS initialization or refresh the subsystems that are defined in the configuration file are evenly
distributed among the automation operators in a round-robin manner. Thus each automation operator has
a list of subsystems that it is responsible for. Each automation operator then subscribes for the messages
of those subsystems via the NetView ASSIGN command. Finally the initial monitoring of SA z/OS is run on
the appropriate automation operator, which is then locked until message AOF540I is issued.
When SA z/OS is fully initialized all messages for a subsystem are queued to the same automation
operator. This ensures that all messages are processed in the order they have been received.
If the automation table action uses standard SA z/OS capabilities (that is, SA z/OS commands), the
message is processed at the automation operator in the following three steps. However, if there is a
complete user defined automation table entry (that is, an AT override), only the first step can be run:
1. The message is driven through the NetView automation tables.
2. If there is a match, the SA z/OS data model is applied, which includes automation flag checking, code
matching, threshold comparison, pass evaluation, and message capturing.
3. Finally the command is executed or the outstanding reply is answered.
There are two places where this processing can be modified for single messages:
• The assignment of messages to AUTWRKxx automation operators can be overruled.
To do this, the AOF_ASSIGN_JOBNAME advanced automation option must be set to 0, which lets
ASSIGN BY MESSAGE ID take precedence over the ASSIGN BY JOBNAME that is established by
SA z/OS.
An ASSIGN command with the MSG parameter must be issued to redirect the message. That particular
message is then assigned according to the user specification while all other messages still run on the
automation operators that are assigned by SA z/OS. However this should be used with care because it
suspends SA z/OS load balancing and breaks the serialized command processing for that subsystem.
• Execution of the command on the automation operator that has been assigned by SA z/OS can be
overruled by specifying an Automated Function name together with the command in the MESSAGES/
USER DATA policy in the customization dialog.
Execution of the command is then routed to the task that has been specified for the Automated
Function. The automation table and data model processing is still run on the automation operator and
thus proper sequencing is guaranteed.
SA z/OS internally uses the AOFEXCMD command (described in IBM System Automation for z/OS
Programmer's Reference) to queue the command to the specified automation operator. The routine
checks whether the requested automation operator is available and, if this is not the case, it queues
the command to a backup operator, so that in any case the command does not run on the current
automation operator.
It is recommended that you use this only if there are special reasons, for example, for long running
commands, because it may break the serialized command processing for that subsystem (if not all
commands are executed on the same automation operator).
Define Relationships
The External Startup and External Shutdown fields in the sub header area show inherited data individually
in the same way as in the APPLICATION INFO policy item.
However the relationships are only inherited as a whole if no relationships are defined for the child object.
It means that on the relationship panel, it's either all inherited data or no inherited data at all. As soon
as inherited data is modified or new relationship data is added on the child level, all relationships are
considered child (instance) definitions with no relationship inheritance at all. The only way to go back to
class inheritance is to delete all the relationships on the instance level.
merged on the instance. Instead the instance has only the one command defined there. No PRESTART
commands are inherited from the class.
Automatic AT Generation
CMD (Command), REP (Reply), COD (Code), and USR (User Data) are inherited per message ID. For
example, assume a message ID has a command definition on the instance, and the same message ID is
defined for a class with reply data. The command and reply data are not merged on the instance, and the
class definitions are not inherited at all.
Messsage Overrride and Status specifications provide instructions for the generation of the AT entry.
This data is never inherited, but is used to create one AT entry for the object where they are specified.
Remember that the AT is message oriented and the AT entry usually has the message ID as a condition, so
for example, inheriting a Status would create duplicate entries.
SA z/OS expects certain return codes from all monitor routines, either from SA z/OS provided ones or from
your own routines. These can be one of the following:
RC
Meaning
0
Active
4
Starting
8
Inactive
12
Error
Note: When you write your own monitor routine, you must consider that this routine will also be executed
during initial status determination. This process occurs prior to common global variable AOFCOMPL is set
to YES and message AOF540I is issued, indicating INITIALIZATION RELATED PROCESSING HAS BEEN
COMPLETED.
Health Monitoring
Overview
Health monitoring is accomplished using special resources called monitor resources. Monitor resources,
which have a resource type MTR, are policy objects that are used to obtain the health status of
other resources, typically applications or application groups, or more generally, any object that can be
monitored. The health status is useful when you need to know how well a resource is performing and not
simply that it is active.
The health status can be used to provide application-specific performance and health monitoring
information, for example, an application may be active but it is failing to meet performance objectives
defined by the system administrator. The health status can be used either for information only, or by the
automation manager to make decisions and, if necessary, trigger automation for the application.
Monitor resources are defined in the customization dialog with entry type MTR. They are resources with
similar characteristics as all other SA z/OS resources.
Monitor resources are connected to application resources (APLs) or application group resources (APGs).
The health status of the monitored object is propagated to the APLs and APGs and results in a combined
health status there. You can define and connect MTRs in the customization dialog (see IBM System
Automation for z/OS Defining Automation Policy).
Monitor resources obtain the health status of an object in two different ways:
• Actively, by polling—that is executing a monitoring command periodically
• Passively, by processing events
Active monitors are scheduled periodically based on the interval defined in the MTR policy.
Passive monitors do not have a monitor interval but can have a monitor command defined for them for
initial health status determination. They rely on other events to set the health status using the INGMON
command.
Monitor resources can be explicitly bound to the object that they are monitoring and optionally to a job.
This allows SA z/OS to handle a variety of monitoring events in a generic way. A monitored object can
be, for example, an OMEGAMON XE situation, or an event posted by CICSPlex System Manager (CICSPlex
SM). See “Passive, Event-Based Health Monitoring” on page 40. Note that the monitored object is
derived from the monitor resource name, if none was specified.
There can be one or more recovery commands associated with each health status (NORMAL, WARNING,
MINOR, CRITICAL and FATAL). These commands are invoked by SA z/OS when the monitor resource
switches to the corresponding health status.
You can display and control monitor resources with the DISPMTR command. Monitor resources are also
displayed on the Tivoli Enterprise Portal (TEP) as well as SDF, provided that the appropriate inform list
specifications have been made.
Recovery Techniques
User data in the MESSAGES/USER DATA policy item can be used to disable additional recovery processing
while other recovery is already in progress.
In combination with the predefined keyword DISABLETIME, the recovery disable time can be specified
in the formats hh:mm:ss, mm:ss, :ss, or mm. While recovery is disabled, no commands are processed on
behalf of this monitor resource for messages and exceptions that are specified in the MESSAGES/USER
DATA policy item.
Recovery is automatically enabled after the recovery disable time has expired. Recovery can also be
enabled prematurely by calling the INGMON command with the option CLEARING=YES, for example:
In some cases, it is necessary to force increasingly strong recovery actions over a period of time. This
can be accomplished using a PASS count that starts at 1 and runs to 99. SA z/OS maintains the PASS
count individually per message or exception, and increments the PASS count each time that message or
exception is processed. Upon successful recovery, it is the installation's responsibility to reset the PASS
count. When specified with option CLEARING=YES, INGMON enables command processing for messages
and exceptions, and resets the PASS count.
The health status values affect the compound status in the automation manager.
Most monitor commands use UNKNOWN, NORMAL, and WARNING statuses. The MINOR, CRITICAL, and
FATAL statuses can be used as gradients to indicate that a problem is getting worse. BROKEN and FAILED
are statuses that describe the status of the monitor itself and may be seen if an error is encountered with
the monitor command. A health status of FATAL will trigger an application move as part of automated
recovery.
FATAL is a guaranteed automatic ForceDown, and, if available, failover for the application associated with
the monitor.
Optionally, the monitor routine can issue a message describing the condition that is trapped by the
SA z/OS process that invoked the monitor. The message can be viewed on the DISPMTR panel.
Every monitor command needs several basic steps:
1. Issue one or more commands to collect data and interrogate the results.
2. Based on the results from the command or commands, set the return code to a value from 1 through 8
and, optionally, perform processing based on that value.
3. Optionally, supply more descriptive information about the health status in a message that can be
viewed with the DISPMTR command.
4. Exit with the return code so SA z/OS can set the health status appropriately.
Figure 6 on page 40 is an example using the NetView PING command within a PIPE to query the status
of a TCP/IP stack on a remote system. The IP address is passed on input. The routine uses the average
round trip time (RTT) for the request provided in message BNH770I to determine the health.
/*REXX MYMON */
Arg parm
monrcs='BROKEN FAILED NORMAL WARNING MINOR CRITICAL FATAL DEFER'
'PIPE (STAGESEP | NAME PING)',
'| NETV PING' parm,
'| LOCATE 1.8 /BNH770I /',
'| STEM out.'
if out.0 = 0 then
lrc = wordpos('FATAL',monrcs)
else
do
parse var out.1 . 'averaging' ms 'ms' .
say 'PING lasted' ms 'ms'
select
when ms < 10 then lrc = wordpos('NORMAL',monrcs)
when ms < 20 then lrc = wordpos('WARNING',monrcs)
when ms < 30 then lrc = wordpos('MINOR',monrcs)
when ms < 40 then lrc = wordpos('CRITICAL',monrcs)
otherwise lrc = wordpos('FATAL',monrcs)
end
end
Return lrc
Overview
Passive, event-based monitoring allows you to react to events, for example a message, an OMEGAMON XE
situation, or a CICSPlex SM event, directly. In contrast to active health monitoring, SA z/OS does not have
to query the monitored object status periodically but is informed only when such an event has occurred.
The definitions in the MONITOR INFO policy item for a monitor resource allow you to define an object that
the monitor resource is bound to and optionally a job that the monitor resource accepts events from.
The Monitored Object specification for the monitor resource can follow any naming convention that might
be required for the monitoring process. For example, for CICS monitoring it has the prefix CPSM, followed
by the CICS name, the type (such as a connection), and the name. For a link called CT12, the monitored
object is called as follows, for example:
CPSM.CICSTOR1.CONNECT.CT12.
Whereas for monitoring OMEGAMON XE situations, it has the prefix ITM, followed by the situation name,
for example: ITM.MYAUXSHORTAGE_WARN.
There can be only one monitored object per monitor resource but more than one monitor resource can be
bound to a monitored object, for example, several IMS monitors might specify OLDS as an object.
You can also optionally specify the Monitored Jobname that a monitor resource accepts events from.
Thus, for example in the case of IMS monitor resources, you might specify a job name of IMS1 for monitor
resource MTR1 and IMS2 for MTR2. If an event arrives for OLDS and the issuer is IMS1 only MTR1 is
affected.
Event Types
In the simplest case, an event is represented by a plain message issued by a job. All monitor resources
that register for a particular message accept this message unless you also specified the monitored job
name.
In other cases, for example for OMEGAMON XE situations or events reported by CICSPlex SM, the event
is represented by a triggering message provided by SA z/OS for the purpose of health monitoring only.
This message, ING150I, that contains the monitored object name or the job can then be used by SA z/OS
to locate the monitor resource and to set the health status or issue commands. This allows SA z/OS to
handle a variety of monitoring events.
INGMON, the command that is responsible for health monitoring, is invoked from the NetView®
automation table whenever ING150I or any other message a monitor resource has registered for is
issued. It locates the monitor resource for a given monitored object or job and then looks up the code
match table for the health status or commands, or both, that should be issued whenever the triggering
event occurs.
Programming Techniques
Commands that are called by INGMON have access to the message that triggered the invocation using the
NetView SAFE, AOFMSAFE, for example:
In addition, INGMON fills the task global variables &EHKVAR0, &EHKVAR1–9, and &EHKVART with
tokens that are derived from the message or exception that INGMON was invoked by. For messages,
the assignment starts with the message ID, and for exceptions, it starts with the exception ID.
INGMON also sets the following task global variables:
&SUBSAPPL
Contains the monitor name.
&SUBSTYPE
Contains the string MONITOR.
&SUBSDESC
Contains the description of the monitor resource.
The following examples illustrate how message and exception tokens are assigned to these task global
variables.
Example 1:
Example 2:
When defining commands to be issued by the INGMON command, the &EHKVARx variables can be used
to be replaced by the corresponding tokens of the message or exception.
When INGMON looks up the monitor resource for a given monitored object or job name, or both, it is
possible to skip monitor resource processing dynamically through a user-specified REXX expression. In
the absence of such a REXX expression, INGMON locates the monitor resource with the given monitored
object name for the job that issued the message and proceeds with health status setting and commands
as defined in the automation policy. By adding a REXX expression to the User Defined Data panel within
the MESSAGES/USER DATA policy item for the automated message, further processing can be disabled
depending on the result of this REXX expression.
To do this, the predefined keyword INGMON_FUNCTION is specified as a keyword and an arbitrary
REXX expression is defined as the value in the User Data Processing panel. If the result of the REXX
expression is false (that is, 0), processing is stopped, otherwise INGMON processing continues. The
following example for the message ID MYMTR controls monitor resource processing, based on the day
of week that is defined in the common global variable DAY_OF_WEEK. (processing continues only if the
current day is not a Sunday):
When a monitor resource is defined with a monitor command but without an interval, the initial health
status of such a passive monitor resource is obtained at monitor resource start time only. Any other health
status update must be derived from events that the monitor resource has registered for.
It is however possible to issue the monitor command at any point in time by executing the command
AOFRCMTR. This command expects the monitored object name and optionally a job name as parameters.
It locates the corresponding monitor resource and, if specified, issues the monitor command.
See IBM System Automation for z/OS Programmer's Reference for the syntax of AOFRCMTR.
Overview
The SA z/OS OMEGAMON interface lets you gather a wide range of performance data on a system. You
can gather data from the following performance monitoring products:
• IBM OMEGAMON for z/OS
• IBM OMEGAMON for CICS on z/OS
• IBM OMEGAMON for IMS on z/OS
• IBM Tivoli OMEGAMON XE for DB2 Performance Expert on z/OS
• Other IBM Tivoli Monitoring products running on z/OS
Exception analysis is an OMEGAMON classic feature that monitors predefined thresholds in a system.
Each time exception analysis is invoked, an exception is displayed on the OMEGAMON console if a
threshold is exceeded. Using SA z/OS, you can then act on these exception alerts by running execs or
issuing commands, including issuing commands back to the host OMEGAMON.
Situations are much like exceptions but they are based on a combination of logical expressions and even
on the status of other embedded situations. Each product based on the IBM Monitoring infrastructure,
such as IBM OMEGAMON, provides a set of predefined situations that you can use as is, or modify
as you wish. You can also create your own situations to tailor the monitoring to your specific needs.
Situations are edited and displayed on the Tivoli Enterprise Portal (TEP). Using a TEP function called
Reflex Automation, you can inform SA z/OS about a particular situation and then act upon it.
IBM Monitoring services also allow you to interact with each and every product based on this
infrastructure through a standardized SOAP services interface on the Tivoli Enterprise Monitoring Server
(TEMS). SOAP services exist, for example, to obtain data from a particular object collected by IBM
OMEGAMON for z/OS (formerly IBM Tivoli OMEGAMON XE on z/OS). Other services allow you to
automatically manage situations and TEP workflow policies, or to send universal messages to the
universal message console.
Assumptions
Various topologies are possible for SA z/OS with IBM OMEGAMON classic monitors and IBM Tivoli
Monitoring products such as OMEGAMON XE:
• There can be one or more monitoring product per system
• Connectivity is through VTAM® and the NetView Terminal Access Facility (TAF) for OMEGAMON classic
monitors and through TCP/IP for OMEGAMON XE
• A TEMS SOAP Server is running locally, on a remote system or on a distributed system
• SA z/OS can act as a focal point either:
– Globally, monitoring data from monitoring products running on different systems
– Locally, monitoring data from monitoring products running on the local system
The following assumptions are made about the topologies that can be adopted for interaction with
OMEGAMON classic monitors:
1. The OMEGAMON product is installed on each system where MVS and CICS, DB2, or IMS is installed.
2. OMEGAMON monitors are installed and configured already to support multiple VTAM-based
connections to it. For interoperability with SA z/OS, logical units of type 3270 model 2 (24x80) are
required.
3. OMEGAMON monitors are setup to interact with an external security product such as IBM SecureWay
Security Server for z/OS (formerly RACF®).
4. OMEGAMON exceptions are reported when the threshold that is defined in OMEGAMON is exceeded.
That threshold must be agreed within an installation because it must cater for the least severe
condition that there might be an alert for.
The following assumption is made regarding the interaction with OMEGAMON XE:
1. Reflex automation is executed on the OMEGAMON XE agent that created the corresponding situation
event
OMEGAMON Interaction
The following subsections assume that, for OMEGAMON classic monitors interaction, you have defined
one or more OMEGAMON sessions and automated functions that are designated to handle network
communication using the SA z/OS customization dialog.
For details on defining OMEGAMON sessions, refer to the OMEGAMON SESSIONS and AUTHENTICATION
policy items in the Network (NTW) entry type and to the OPERATORS policy in the Auto Operators (AOP)
entry type described in IBM System Automation for z/OS Defining Automation Policy.
For OMEGAMON XE interaction using SOAP services you have to specify each SOAP server in the
automation policy that you want to connect to. For details on defining SOAP servers, refer to the SOAP
SERVER policy item in the Network (NTW) entry type described in IBM System Automation for z/OS
Defining Automation Policy.
INGOMX EXECUTE,NAME=OMSY4MVS,CMD=CSAA
| IPXNG CSAA
SUMMARY
| IPXNG
+
| IPXNG +
System
| IPXNG + Maximum Pre-CSAA Orphan
Usage
| IPXNG + ------- -------- -------
---------------0___2___4___6___8___100
| IPXNG + CSA 3312K 1247K 0 1247K 37.6%|------>
|
| IPXNG + ECSA 307740K 78797K 0 78797K 25.6%|---->
|
| IPXNG + SQA 1620K 660K 0 660K 40.8%|------->
|
| IPXNG + ESQA 145696K 23930K 0 23930K 16.4%|-->
|
INGOMX EXECUTE,NAME=OMSY4MVS,CMD=ALLJ,MOD=#
| IPXNG #ALLJ 166
INGOMX EXECUTE,NAME=OMSY4MVS,CMD=ALLJ,MOD=<
| IPXNG <ALLJ *MASTER* PCAUTH RASP TRACE DUMPSRV XCFAS GRS
SMSPDSE+
| IPXNG + CONSOLE WLM ANTMAIN ANTAS000 OMVS IEFSCHAS JESXCF
ALLOCAS+
| IPXNG ...
INGOMX TRAP,NAME=OMSY4MVS,XTYPE=(XREP)
| IPXNG + XREP Number of Outstanding Replies = 5
/* REXX-Routine EXMINOR
*/
cmd.1 = "CMD=SYS" /* Major command, issued ahead of its minors */
cmd.2 = "CMD=FCSA" /* Minor: CSA frames below 16M */
cmd.3 = "CMD=FCOM" /* Minor: CSA, LPA, SQA, and nucleus below 16M */
cmd.0 = 3
'PIPE STEM cmd. COLLECT',
'| NETV INGOMX EXECUTE,NAME=OMSY4MVS,CMD=*',
'| CONSOLE ONLY'
* IPXNG EXMINOR
| IPXNG SYS >> WLM Goal mode OPT=00 SYSRES=(150526,8812) <<
| IPXNG fcsa 328 1312 K
| IPXNG fcom 849 3396 K
There is no need to explicitly establish a session between an operator and a particular OMEGAMON
monitor before using INGOMX; such sessions are established automatically on their first use.
Selective protection of individual OMEGAMON sessions and commands, or both, is possible based
on the NetView Command Authorization Table. Details can be found in the appendix, "Security and
Authorization", in IBM System Automation for z/OS Planning and Installation.
To use a SOAP service, for example to obtain certain attributes from an OMEGAMON XE object, you
first have to describe the request's parameters in the form of an XML document. The XML document is
validated and rejected by the SOAP server if it is found to be incorrect or incomplete. The spelling of
the names enclosed in '<' and '>' is significant because XML is a case-sensitive document description
language. Also, because the structure of every XML document is hierarchical, each element must be
enclosed by an opening name (for example, '<CT_Get>') and a corresponding closing name denoted by a
forward slash preceding the name (for example, '</CT_Get>').
The following is an example that describes the request parameters to retrieve the Job_Name, the
address space ID (ASID), and the CPU_Percent attributes from the OMEGAMON XE for z/OS object,
Address_Space_CPU_Utilization, for all jobs with a CPU percentage greater than 1.0. In this example, the
object that has been queried is collected on the TEMS called KEYAS:CMS.
<CT_Get>
<target>KEYAS:CMS</target>
<object>Address_Space_CPU_Utilization</object>
<attribute>Job_Name</attribute>
<attribute>ASID</attribute>
<attribute>CPU_Percent</attribute>
<afilter>CPU_Percent;GT;10</afilter>
</CT_Get>
You can pass this XML document either by pointing INGOMX to a sequential or partitioned data set, or in
the default SAFE, assuming INGOMX is invoked in a NetView PIPE.
When INGOMX is invoked, the SOAP server that is connected to must be specified. In the following
example, it is assumed that you have defined a SOAP server called KEYAYA in the SOAP SERVER policy
item of the Network (NTW) entry type using the SA z/OS customization dialog. This definition includes
the host name or IP address, the SOAP server's port and the path name of the SOAP service. The
request parameters as shown above are located in the member GETCPU in the partitioned data set
SYS1.SOAP.DATA:
soapds = 'SYS1.SOAP.DATA(GETCPU)'
soapsrv = 'KEYAYA'
Address NETVASIS 'PIPE (END % NAME GETCPU)',
On the successful return of INGOMX, the output of the SOAP server is returned in the multiline ING160I
message:
The first row of this message documents the IP address of the SOAP server that responded, that is,
KEYAYA in the example (IP address anonymized).
The second row describes the names of the attributes returned by the SOAP server. The attribute names
are separated from each other by the non-printable character X'FF' (represented by a :).
The third and all following rows contain the actual data that has been requested. The attribute values are
presented in the same sequence as the corresponding attribute names in the second row. Also, like the
attribute names, the attribute values are separated from each other by the non-printable character X'FF'
(represented by a :).
The tabular structure of this message allows you to easily process it in a NetView PIPE.
If no exception matches the XTYPE filter that is provided by the caller, INGMTRAP creates a ING081I
message that is not exposed to NetView but written to the monitor resource's log to document that no
exception has been found. For example:
INGMTRAP can only be used as a monitor command. This means that it has to be specified directly as
a monitor command in the definition of a monitor resource, or it has to be called on behalf of such a
monitor command. The following example illustrates what you need to specify on the MONITOR INFO
policy in entry type monitor resource (MTR) in order to trap outstanding operator replies that are reported
by OMEGAMON for MVS session OMSY4MVS:
INGMTRAP NAME=OMSY4MVS,XTYPE=(XREP)
Be careful when specifying a list of exceptions: each exception may cause an ING080I message to be
issued. Because each occurrence of an ING080I message triggers health status processing of the monitor
resource, make sure you understand the impact that this may have on the monitor resource's final health
status.
For more details about INGMTRAP refer to IBM System Automation for z/OS Programmer's Reference.
For more details about defining monitor resources, refer to IBM System Automation for z/OS Defining
Automation Policy.
Example Scenario
To illustrate how SA z/OS and OMEGAMON operate together, consider the following scenario.
Suppose there is a DB2 application that should be continuously monitored. Of particular
interest is the availability of primary active logs. The LOGN exception indicates that fewer
primary active logs exist than specified by the respective threshold value. This is considered a
critical health indicator because it can cause a DB2 hang situation if the last primary active log
becomes 100% full. Such a situation can only be resolved by making one or more additional
primary active logs available again.
In order to monitor this situation and react accordingly, the automation policy has to be changed. First,
define the session attributes for the OMEGAMON for DB2 monitor, if they do not yet exist, to be able to
establish a VTAM connection. The OMEGAMON session is referred to by its session name. Then review
the number of session operators (automation operators) that are started to handle the VTAM session
traffic and add an additional one if a higher degree of parallelism is required. You need to ensure that the
number of session operators and predefined NetView tasks are identical.
Next, add a new monitor resource (MTR) that periodically requests exception information from this
OMEGAMON session. Add the MTR by means of a HasParent relationship to the DB2 subsystem to be
monitored. This ensures that the MTR is activated when the DB2 subsystem is started, and deactivated
when the DB2 subsystem is stopped. Also define the MTR via a HasMonitor relationship to the DB2
subsystem to ensure that the monitor's health status can be propagated to the application.
While the MTR is active, it uses the monitor command, INGMTRAP, to gather OMEGAMON exceptions that
currently exist, based on the thresholds that are defined in the OMEGAMON for DB2 installation profile.
INGMTRAP analyses all exceptions returned by OMEGAMON and filters out those exceptions that the
MTR is interested in, in this example, LOGN. SA z/OS subsequently issues message ING080I to initiate
exception processing.
Finally, also add a new rule to the NetView automation table (using the SA z/OS policy) that executes a
REXX automation procedure to add a new log data set to the pool of primary active data sets whenever
the LOGN exception is reported and the health status is CRITICAL (6). The MTR's health status is
considered CRITICAL if the number of available primary active logs is equal to 1. If the LOGN exception
is reported again in the next monitor interval, a second rule in the automation table sets the MTR's health
status to FATAL (7), which triggers an application move because normal recovery handling doesn't
seem to work anymore. In addition, an alert is sent to the operator to inform him about this situation. If
the LOGN exception is no longer reported, the MTR's health status is set to NORMAL (3).
The health status assigned to the MTR by means of the automation table is propagated to the DB2
application that owns this MTR. Thus, you can see at a glance whether the DB2 subsystem is okay or not.
Recommendations
You should consider the following recommendations when using OMEGAMON in combination with
monitor resources:
• Avoid monitoring multiple exceptions using INGMTRAP. Note that there can be more than one exception
that may trip and thus multiple ING080I messages may be generated. The monitor resource's health
status, however, depends on the last ING080I message.
• Avoid setting different health statuses for the same exception that is monitored by different monitor
resources using INGMTRAP. Note that only one automation table entry is generated by SA z/OS to
process message ING080I for such an exception.
In these cases, the use of INGOMX, invoked from an installation-written monitor command, to determine
a combined health status from multiple exceptions or to determine an individual health status for each
monitor resource, is preferred to using INGMTRAP.
Overview
Unlike the exception-based monitoring that SA z/OS uses for classic OMEGAMON monitors, the IBM
Monitoring infrastructure provides the means to react to situations whenever they occur. On the Tivoli
Enterprise Portal (TEP), a user can specify what kind of automated response (reflex automation) should
be triggered for each individual situation.
SA z/OS makes use of this capability by providing a simple command called INGSIT. The ITM
administrator enters this command on the TEP with the Situation Editor dialog for those situations where
SA z/OS health monitoring or health-based automation should take place. For more details about INGSIT
refer to IBM System Automation for z/OS Programmer's Reference.
The Take Action command is carried out on the agent, for example, OMEGAMON XE for z/OS, and not
the Tivoli Enterprise Monitoring Server (TEMS) unless the TEMS is running on the same system. This
is because it is possible that the hub TEMS may not reside on z/OS and so the command may not be
delivered.
INGSIT triggers message ING150I that allows you to set the health status of individual monitor
resources. It is then possible to issue commands, such as recovery or notification commands, to
automatically fix the situation. You can specify what the health status is and what associated commands
are issued in the customization dialog.
Procedure
To set up the monitor resources for OMEGAMON XE Situations:
1. Define one MTR for each OMEGAMON XE situation that you want to respond to.
2. In the MONITOR INFO policy item fill in the following fields:
Monitored Object
Enter the name of the OMEGAMON XE situation in uppercase with a prefix of ITM, for example,
ITM.MYSIT
Monitored Jobname
Enter an optional job name to match this situation to a particular monitor resource.
3. Define codes for the message ID ING150I in the MESSAGE/USER DATA policy of the MTR to yield the
commands that are to be issued and to map the severity to a valid health status.
Example Scenario
Consider the following scenario:
The PAGEADD command is to be issued when an auxiliary storage shortage is detected, based
on page data set utilization and page data sets that are not operational.
A situation called MyAuxShortage_Warn is defined by the installation that is true when both predefined
situations OS390_Local_PageDS_PctFull_Warn and OS390_PageDSNotOperational_Warn are true.
As reflex automation, the following system command is issued on the managed system, that is, the
system that produced the situations:
F NETV,INGSIT MyAuxShortage_Warn,warn
INGSIT is called and produces an ING150I message, which contains the situation name that is mapped to
the monitored object. Other optional information includes:
• The severity of the situation
• A job name that matches this situation to a particular monitor resource
• Other data that contains information related to the event
In this example, the situation, MyAuxShortage_Warn, and its severity, warn, are included.
Using the customization dialog, a monitor resource, for example, AUXSHORT, is created that specifies
ITM.MYAUXSHORTAGE_WARN (in uppercase) as its monitored object.
ING150I is then specified in the MESSAGE/USER DATA policy item of the AUXSHORT monitor resource. In
this example, the following code entry could be used to derive selection ADD and set the health status to
MINOR:
In addition, one or more commands can be specified for ING150I for the selection that resulted from
code match processing. In the example above, the PAGEADD command would be specified for selection
ADD.
After executing all the commands that have been specified in the Command Processing panel for the
selection, the health status that was mapped in the code processing is set (in this example, it was
MINOR). Note that if no health status was specified in the code match table, it remains unchanged.
In a more sophisticated extension of this scenario, the situation, MyAuxShortage_Warn, as shown on
the TEP is automatically acknowledged using SOAP services. To do this, a small request parameter
XML-document must be created and sent to the TEMS SOAP server for processing. To acknowledge a
situation, a CT_Acknowledge request must be issued as shown in the following example:
<CT_Acknowledge>
<target>KEYAS:CMS</target>
<name>MyAuxShortage_Warn</name>
<source>KEYAPLEX:SYS1:MVSSYS</source>
<data>System Automation is taking care of this</data>
</CT_Acknowledge>
The XML-document above references the TEMS that manages the situation (target), the situation itself
(name), and the so-called monitoring agent (source) that is the source of this situation. With the data-
element, you can pass any additional textual information to the person that is looking into this situation
on the TEP.
As described in “OMEGAMON Interaction” on page 44, INGOMX is used to issue the SOAP request to the
TEMS SOAP server. Once the situation has been acknowledged, it can be recognized as such on the TEP's
situation event console or navigator flyover list.
Component Overview
Event-based CICS link and health monitoring is implemented using CICSPlex System Manager (CICSPlex
SM) objects. Whenever an event is received from CICSPlex SM, message ING150I is issued.
INGCPSM is the event listener for CICSPlex SM. Because it is a long-running automation procedure it
needs to be run in a virtual operator station task (VOST). It scans the configuration on startup and listens
for events. It then periodically checks whether the configuration has changed (that is, monitor resources
have been added, deleted, or changed, etc.) or monitor resources are waiting for initial monitoring (that is,
they have STATUS=ACTIVE and HEALTH=UNKNOWN).
Procedure
To set up the monitor resources:
1. Define one MTR for each CPSM object (for example, each connection).
2. Fill in the Monitored Object field in the MONITOR INFO policy item according to the naming
conventions, for example, CPSM.CICS1TOR.CONNECT.CON1
Results
Refer to the *CICS add-on policy for sample definitions to monitor the connection between two CICS
resources.
Issue one recovery command every minute. The commands are read from the JES3 SPOOLSHORT
CMDS policy of the JES3 subsystem. When the spool usage goes down to 60% or less, the health
status goes to NORMAL. This causes the invocation of the AOFRJ3RC command but now with the
RESET option - the RESET option stops recovery. It is recommended that you use JESOPER as the
auto-operator for the recovery commands. Note, that the recovery commands for the SPOOLSHORT
condition must be defined for the JES3 subsystem.
5. For the JES3 subsystem, define the necessary actions that should be performed for SPOOLSHORT in
the JES3 SPOOLSHORT CMDS policy:
This purges all jobs from the hold queue that are older than 30 days in the first pass. On pass 2, all jobs
older than 10 days are purged. On pass 3 all jobs older than 3 days are purged. Finally, after 10 times
the pass interval (in our example 5 minutes), all jobs older than 1 day are deleted if the recovery action
is not reset in the meantime.
AOFRJ3MN Routine
Use this routine to monitor various objects in a JES3 environment.
The following objects can be monitored:
• MDS queues (Fetch queue, Verify queue, Wait volume queue, Error queue, Allocation queue, Breakdown
queue, Unavailable queue, Restart queue, System select queue, System verify queue)
• Current setup depth
• Spool space
For each of the 10 JES3 MDS queues, thresholds may be set for each of the 4 health statuses (Warning,
Minor, Critical and Fatal) indicating the number of jobs that particular queue may contain causing to set
the corresponding health status. If, for example, the WARNING threshold for the Error queue is set to 5, if
5 or more jobs are pending on the MDS Error queue, the health status is set to Warning.
For the spool space the thresholds define the amount of used space that when exceeded causes to set
the corresponding health status.
Whenever AOFRJ3MN is called, it issues the appropriate JES3 command (*I,Q,S for SPOOLSHORT and
*I,S for the MDS queues) and parses the response. The value extracted from the message text is
compared with the thresholds and then the return code is set to the corresponding health status. This
simply sets the health status of the Monitor resource (MTR). No recovery action is taken by AOFRJ3MN
routine. Use the HEALTHSTATE policy of the Monitor resource to define a recovery action for each health
status, if necessary.
The syntax of the AOFRJ3MN routine is as follows:
object
MDSCOUNTQ
MDSCOUNTF
MDSCOUNTV
MDSCOUNTW
MDSCOUNTE
MDSCOUNTA
MDSCOUNTB
MDSCOUNTU
MDSCOUNTR
MDSCOUNTSS
MDSCOUNTSV
SPOOLSHORT
threshold-list
warning ,minor ,critical ,fatal
jes3apl
Specifies the name of an APL of category JES3 for which this monitor works.
monitor
Specifies the JES3 object to be monitored:
MDSCOUNTQ
Current setup depth
MDSCOUNTF
Fetch queue
MDSCOUNTV
Verify queue
MDSCOUNTW
Wait volume queue
MDSCOUNTE
Error queue
MDSCOUNTA
Allocation queue
MDSCOUNTB
Breakdown queue
MDSCOUNTU
Unavailable queue
MDSCOUNTR
restart queue
MDSCOUNTSS
System select queue
MDSCOUNTSV
System verify queue
SPOOLSHORT
Spool
threshold-list
Specifies a list of four threshold values separated by commas:
warning
Set health status to WARNING if this value is exceeded
minor
Set health status to MINOR if this value is exceeded
critical
Set health status to CRITICAL if this value is exceeded
fatal
Set health status to FATAL if this value is exceeded
If warning is not exceeded the health status is set to NORMAL.
Note that for SPOOLSHORT the values are in percent but for the MDS queues they are absolute
numbers. No value checking is done by AOFRJ3MN except for whole numbers.
Note also that the thresholds are tested from FATAL to WARNING. So if you want to go directly from
NORMAL to FATAL, you could specify 50,50,50,50
AOFRJ3RC Routine
This routine performs the recovery action against a monitored object in a JES3 environment.
When AOFRJ3RC is called, it checks whether the system that it is running that holds the JES3 global
processor. If not AOFRJ3RC terminates without any further action.
The syntax of the AOFRJ3RC routine is as follows:
RESET
jes3apl
Specifies the name of an APL of category JES3.
msg-type
Specifies the message type within the given JES3 APL that the recovery commands are to be read
from:
pass-interval
Specifies the time interval that AOFRJ3RC should wait before executing the next pass. The format
is in NetView notation ( mm, hh:mm, hh:mm:ss or :ss).
RESET
If RESET is specified AOFRJ3RC stops the recovery.
AOFRJ3RC looks into the MESSAGE/USER DATA policy definition of the specified JES3 APL. It issues
the command that is defined for PASS1 of the given message type. As long as there are commands in
higher passes it sets up a NetView timer that re-calls AOFRJ3RC after the given pass interval. Whenever
AOFRJ3RC is executed the command that is defined for the next pass is issued as long as one exists.
If RESET is specified instead of a pass interval any pending timer is killed and processing stops.
The return code is always zero.
Note: AOFRJ3RC issues the recovery commands in a fire-and-forget manner. It does not check whether
the recovery action has the desired result. This is done by the monitor. After one or more monitor
intervals the health status changes to a less severe one if the recovery shows an effect. If you want
to stop recovery actions when the health status returns to NORMAL, for example, you have to code a
HEALTHSTATE command that calls AOFRJ3RC with RESET.
Overview
Job Log Monitoring is designed to monitor JES spool files only. The current implementation supports any
JES spool output file regardless of whether the job is executing or the job has finished. However, in the
latter case the output must still be available on the JES output queue and the user has to ensure that the
output is processed only once.
To use joblog monitoring, NetView must have a JES job ID. If the user enables the DSIRQJOB task,
the JES job ID can be obtained by starting the DSIRQJOB. If the user disables the DSIRQJOB task, the
INGTJLM task will automatically acquire a JES job ID as needed when joblog monitoring is started. Before
any attempted shutdowns of JES in both cases, the user must ensure that the job ID is released by
stopping either the DSIRQJOB or INGTJLM task, whichever they have employed (refer to the best practice
policies for SA's recommended approach). Alternatively, refer to Starting the NetView Program Before
Starting JES topic in the NetView Installation: Getting Started manual. This topic explains how to use the
NetView MVS Command Revision function to stop the DSIRQJOB job when JES ends abnormally or is
stopped by a user from the command line.
The monitoring function is controlled by SA z/OS based on the definitions of the customization dialog.
Monitoring is automatically started when the job reaches a status of UP, ACTIVE, or RUNNING. If your
job was already active at the time you specified the Job Log Monitoring definitions in the customization
dialogs, then this job must be restarted in order to start Job Log Monitoring for it. However, you can
monitor jobs that are not controlled by SA z/OS with the following restrictions:
1. You cannot specify any filter criteria to limit the data that is passed to automation. This means any line
of data except an empty line that is generally excluded is forwarded to the message automation.
2. The message that is forwarded to message automation is always queued to the autotask LOGOPER.
For SA z/OS controlled jobs those messages are queued to the autotask that is responsible for the job
in view of SA z/OS.
3. You need to start the monitoring manually by using the command INGJLM START. Required
parameters are the job name and the monitoring interval. In case you want to monitor a data set
other than the default data set JESMSGLG you also need to specify the appropriate ddname. The
specifications of the owner or the job ID are necessary only when multiple jobs with the same job
name exist. This could be the case when the job already ended and the output is held on the output
queue. In this case, it is your responsibility that the job is monitored only once.
4. You need to qualify the ddname by the step name if you do not want to monitor a spool file of the last
step in a multi-step job when the ddname is specified multiple times. In case the step name is not
unique in an in-stream procedure you need to qualify the ddname by the procedure step name as well.
You can stop the monitoring function for a particular job at any time using the command INGJLM
STOP even for SA z/OS controlled jobs. Normally, the monitoring is automatically stopped when the
job has ended. For SA z/OS controlled jobs this is done when the job reaches a termination status like
AUTOTERM, ENDING, and so on. For non-SA z/OS controlled jobs the monitoring is automatically stopped
when the job has ended and the monitoring interval has expired twice.
The monitoring task can be suspended for an indefinite time frame using the command INGJLM
SUSPEND. The accumulated output of all monitored jobs is processed not before the task has been
restarted. The output of jobs that have finished in the meantime is lost unless the output is still held on
the JES output queue. Jobs that have been started after the task was suspended will not be monitored
after the task has been restarted. To restart the task, use the NetView command START TASK=INGTJLM.
The monitoring task can be instructed to continue its monitoring after NetView has been recycled. To do
so, issue the command INGJLM RECYCLE RESUME at any time when the task is active. Note that you need
Limitations
1. Executing SA z/OS controlled jobs that are running less than two seconds are probably not monitored.
One reason is that the automation does not find the job active any longer. Or, JES has deallocated
the resource before the monitoring task could allocate it. The latter case is also true for non-SA z/OS
controlled jobs when the output is not held on the JES output queue after the job ended. In any case,
specify a message class when starting the job that leaves the output on the JES output queue and
trigger the monitoring manually.
2. The monitoring function is limited to the primary subsystems JES2 and JES3.
3. Dynamically allocated spool output data sets are not supported.
4. When the NetView task DSIRQJOB is defined, Job Log Monitoring waits for receiving the JES job ID by
DSIRQJOB. Without the job ID, a spool data set cannot be accessed. If DSIRQJOB is not defined, the
job ID is obtained by Job Log Monitoring and returned to JES when the monitoring task terminates.
If DSIRQJOB is terminated in a JES2 environment, the monitoring task is automatically suspended
because the job ID is returned to JES2. And the monitoring task is automatically restarted after
DSIRQJOB is restarted.
In a JES3 environment, DSIRQJOB does not return the job ID on termination. For this reason, the
monitoring task is not terminated. However, if for whatever reason the job ID is returned to JES3, the
monitoring task is automatically suspended but needs to be restarted manually when a new job ID is
received.
Customization
For SA z/OS controlled jobs, you have to define the monitoring interval, the messages and data sets
to be monitored for each job in the customization dialog. The main definition that actually initiates the
Figure 8. ISPF dialog defining the Job Log Monitoring for an application
Dedicated messages that should be automated must be defined by specifying the offset of the message
ID within a single line and optionally one or more tokens making the message unique. An offset value
of 0 indicates a message without a particular ID. In this case at least one token pair must be defined to
identify the message. In case all messages are relevant and should be automated the common message
ID value JOBLOGALL is to be specified. This ID does not require any further user data specification.
However, the dialog will not generate an ACF fragment unless the message ID has attached any of the
definitions "S", "C", "R", "K", or "U". For this reason, the user data keyword/value pair JLM_OFFSET=NO is
required.
Figure 9. ISPF dialog defining the Job Log Monitoring of all JESMSGLG messages (1/3)
Figure 10. ISPF dialog defining the Job Log Monitoring of all JESMSGLG messages (2/3)
When specific messages should be monitored, the keyword JLM_OFFSET must define the actual offset of
the message ID in the corresponding SYSOUT data set. For the JESMSGLG data set, the offset of all text
begins at a specific column:
JES2 environment
The text begins at column 20 regardless of whether it is a multi-line message or the message text is
wrapped because it is longer than 126 characters (including the 19-byte prefix). Follow-on lines of a
multi-line message show the console ID of the multi-line message at column 4. Wrapped message text
shows blanks in the first 19 columns. Thus, trapping tokens of such messages requires the knowledge
of the exact position of each token. The first two tokens of the first line of each message are the time
and the job ID.
JES3 environment
The text begins at column 12 regardless of whether it is a multi-line message or the message text is
wrapped because it is longer than 126 characters (including the 11-byte prefix). The first token of each
message is always the time.
In case you want to monitor data sets other than the JESMSGLG data set you need to qualify your
message definition(s). The following sample shows you that the SYSOUT data sets referenced by the
ddname AAAZOUT and SYSPRINT pass every message to automation.
Figure 12. ISPF dialog defining the Job Log Monitoring of specific messages
The next example shows you the monitoring definitions of a multi-step job. All messages of the job steps
STEP1 and STEP3 that are written to the ddname SYSPRINT are passed to automation. But, messages of
STEP2 written to SYSPRINT are ignored.
Figure 13. ISPF dialog defining the Job Log Monitoring of specific messages of a multi-step job
The following example shows you how to define a filter criteria that is not associated with a message.
You still need to define a "dummy" message ID as an anchor. All lines of the sysout data set defined by
ddname AAAZOUT whose first token has the value ’Name’ are passed to automation.
Figure 14. ISPF dialog defining the Job Log Monitoring of a non-message print line (1/2)
Figure 15. ISPF dialog defining the Job Log Monitoring of a non-message print line (2/2)
The build process will automatically generate the following common MAT entry for automating the
message INGY1300I but only for SA z/OS controlled jobs:
Figure 16. Common MAT entry for message INGY1300I and jobs defining a message ID for monitoring
This just needs the definition of the command(s) that should be executed on behalf of the message ID, for
example:
Figure 17. ISPF dialog defining the Job Log Monitoring of all JESMSGLG messages (3/3)
Note that the message INGY1300I is a multi-line message. The first line is the label line that provides the
following tokens OWNER, JOBNAME, JOBID, DDNAME, MSGID in the sequence as shown. The latter token
is exactly the message ID that you have specified on the 'Message Processing' dialog. Each subsequent
line represents a line of the original message.
If you want to monitor jobs that are not defined in the policy or that are defined in the policy but do not
have a message ID defined for monitoring you need to manually adjust the existing, predefined AT entry
(create an AT override) like the following:
Figure 18. Common MAT entry for message INGY1300I and jobs without defining a message ID for
monitoring
In both cases, you have to start the monitoring manually. And, since no filter criteria are defined all
messages are passed to automation.
Note: When you use the NetView PIPE stage SAFE for retrieving the message, you will find the message in
the default safe.
$D JOBCLASS(STC),LOG
must show the value YES for the parameter LOG. In a JES3 environment the command
*I,STD
must now show the value NOSTC for the parameter JESMSG. And, the command
*I,C=x
must not show the value NOLOG for the parameter JESMSG where 'x' is the class that is assigned to the
started task jobs.
When Job Log Monitoring detects that a particular data set has been spun off by JES it issues the message
INGY1333I after it has finished its processing of the data set. The message informs you that the particular
spool data can be released now. For example, the job name or the job identifier along with the SYSOUT
identifier of the message can be used to purge the data set:
JES2: $P O JQ(jnm|jid),OUTGRP=soid
JES3: *F,U,J=jnm|jid,DSN=...soid,CANCEL
Note that 'jid' is just the numerical part of the job identifier.
If the SYSOUT identifier is not present in the message the task could not determine the value.
The message INGY1306I indicates that monitoring has been stopped for a particular ddname and all
corresponding spool data sets can be released.
Status Information
The command INGJLM STATUS which can also be issued in a NetView PIPE returns the current status of
the monitoring task and its monitored data sets:
Overview
The alert-based notification service of SA z/OS allows alerts to be sent to operators or system
programmers for predefined situations.
You can also customize when to issue alerts, if desired, using the customization dialog and the INGALERT
utility. Alerts can only be issued for applications (APL), monitor resources (MTR), application groups
(APG), and MVS components.
An alert is a set of information that is collected and sent by an SA z/OS automation agent to a target for
notification processing. The information that is sent consists of the text that is to be forwarded to the
alerted person or group. This information is supplemented by additional options that determine in detail
the processing at the different kinds of notification targets.
In SA z/OS there are several predefined alert points that trigger alerts whenever a command encounters a
problem situation, such as a resource becoming degraded or not being up within a given time interval.
Alerting can be enabled or disabled at various levels:
• Globally using the INGCNTL command
• Resource-specific using the resource's Inform List
• Alert-specific using code definitions for the message ID INGALERT
Communication Flow
Figure 20 on page 68 outlines the communication between the automation manager and the automation
agents.
The automation agents on the systems in the sysplex subscribe to the automation manager to be alerted
about problems with system or sysplex application groups (APGs). This is because the automation
manager cannot itself send alerts to the notification targets. Whenever the automation manager detects a
problem with an APG it sends an alert to the subscribed automation agents (one in case of a system APG,
and all in case of a sysplex APG). Any alerts for sysplex APGs are handled by only one automation agent in
the sysplex.
The automation agents can also receive alerts for applications, application groups, or monitor resources
via the INGALERT command. If the affected resource is managed by a different automation agent, the
request is passed on. The automation agent that manages the resource sends the alert to the notification
target. If, for whatever reason, this automation agent cannot send the alert, it passes on the request to
the next automation agent in the sysplex. This can happen several times until the alert is successfully sent
or no more automation agents are available.
For each alert, the automation agent connects to a notification target, sends the alert and then
disconnects. The automation agent does not maintain a permanent connection to the SA IOM server.
Enabling Alerting
By default alerting is not enabled. To activate it you must perform setup actions in both SA z/OS and
notification target.
Setup in SA z/OS
You can turn alerting on or off at three different levels in SA z/OS:
• The system level, via the INGCNTL command. Turning off alerting means that no alerts are detected or
accepted by the system. Alerting must be turned on explicitly either globally or selectively for at least
one notification target.
• The resource level, via the Inform List policy field. Turning off alerting means that no alerts are detected
or accepted for the resource. The notification target must be explicitly specified (or inherited from the
defaults) to activate alerting for it.
• The alert ID level, via code definitions for the INGALERT message ID of the resource or MVS component
entry.
INGCNTL Command
By default alerting is not enabled. You have to issue the INGCNTL command to enable it and set the
connection properties for the notification target.
This can be done as follows:
• In the NetView style sheet using auxiliary commands:
**********************************
* Auxiliary commands
**********************************
* Enable Alerting and set connection properties
auxInitCmd.A = INGCNTL SET ALERTMODE=IOM ALERTHOST=saiom:1040:SAALERT
See IBM System Automation for z/OS Programmer's Reference for more information about the INGCNTL
command.
Inform List
You have to include the appropriate communication method for the notification target in the Inform
List field of the appropriate policy item to explicitly enable alerting for specific resources or classes of
resources, as shown in Table 7 on page 69.
You must also specify the appropriate communication method for the desired notification target as shown
in Table 8 on page 69.
You can specify a blank-separated list of values to enable alerting for several notification targets.
Code Processing
Code processing with the INGALERT message ID allows you to define additional characteristics for events
to be passed to the notification target or to prevent event creation for certain alerts. Such definition can
be made, dependent on the alert ID, issuing job and type of notification target.
Code definitions for message ID INGALERT can be used for resources of type APL, APG, MTR, and for
MVS components. If no matching code definitions are found for the APL, APG or MTR resources, the
INGALERT code definitions are checked for the corresponding MVS component entry on the system where
the resource resides.
Enter the following in the Code Processing panel for the INGALERT message ID:
Code 1
The alert ID that identifies the type of alert. SA z/OS provides the following set of built-in alert points:
Note: Alert points ISQHWMSG and ISQHWST are provided by Processor Operations for target
hardware connected over SNMP protocol.
You can also use any user-defined alert ID. Simply specify it in the corresponding code entry and call
INGALERT with this ID. Wildcards are supported.
Code 2
For APL this is the job name that alerting should be done for. For MVC it contains MVSESA. For APG
and MTR Code 2 is ignored. Wildcards are supported. This allows you to set alerting for several APLs
at once by using APL classes.
Code 3
The communication method that is used to send the alert to the notification target. Valid values are
IOM, EIF, TTT or USR. Wildcards are supported.
Value Returned
This can be either IGNORE to prevent event creation, or parameters that are sent to the notification
target together with the passed event. The meaning of these parameters depends on the type of
communication method, as follows:
IOM
The first two tokens of the Value Returned are considered to be:
• The priority of the alert (0–999).
• The escalation ID that is used in SA IOM to define the rules that determine how the alert should
be processed. The length of this value is limited to 20 characters.
If the first two tokens have invalid values, the Value Returned is assumed to be IGNORE.
If you specify more than two tokens in the Value Returned field, the superfluous tokens are
ignored.
EIF
The Value Returned is considered to be the event severity. Valid values are HARMLESS, WARNING,
MINOR, CRITICAL or FATAL, or a corresponding number between 1 and 5, where 1 corresponds
to HARMLESS, etc. Both alternatives for specifying a severity can be used for events to TEC or
NETCOOL/OMNIbus. When specifying the severity as a number, the code definition can also be
used to send alerts to SA IOM.
If you do not specify a valid severity, the Value Returned is assumed to be IGNORE.
Superfluous tokens in the Value Returned field are ignored.
TTT
If TSRM is the notification target, the values in Value Returned are used as:
• The priority of the trouble ticket as it is initially reported (1-5)
• The urgency, which is a indication of how quickly a trouble ticket should be resolved (1-5)
• The business impact or severity of the trouble ticket (1-5)
These values are not validated because other targets may expect other values.
If you specify more than three tokens in the Value Returned field, the superfluous tokens are
ignored. If you specify less than three tokens, they are used according to their position and the
missing tokens default to N/A.
USR
The content of the Value Returned field is passed to the user-defined alert handler that is called.
INGALERT Command
You can use the INGALERT command to inject alerts into a system. This can be from either the NetView
automation table, an automation procedure, or the command line.
You can specify the following parameters:
• A resource name , the text MVSESA, or a job or subsystem name.
• The alert ID, for example, CS_PROBLEM, CMD_FAILED, and so on.
• A message ID that identifies the message text or a text string that is passed to the notification target.
For example, the following can be used from the command line or an automation procedure:
In this example, INGALERT uses the alert ID, MYALERT, to obtain additional parameters via a matching
code definition for the message ID INGALERT, and it uses the TEXT parameter value for the alert text.
The following can be used from the NetView automation table to send an alert whenever message
ABC123I is issued:
IF MSGID=’ABC123I’
THEN
EXEC(CMD(’INGALERT’));
INGALERT uses ABC123I as the alert ID and the complete text of message ABC123I as the alert text. The
resource parameter of INGALERT is defaulted to the job name of the subsystem that issued the message.
See IBM System Automation for z/OS Programmer's Reference for more information about the INGALERT
utility.
Overview
SA z/OS collects and records job-related information, and writes System Management Facility (SMF)
records at specific events in the lifetime of a resource.
This resource can be:
• A subsystem (APL)
• An application group (APG) that is hosted by the local system as well as sysplex application groups
• A monitor resource (MTR)
The INGPUSMF batch utility produces a report file that you can import into a spreadsheet. You can also
convert and write the report into DB2 tables that are provided and exploited by the IBM Tivoli System
Automation Application Manager. For more details, see “Writing the SMF Report to DB2” on page 78.
You can control whether a record is written for a resource by entering the value SMF in the Inform List
field in the resource's information policy item.
Resource Lifecycle
Figure 21 on page 73 shows the events in the lifetime of an application when SA z/OS records
information.
34 2 — Reserved.
36 12 EBCDIC Automation agent status (optional).
48 12 EBCDIC Start type.
60 12 EBCDIC Stop type.
72 5 EBCDIC Termination type (abend code). Optional.
77 3 — Reserved.
80 4 Binary Total startup time in seconds.
84 4 Binary Elapsed time in seconds that the resource was active.
88 4 Binary Total shutdown time in seconds.
92 4 Binary Last down time of resource in seconds.
SYS(TYPE(30,...,114)
2. Specify SMF in the Inform List of the APPLICATION INFO policy item for the resource.
Output
The first record in the data set is a title record that describes each column. The remaining records are the
data records. One data record is written for each type 114 SMF record.
Table 11 on page 76 describes the format of each record.
User Options
You can specify various options in the USRPARMS data set that control the processing of the utility. You
must specify each option in a separate record. The option are defined as keyword=value pairs. If you
specify an option several times, the last occurrence is used. The keyword must start in column 1 of the
record. No blanks are allowed in front of or after the equal sign (=). A asterisk (*) is considered to be a
comment.
The following options are supported:
SEPCHAR=char
Defines the separator character to be used to separate the columns. The default is a semicolon (;) if
omitted
SYSID
Defines the SMF system ID used as a filter. Only SMF records that are generated by that system are
taken. The value can be 1–4 characters.
FROM=date
The starting date used as a filter. The format is YYYYMMDD. All SMF records written on the specified
date or later are taken.
TO=date
The ending date used as a filter. The format is YYYYMMDD All SMF records that are written no later
than the specified date are taken.
RESOURCE=
Defines the resources in automation manager notation used as a filter. You can specify up to 10
resource names. The name can be a wildcard, such as *abc, abc* or *abc*.
Return Codes
The following return codes are set by the utility:
0
Normal completion.
8
Invalid option detected in the USRPARMS data set.
12
REPORT data set is not accessible.
16
A severe error occurred, for example, an open error for the SMFDATA data set, or writing a record to
the REPORT file.
You can use the sample job INGXRPRT to run the z/OS offloader.
Customization
Procedure
After installing the z/OS offloader you must carry out the following customization steps:
1. Customize the script /usr/lpp/ing/adapter/ingreport.sh. Adapt the installation path:
INSTALL_DIR=/usr/lpp/ing/adapter
2. Copy the sample job INGXRPRT and follow the steps as described in it.
There are several input parameters that you need to set correctly otherwise the conversion utility
cannot access the DB2 table:
Parameter Details
INGDSN=HLQ.SMF.REPORT The data set of the SMF report created by the INGPUSMF
utility.
INGSEPCHAR=; This must be the separator as used by the INGPUSMF utility.
INGDOMAIN=MyDomain The name of the E2E domain as specified in the E2E adapter
configuration file, ing.adapter.plugin.properties. If omitted the
default is used, which consists of the sysplex name and XCF
group name.
Parameter Details
INGDB2_USER=db2inst1 The DB2 user name for remote logon.
INGDB2_PSW=db2admin The DB2 password for remote logon.
INGDB2_PORT=50000 The TCP/IP port to connect to the remote DB2.
INGDB2_SERVER=db2-host-name The TCP/IP host name to connect to the remote DB2.
INGDB2_NAME=EAUTODB The DB2 name or the DB2 location if DB2 resides on z/OS.
INGDB2_SCHEMA=EAUTOUSR The DB2 schema of the table.
3. (Optional) If the database is located on a z/OS system, a DB2 license file is required. An appropriate
license file for z/OS platform, db2jcc_licencse_*.jar must be installed in the application classpath.
Connectivity to z/OS databases is enabled with the license file as defined by the following table.
Output
The output of the ingreport.sh shell script shows the progress of the z/OS offloader. Any errors that occur
are reported in this output. See IBM System Automation for z/OS Messages and Codes for details of these
messages (INGX9850E, INGX9855E, and INGX9856E).
Concept
You can use the SA z/OS standard interface and routines to handle system external messages in almost
the same way as system internally generated messages. This applies to the way of defining message
e. If you do not want the proxy resource, and hence the processor operations target system, to be
automatically started at IPL, set the Restart after IPL option to NO.
3. Because you can automate applications only by linking them to systems via an application group
(APG), you need to define an application group for the proxy applications. Choose an APG of Type
SYSTEM and Nature BASIC, with a Behavior of PASSIVE and leave the Automation Name empty to
avoid that a resource is created for this group. Also, do not merge the proxy applications with other
applications into this application group because destructive requests applied to a merged application
group would also affect the proxy resources contained in that group.
4. In the Message Processing panel for the proxy application, define the messages to be automated in the
Message ID column. Do not specify message ID ISQ900I, as this message is used as a carrier for the
original target system message.
Enter cmd in the Action column to specify the command to be processed if the defined message
occurs.
5. If the message to be automated is a WTOR, the variable &EHKVAR1 contains the reply ID. This variable
may then be used as a parameter to the ISQSEND command:
• Stop example:
Note: If the delay time between sending the commands in pass 1 and pass 2 is not appropriate, you can
define a resource-specific Shut Delay in the Application Automation Definition panel.
For more details about processor operations commands refer to IBM System Automation for z/OS
Operator's Commands.
The addressed REXX command environment, Netvasis, passes the command string without doing an
uppercase translation. The ISQSEND command internally translates its destination parameters into
MYLINUX and OC but leaves command whoami as is.
Security Considerations
After Linux system initialization, usually a LOGIN prompt message is displayed allowing users defined to
the system to login. The ISQSEND command interface does not suppress any password data from being
displayed.
You may use the NetView LOG suppression character to avoid the password information to be visible in
the NetView log. In Support Element log files, such password data can be viewed in text form.
This message format applies to all processor operations target system messages. It is independent of the
target system resource that generated the original message.
The processor operations target system message is sent in the same format as it would be displayed on
the processor Support Element (SE) or Hardware Management Console (HMC).
Specifics of VM second level systems: Messages from guest machine operating system appear in the
following format:
Note: Make sure your consoles issue messages in the format that you expect and write your NetView
automation table entries accordingly.
This NetView automation table statement initiates the ISQI101 routine when the message condition is
true.
Note: Text within messages may be in mixed case. Be sure your coding accounts for mixed case text.
Message ISQ211I
Some SA z/OS commands attempt to lock and unlock ports. Where an operator owns the lock for a port,
the SA z/OS unlock command, ISQXUNL, returns RC=12 associated with message ISQ211I Unable to
unlock target name console.
In such a case, you have the choice of either using the ISQOVRD command to force an unlock or you may
end your automation with a message. Thereafter, you can view your NetView log to find out the reason for
the lock of the port.
Your automation may encounter this message ISQ211I frequently. Attempting to unlock a locked port is
not an error condition; however, it may be a sign that the calling command did not succeed. Schedule your
automation from messages that indicate positively that a command did not run, not from the ISQ211I
message.
The SA z/OS automation table entries in the ISQMSG0 member of the SINGNPRM data set include
inactive entries that call these automation routines. To incorporate these routines into your automation,
do the following:
1. Remove the comments from the corresponding automation table entries for the messages that initiate
the automation routines you want to use. If you perform these steps as part of the initial SA z/OS
installation, make these changes before you incorporate the SA z/OS entries. If you do this after the
initial SA z/OS installation, change the NetView automation table.
2. Code the routines you are using to issue the responses you want.
3. Compile the PL/I source code for the routines you want to use, and link the resulting object code to
your PL/I library.
4. Recycle the NetView program to activate the new entries.
For automation processing to occur, each message in the NetView automation table at the focal point
system and at each target system must be made available to the system's NetView program. In
z/OS, MPF controls message availability to the NetView program. Examine the MPF list member in the
SYS1.PARMLIB data set to ensure that the necessary messages are marked for automation. For target
systems using other operating systems, check the message suppression facilities used on those systems.
Testing Messages
SA z/OS provides a collection of NetView automation table entries for your SA z/OS configuration.
NetView automation table entries are in the AOFCMD member of the SA z/OS SINGNPRM installation
data set. When these entries are moved to your NetView automation table, they may need additional
editing.
For example, you may already test for a particular message in your production NetView automation table.
If you add an entry that tests for that same message, your automation table will not run as you expect.
After a match with the test criteria is found, the search of the automation table is aborted. The second
NetView automation table statement is not found. Consequently, the message does not drive all of your
required actions.
To avoid this, combine entries into a single test condition. This ensures that all required actions are
scheduled for all messages. For the following message:
your NetView automation table may already have the following entry: ( 1 )
IF MSGID = 'IEA320A'
THEN EXEC (CMD('USERJOB') ROUTE( ONE *) ) CONINUE(Y);
With SA z/OS installed, the following message appears when forwarded from System z or 390-CMOS
processor hardware:
After the SA z/OS entries are added, the NetView automation table includes the following entry:
In this case, the first entry satisfies the IF test and the command USERJOB runs ( 1 ). The second
command, ISQI320, is not scheduled to run because once the message matches a table entry, the
autotask stops searching. Combine these two entries into a single entry, such as:
When you use the second example, both commands are scheduled.
If your NetView automation table tests the text of SA z/OS messages, the message format must match the
character case for which you test. This can be done by requiring all sites to use the same format for their
messages, or by duplicating AT entries in uppercase and in mixed formats.
SET MPF=xx
Where xx is the suffix of the MPF member in the SYS1.PARMLIB data set to load.
To reload the automation manager configuration file, all updated automation control files and the
automation tables issue:
INGAMS REFRESH
Specify a data set name or an asterisk (*) which means reload the current data set.
In the example above, the HW common command GETSINFO was issued at a NetView console.
Embedded in the ‘ISQ’ messages the response from the hardware is displayed on the console, starting at
report ID AOFA0017.
The same information is available if you reference the PIPE KEEP with the name ISQ.SNMP, once the
ISQCCMD command completed, as shown in the example, with the content of ISQ.SNMP displayed on the
console.
In an automation procedure, this can be coded as shown in the following example:
/*ReXX*/
/* Display CPC information using the ISQ.SNMP KEEP */
Arg cpcname
‘ISQCCMD ‘cpcname’ GETSINFO’
If RC = 0 Then Do
‘PIPE KEEP ISQ.SNMP ‘ ,
‘ | LOC /AOFA0017/ ‘ ,
‘ | LOC /’cpcname’/’ ,
‘ | CONS ONLY’
End
As an alternative, you can get the immediate ISQCCMD HW responses directly into the PIPE input stream
if you use the PIPE NETVIEW stage followed by an EXPOSE TOTRAP stage. In this case, all ISQ messages
and the AOFA0017 report data is available for PIPE processing.
/*ReXX*/
/* Display CPC information in a PIPE */
Arg cpcname
‘PIPE NETV ISQCCMD ‘cpcname’ GETSINFO‘ ,
‘ | EXPOSE TOTRAP ‘ ,
‘ | LOC /ISQ90/ , /* takes ISQ901I or ISQ900I */
‘ | LOC /AOFA0017/ ,
‘ | LOC /’cpcname’/’ ,
‘ | CONS ONLY’
may either indicate successful execution or a failure. The asynchronous command completion events
from the hardware are made available for message automation and TRAP AND WAIT processing by
ProcOps. Application scripts using the ISQCCMD interface can get the Accepted or Rejected responses
directly at ISQCCMD termination time. The Accepted response can then be used to wait for the command
completion event message.
Member INGEI004 of the SINGSAMP library provides a REXX sample illustrating how asynchronous
hardware commands can be automated using ISQCCMD and NetView PIPES, together with TRAP and
WAIT.
To ensure that RUN ON state is set, a CP SET RUN ON command is sent to all MVS guest machines at the
time when the guest machine is started by the PSM.
Once MCS operation is established, important messages requiring operator action are directed to the
guest machine. Again, these are analogous to the stream of messages directed to the OSM window of
the HMC. Initially, commands cannot be entered to MVS. To do so, it is necessary to enter "Problem
Determination Mode". To enter this mode, a VARY CONSOLE(*),ACTIVATE command must be entered.
Once this is done:
• All MVS messages that are displayed are routed to the guest machine
• Commands may be entered using the CP VINPUT command.
Problem Determination is not generally recommended.
To enter LINUX commands it is normally necessary to log on to LINUX. This requires a user ID and
a password. So, to provide for LINUX commands would require the specification of a user ID and a
password to ProcOps, with all the attendant difficulties in the area of security. At present the LINUX
system is considered IPL COMPLETE when specified messages have appeared. These do not require a
user logon.
VM machines may also be guest machines. Third level guest machines are not supported.
VSE machines may also be guest machines.
LINUX
The LINUX target system should have in its VM Directory entry, a CONSOLE statement that sets its PSM as
its default secondary user. For example, if the virtual machine LNXAO1 is controlled by a PSM running in
virtual machine ISQPSM1, then its CONSOLE statement might be:
When a LINUX target system is to be deactivated a FORCE command is used to shut it. The default
guest signal timeout interval values (set by the SET SIGNAL command) and values defined for the guest
machine determine the interval used when allowing the LINUX system to shut in an orderly fashion. If this
function is required for a guest, you must ensure that this is set accordingly.
Such actions may include updating the etc/inittab entry on the LINUX system itself, and setting up a
SHUTTRAP module on the VM host.
MVS
This should have a CONSOLE statement in its VM directory entry that defines its PSM as its secondary
user:
It should also IPL a CMS system as its initial action. Once this CMS system is IPLed it should run a
PROFILE EXEC that includes the statements similar to the following:
SET RUN ON
DETACH 01F
IPL 7700
The SET RUN ON is needed so that when a response is to be sent to a NIP console the VINPUT command
used is effective.
The DETACH is used so that when the MVS system IPLs it finds none of its defined 3270 consoles
available to it. (You should also ensure that no user issues a VM DIAL to an address that is defined as a
NIP or MCS console.)
CONSOLE DEVNUM(SYSCONS)
ROUTCODE(ALL)
AUTH(MASTER)
MSCOPE(*)
CMDSYS(*)
UD(Y)
VM
This should have a CONSOLE statement in its VM directory entry that defines its PSM as its secondary
user:
It should also IPL a CMS system as its initial action. Once this CMS system is IPLed it should run a
PROFILE EXEC that includes the statements similar to the following:
SET RUN ON
DETACH 01F
IPL 7700
The SET RUN ON is needed so that when a response is to be sent to a console the VINPUT command used
is effective.
The DETACH is used so that when the VM system IPLs it finds none of its defined 3270 consoles available
to it. (You should also ensure that no user issues a VM DIAL to an address that is defined as a Operator
Console)
The IPL command is used to IPL the VM system.
The VM system itself should include within its OPERATOR_CONSOLES statement in the SYSTEM CONFIG
file (which resides on the "parm disk") a specification for the emulated system console, for example:
This ensures that when VM IPLs and finds no regular consoles available, it then uses the emulated system
console. This in turn directs the messages to the secondary user as a stream of line-mode messages.
VSE
This should have a CONSOLE statement in its VM directory entry that defines its PSM as its secondary
user:
It should also IPL a CMS system as its initial action. Once this CMS system is IPLed it should run a
PROFILE EXEC that includes the statements similar to the following:
The TERM CONMODE 3215 command sets the console into line mode.
the SA z/OS online help for detailed information about ISQCCMD, the GETRAW common command, and
the supported parameters.
Use the following information to find the object attribute information to set up your queries. It is
recommended that you have a basic understanding of SNMP MIB variables and object IDs.
Member INGEI007 in the SA z/OS sample library illustrates with several ISQCCMD GETRAW calls how this
programming interface can be used with REXX. Various attributes are retrieved in the samples.
The IBM Z CPC and CPC image MIB variables with their object IDs and suffixes are all documented in
the IBM Z SNMP Application Programming Interfaces (SB10-7171-xx) publication, available from IBM
Resource Link.
List of supported suffixes for attributes in Chapter 3. Console application APIs > Data exchange
ascending order APIs and commands API structures and definitions >
Constant definitions.
Detailed object descriptions for the GETRAW Chapter 4. Console application managed objects >
supported CPC and CPC image (LPAR) objects, Defined CPC
including the data types returned
Chapter 4. Console application managed objects >
CPC image
Infrastructure Overview
The z/OS UNIX resources that should be automated must run in the z/OS UNIX of a z/OS system that
is already automated by SA z/OS. From the automation manager's perspective the NetView agent of this
system is responsible for the z/OS UNIX resources.
For command execution through INGUSS or user-defined monitoring, a z/OS UNIX program (provided
by SA z/OS) is directly invoked by SA z/OS. This program (ingccmd) executes UNIX commands and runs
when started by SA z/OS with the jobname INGCUNIX. The ingccmd program is the extension of the
NetView-based agent into z/OS UNIX. To monitor the standard z/OS UNIX resources (processes, ports, or
files) an internal SA z/OS routine is started.
Process initialization and termination status updates of USS resources are directly reported from system
exits to the SA z/OS environment by the program-to-program interface INGUXPPI. A NetView task with
the same name immediately posts the UP or DOWN status. The automation agent recognizes and then
sets the correct automation status for the resource.
For this functionality, the NetView Subsystem Interface (SSI) is required. For a correct customization of
the SSI, refer to Step 5 in the chapter "Installing SA z/OS on Host Systems" in IBM System Automation for
z/OS Planning and Installation.
When monitoring of the USS process indicates that it is down, its status is updated to AUTODOWN.
However, because it may take some time before a USS process has ended (that is, to clean up the
resources that is had acquired), monitoring is repeated after a cleanup delay. If you define your own
USS processes, you should specify a suitable cleanup delay using the APPLICATION INFO policy item.
Consider using an application class if you need to define several processes.
The start and stop definitions can be varied between MVS and z/OS UNIX commands. For example, to
stop an application you can issue a UNIX kill command first and (if this was not successful) you can
perform an MVS cancel later.
12
Error occurred
If the user-specified monitoring routine loops, it receives a SIGKILL after the AOFUSSWAIT time (defined
in the NetView stylesheet).
Hint: It is possible to write a message from this UNIX monitoring routine to the MVS system log, in order
to trigger an action or perform a status change through the NetView Automation Table (AT).
The monitoring routine AOFUXMON must be specified, otherwise the default monitoring routine (usually
INGPJMON) is called, which is not sufficient for z/OS UNIX resources.
The Job Type field can be either MVS or NONMVS:
MVS
Is only used for resources that represent a process with a unique jobname. For these resources
SA z/OS accepts the following messages for status changes:
• IEF403I Job started
• IEF404I Job ended
• IEF450I Job abended
If no start command is specified, the default MVS start method (s <JOBNAME>) is used.
NONMVS
SA z/OS ignores the messages listed above for status changes. This is necessary if the job name is not
unique.
For z/OS UNIX resources the Start Delay interval that has been defined begins when SA z/OS issues a
start command for an application. SA z/OS is informed by z/OS that the resource that is to be monitored
has started. This results in the USS resource being set in the status ACTIVE. After the first start delay
interval and successful monitoring, the ACTIVMSG comand is triggered, which sets the agent status to UP.
The default value for the Start Timeout is 2 minutes.
If you set the Skip ACTIVE status field in the APPLICATION INFO policy item to YES, the resource is
immediately set to UP when SA z/OS is informed by z/OS that the process is running.
For application shutdown, SA z/OS is informed by z/OS as soon as the process has ended. At this point,
SA z/OS immediately sets the resource into the AUTODOWN status.
As a result of this behavior you should carefully consider how you set the following parameters in the
APPLICATION INFO policy item, either for the application or at the class level:
• Start Delay
• Start Cycles
• Skip ACTIVE status
• Shutdown Pass Interval
• Cleanup Delay
For more information, see the *USS best practices policy.
Automated Resources
Process Monitoring
No UNIX process identifiers (PIDs) can be monitored. The monitoring routine needs the start command
and the user ID that the process belongs to. This information can be obtained with the UNIX command
ps.
In the following example all processes that belong to the user USER are displayed:
USER:/u/user/ingcmd>ps -e
PID COMMAND
33554481 /bin/sh
50331698 /usr/sbin/rlogind2
33554486 /usr/lpp/netview/bin/cnmeunix
67108927 /bin/sh
83886176 /bin/ps
33554821 /usr/sbin/inetd
83886472 FTPD
67109276 /bin/sh
16777629 /usr/sbin/rlogind2
33554924 HSAPYTCP
This means that automation could not distinguish between the two processes started by /usr/sbin/
rlogind2. Processes started by identical commands must have different user IDs.
Alternative 1
If it is necessary to automate processes running multiple instances, a user could use softlinks to
distinguish between the different processes. For example, the process:
/u/user/usstest/testme
should be started more than once. In this case, create some softlinks:
USER:/u/user/usstest>ls -al
total 216
drwxrwxr-x 2 USER DE#03243 8192 Jan 24 16:24 .
drwxr-xr-x 19 USER DE#03243 8192 Jan 24 16:23 ..
lrwxrwxrwx 1 USER DE#03243 6 Jan 24 16:24 test1 -> testme
lrwxrwxrwx 1 USER DE#03243 6 Jan 24 16:24 test2 -> testme
-rwxrwxr-x 1 USER DE#03243 94208 Jan 24 16:23 testme
These three programs (being the same "real" program) can be automated with the three different start
commands test1, test2, and testme. These links may be created as a prestart command and deleted as a
shutfinal command.
Note: Only the command is used, not the parameters that were used to start the program. This is
because a program may be started by SA z/OS with different startup parameters, depending on what
the automation manager told the automation agent to do. In this case, the only constant value is the
command, not the parameters.
Alternative 2
The same program can run in parallel several times by using different startup parameters (like Java
programs). In this case it is inefficient to automate these processes as described above. Java programs
run in a Java environment and are visible as Java processes, for example:
# ps -e
PID TTY TIME CMD
50331734 ? 5h24 .../V6R1/AP/AppServer/java/bin/java
83886173 ? 1:44 .../V6R1/AP/AppServer/java/bin/java
60341724 ? 2h36 .../V6R1/AP/AppServer/java/bin/java
73392173 ? 1:02 .../V6R1/AP/AppServer/java/bin/java
It is impossible in this case to distinguish and evaluate the process that should be monitored.
The command ps -ef shows the same processes (for example, programs running in a Java
environment), without the fully-qualified Java path but with a parameter chain that is used for startup.
#ps -ef
UID PID PPID C STIME TTY TIME CMD
EEZDMN 50331734 1 - Jun 27 ? 5h25 java -Djava.util.logging.configureByServer=true
EEZDMN 83886173 1 - Jun 27 ? 1:44 java -Dcom.ibm.eez.adapter.debug=true
EEZDMN 60341724 1 - Jun 27 ? 2h36 java -Djava.util.logging.manager=connect
EEZDMN 73392173 1 - Jun 27 ? 1:02 java -Djava.security.auth.login.config=/etc/security.conf
Mapping the output of both commands using the matching PID, a unique process can be evaluated and
monitored. The process that is distinguished is then:
/SYSTEM/local/WebSphere/V6R1/AP/AppServer/java/bin/java
-Djava.util.logging.configureByServer=true
Where the data that is specified in the USS Control Specification panel in the Process Command/Path
field is /SYSTEM/local/WebSphere/V6R1/AP/AppServer/java/bin/java and in the with Filter
field is the filter -Djava.util.logging.configureByServer=true.
Filter specification considerations on the USS Control Specification policy:
There are some cases that you cannot use the ps -ef command output directly as the filter. Assume that
the ps -ef command returns the following sample running processes:
...
#variable section
JO='-X32m -X256m'
JP1='-Xquick -Dibm=1'
JP2='-Ds=2 -Dl=1'
#command execution
nohup java "${JO}" "$JP1" $JP2 'Da=5 De=7'
...
Command Examples
Start Command for a Process
To start a process with the command and job name specified in the customization dialogs, enter INGUSS
JOBNAME=&SUBSJOB &SUBSPATH &SUBSFILTER in the Command Text field on the Startup Command
Processing panel of the STARTUP policy item of the resource.
Only the command that was used to start an application or a process can be monitored. If the same
program is to be started multiple times, a softlink as prestart command could be used to distinguish the
processes.
Use a Softlink to Distinguish Processes That Run the Same Executable File as a Prestart Command
To create a softlink for &SUBSPATH (the path parameter of the resource issuing the command, for
example, /u/user1/uss1) and link to the file /u/user1/usstest, enter the following command in the
Command Text field on the PRESTART Command Processing panel:
USER1:/u/user1>ls -l
total 408
lrwxrwxrwx 1 USER1 DE#03243 7 Feb 13 12:44 uss1 -> usstest
-rwxrwxr-x 1 USER1 DE#03243 163840 Jan 29 14:55 usstest
Example: sshd
The Secure Shell Daemon application (SSH daemon or sshd) is the daemon program for ssh. This program
is an alternative to rlogin and rsh and provides encrypted communications between two untrusted hosts
over an insecure network. The sshd is the daemon that listens for connections from clients on port 22.
It is normally started when z/OS UNIX is initialized. It forks a new process for each incoming connection.
The forked processes/connections handle key exchange, encryption, authentication, command execution,
and data exchange. These connections show the same jobname and Command/Path and Filter as the SSH
daemon does. At sshd startup time its process ID (pid) is written in the /var/run/sshd.pid file.
Any adaptation and configuration changes to the sshd can be done in the sshd configuration file
sshd_config. It is located in the /etc/ssh directory.
Keeping the Secure Shell Daemon application (sshd) highly available requires that the sshd will not be
detached from its parent process. Additionally, the sshd must be started in a separate shell environment.
This shell is needed to establish a unique process which can be monitored. It can be accomplished by
starting the sshd with option -D
For shutdown purposes it is required that the process ID file (sshd.pid) is written to your file system. This
process ID will be read from that file and used to identify the sshd to terminate.
The ps -ef command supplies further parameters to identify the process referenced as Filter , for
example:
Process 83886553 represents the address space containing the covering parent shell process for
monitoring purposes. Process 83887096 is the sshd itself.
From this output, set the Filter as -c '/usr/sbin/sshd -D' .
Note: Even though the quotation marks are not shown in the output for the command ps -ef, they must
not be defined in the Filter field of the USS Control policy.
To check for the required information for the Command/Path issue the ps -e command and look for the
process Id of the parent shell:
This shows the process ID (PID) for the sshd monitoring process. From this output, set the Command/
Path as /bin/sh
Next find out the z/OS user ID that the process is running on by issuing the following z/OS command and
locating the user ID in the first column where the process ID (PID) is listed:
D OMVS,PID=83886553
# netstat -a
...
SSHD 00000049 Listen
Local Socket: 0.0.0.0..22
Foreign Socket: 0.0.0.0..0
…
Define a basic group containing all resources with relationships that indicate that:
• The group containing all sshd related resources depends on TCPIP
• The file is created by the sshd process and can never be started or created directly by SA z/OS
• The sshd process listening on the port can never be started or created directly by SA z/OS.
Figure 25 on page 103 illustrates the SSHD (modeled as a group) as up and running when the
process /bin/sh -c '/usr/sbin/sshd -D' started by user OMVSKERN appears, the file /var/run/
sshd.pid exists, and port 22 is in the status 'listen' (sshd listens to this port for incoming login requests).
You can only choose a port that is defined in /etc/ssh/sshd_config .
In case, the kill command does not terminate the sshd process use INGRCLUP routine to invoke a
z/OS CANCEL command against the address spaces of the sshd and the monitored parent shell.
SA z/OS provides the *USS best practices policy that provides definitions for several automated USS
daemons, such as sshd. Common definitions for USS resources can be found in the APL classes starting
with C_USS_xxx .
Use also the Unix man pages to get more information about the used USS commands and their
parameters.
*.* /dev/console
To send special messages to the MVS log only, follow the syslog message naming guidelines (for example,
for warning messages use *.warn). You can use /dev/console as an ordinary file to write to.
To test this, issue the following UNIX command from a USS console:
The UNIX messages have the MVS message ID BPXF024I and are multiline messages.
Figure 26 on page 105 shows an example of the output of the UNIX command in the system log.
M 13:45:21.34 STC03602 00000090 BPXF024I (USER) Feb 13 13:45:21 SYS1 syslogtest 67109100 : This
is
S
498
D 498 00000090 a test
message
* BPXM023I message
* This msgID is just a wrapper that is only added if the
* the process calling BPX1CCS is not running with UID=0.
* It is either a single or a multi line message.
* SA modifies the message to enable automation independent from the
* issuers authority.
*
* -- WTO request via BPX1CCS syscall - Multiline message --
* Modify message - drop first line of the multiline message
IF MSGID = 'BPXM023I' & HDRMTYPE = '"' & TOKEN(3) = ''
THEN EDIT('FWDLINE 1 1.* 1 WRITELINE COPYREST');
*
* -- WTO request via BPX1CCS syscall - Singleline message --
* Modify message - remove header from first line
IF MSGID = 'BPXM023I' & HDRMTYPE = 'E'
THEN EDIT('WORD 3.* 1 WRITELINE COPYREST');
Take the following single-line BPXM023I message for example. This message is an UP message for IBM
Common Data Provider for z Systems.
The INGMSGSA automation table statement cuts the first two words off and results in the following
message.
If you want to automate that message, then you can define the "real" message ID HBO6001I as the UP
message in SA policy.
Debugging
Debugging can be activated for z/OS UNIX monitoring and command execution on the AOCTRACE panel.
The automation procedure for monitoring is AOFUXMON and for command execution AOFRSUSS.
Turning on debugging for AOFRSUSS implicitly turns on debugging for ingccmd (the SA z/OS command
server).
The debugging messages are written to the netlog and to the z/OS UNIX system log (syslogd).
Table 16. Policy Entry Names and Types for Command Receivers
Policy Entry Name Policy Entry Type
CMDRCVR APL
CMD_RECEIVER APG
CMD_RECEIVER_AUTOOPS AOP
These SA z/OS resources ensure that the command receiver task is started at SA z/OS initialization time
and ready to receive commands. The operator is able to monitor the status of the command receiver by
using the INGLIST command.
Table 17. Sample Names and Load Modules for a TSO/Batch Environment
Sample Name Load Module name
IRXREXX1 IRXPARMS for MVS
IRXREXX2 IRXTSPRM for TSO/E
IRXREXX3 IRXISPRM for ISPF
There are various considerations for providing your own parameter modules. For details, see the
section "Function Package Table" in chapter "Language Processor Environments" of TSO REXX Reference.
The default PPI receiver identifier is INGRCRCV, but you can change it to any other name. If you
want to change it, you must specify the parameters PPI and CSAKEY=EMULATOR. The parameter
CSAKEY=EMULATOR defines the key used by the batch command interface and is used as the default key
by INGRCRPC for communicating with the command receiver. EMULATOR is the only key that is supported.
The INGRCRCV command would look like as follows, where xxxxxxxx is the PPI name of choice.
You may start more than one command receiver for use by INGRCRPC. Each additional command receiver
must have a unique PPI ID, but you must not specify CSAKEY=EMULATOR. For details on how to correlate
INGRCRPC with a specific command receiver, see “Function INGRCRPC” on page 114. For details about
multiple command receivers, see “Multiple Command Receivers” on page 109.
Be aware that the command receiver is not able to route the incoming command to one of the command
work tasks when the OPF=AOFCMDOPER parameter is missing. In this case, all incoming commands are
processed sequentially by the VOST task hosting the command receiver.
When subsystem CMDRCVR terminates, it stops the command receiver by means of INGRCRCV STOP
command.
Notice that the sample definition has escalation commands defined for the stop process. It uses the
INGVSTOP DETACH and INGVSTOP TASK commands for the stop passes. These commands stop the VOST
hosting the command receiver directly rather than terminating the command receiver gracefully.
Notes:
You should not have to start the command receiver in normal circumstances, because it should start
automatically when the SA z/OS agent registers with the automation manager.
To stop the command receiver, issue the INGREQ REQ=STOP command against the appropriate
subsystem, for example:
To see the list of VOSTs used by the command receiver(s) use the INGRCRCV QUERY command.
The display of this command shows the NetView task and PPI ID, the VOST owner and the OPF as
specified in the command receiver start command.
The VOST is used to run the command receiver if it was started via the INGVSTRT command (you can
check it in the APL's start command in the sample PDB). In this case, the VOST is the APL subsystem
name and the VOST owner is the associated work operator AUTWRKnn.
The second line shows another command receiver that was started with PPI ID INGRCVR2 via command:
AOFEXCMD MYTASK INGRCRCV START PPI=INGRCVR2 OPF=EVTOPER
This second command receiver does not run in a VOST, but runs in the task MYTASK. The command will
be scheduled to be executed by the single automated operator function EVTOPER.
line-mode-command
>DDNAME "-"
* comment
Command Continuation
Commands are continued across lines by appending a dash to the end of the command, for example:
This allows subsequent steps in the batch job or other batch jobs to use the output of the command for
their own purpose.
You can change the redirection symbol with the REDIRECT parameter of AOFRYCMD if, for example,
you use > as a command prefix. Note that the redirection symbol must not be the same as any of the
characters that occur in the command. For more details, see “AOFRYCMD Description” on page 111.
The DCB characteristics of the output DDNAME should be as follows:
LRECL=132,RECFM=FB
Or even:
AOFRYCMD Description
Purpose
AOFRYCMD is a REXX procedure that issues commands to a SA z/OS agent and receives the results of
those commands.
Note: AOFRYCMD is identical to EVJRYCMD. For an easy migration EVJRYCMD still exists in the library
SINGNREX while AOFRYCMD resides in SINGTREX. The use of AOFRYCMD is recommended.
Syntax
AOFRYCMD
wsid NOWKSTS
*
TIMEOUT = NONE
ASIS = NO
ASIS = YES
Parameters
wsid
This parameter is optional.
This parameter specifies the name of the TWS workstation that submitted this batch job. This
information is used by the command to disable the workstation in the event that communications
between the batch job and the SA z/OS Agent cannot be established.
If this parameter is specified, any NetView PPI communications problem will cause the command to
issue a TWS WSSTAT command to place the workstation offline.
NOWKSTS
This parameter is optional. It is also deprecated. It is preferable to omit the workstation ID.
This parameter modifies the behavior of the command. In the event of a failure in communications to
the SA z/OS Agent, this parameter prevents the command from disabling the TWS workstation that is
defined with the wsid parameter.
SERVER
This parameter is optional.
The default for this parameter is EVJCMDRV. This parameter specifies the name of the PPI receiver
in the SA z/OS Agent NetView that commands will be sent to. Specifying SERVER=* causes the
command receiver to pass the command to one of the associated work tasks to enable parallel
processing of commands. The command receiver EVJCMDRV is deprecated but still exists for
compatability reasons.
For details on defining EVJCMDRV, refer also to the *IBMCOMP Add-on policy.
Note: When using the general purpose command receiver by coding SERVER=*, the SINGTREX library
must be added to the SYSPROC concatenation chain.
TIMEOUT
This parameter is optional.
The default for this parameter is 60 seconds.
This parameter specifies the time in seconds that the batch job will wait for a command to execute in
the SA z/OS Agent NetView. This timeout is applied separately to each command. If the timeout is set
to NONE, no timeout will be applied to the batch job.
Note: It is recommended that the INGREQ timeout (as defined with the FDBK parameter) should be
less than the TIMEOUT= parameter for the job.
This is because the INGREQ command's FDBK parameter can be used to specify a WAIT period that
will result in the command waiting until the desired status change is complete. For example, if the
TIMEOUT parameter is defaulted to 60 seconds, the INGREQ FDBK parameter should be coded as,
say, FDBK=(WAIT, :55)
HIGHRC
This parameter is optional.
The default for this parameter is 0 (zero).
This parameter specifies the highest acceptable Return Code for the job. Any return codes from
commands that are less than or equal to this value will reset the JCL Step return code to zero. Any
command return code that is greater than this value will be passed as the JCL Step return code.
Note: The JCL Step return code will be the highest return code of all the command return codes.
MAXRC
This parameter is optional.
The default for this parameter is 999.
This parameter specifies the maximum acceptable return codes from commands issued by the batch
job. If a command return code is higher than the value specified, the batch job is aborted and any
remaining commands will not be executed.
The return code that is reported to the JCL is determined by the HIGHRC parameter.
SYSIN
This parameter is optional.
The default for this parameter is SYSIN.
This parameter sets the DDNAME of the input file that contains the command to be executed.
REDIRECT
This parameter is optional.
The default for this parameter is >.
This parameter defines the redirection character. Enclose it in quotes or double-quotes if the string
contains special characters, such as the equal sign. It must not be the same as any of the characters
that occur in the command.
ASIS
This parameter is optional.
The default for this parameter is NO.
This parameter enables the submission of a required command in mixed case, to be executed as
presented, when the parameter value is YES.
Usage
When the SA z/OS Agent is started, it will automatically issue a WSSTAT command to mark the
workstation online. The specifications of which workstations to mark online at agent restart are contained
in the WORKSTATION message/user data policy for the tracker or controller. Multiple workstations may be
defined. Workstations that are assigned to trackers should have their WORKSTATION policy defined to the
same trackers that they are assigned to.
Each command is submitted in turn and the results of the command are retrieved. These results are then
written to either SYSTSPRT or to the output redirection DDNAME.
Whether or not the command completed successfully is indicated by message ING330I for satisfactory
completion or message ING332I when the command failed. Message ING332I shows the return code of
the command completion. These messages are written to SYSPRINT (//SYSTSPRT DDName).
Note: The DW0369I message that might have been requested when using the NetView PIPE command
with the MOE option or automatically injected by SA when the command completed successfully is no
longer passed along.
In this command, the PPI parameter specifies the PPI receiver ID, which must be equal to the ppi_rcv_id
parameter of INGRCRPC. The SA command receiver runs in the SA NetView Agent and uses a PPI receiver
ID to receive incoming remote procedure call (RPC) requests. Any RPC request sent by INGRCRPC will
be scheduled on a NetView task for command execution. The OPF parameter specifies the name of the
SA operator function, which is either a single task or a group of tasks, for example, AOFCMDOPER. For a
detailed description of the command receiver, see Chapter 10, “Command Receiver,” on page 107.
Note:
If you start multiple command receivers, then for each command receiver, you need a unique pair of a PPI
receiver ID and corresponding SA operator function.
Sending multiple requests via INGRCRPC concurrently is not supported from the same TSO address
space. Requests must be sent one after another.
Function INGRCRPC
The REXX function INGRCRPC provides a remote procedure call (RPC) from TSO address space to the SA
NetView Agent address space on the same z/OS system. The purpose is to execute a standard command
(such as a NetView or MVS command) or a self-written REXX program and to route back the output to the
calling TSO program.
INGRCRCP uses the specified PPI receiver ID to determine the target command receiver. INGRCRPC uses
internally a unique PPI ID to receive the response. This PPI ID is the job ID of the calling job.
Syntax
rc = INGRCRPC(command, input_data, ppi_rcv_id, taskname, resp_name, timeout,
security_ctx)
Parameters
command
The command to be executed in the SA NetView Agent.
Maximum length of the command is 31990 characters. The command must not include 'FF'X or 'FE'X.
Precede it with 'MVS' if you want to execute an MVS command. No prefix is needed for NetView or SA
commands. If it's an MVS command, INGRCRPC waits until the first output line (might be a multi-line)
is caught and timeout is not exceeded.
input_data
Optional input data. It's used for a REXX program. Omit it if you execute a standard command.
You can specify the name of a REXX stem, for example, 'input.'. This is an array of data lines which
will be provided as NetView default stem for command execution. This name must end with a dot
and input.0 must be a positive number specifying the number of input lines and input.n n=1,2,…
contains the n-th input line. For example:
input.0=2
input.1=’abc’
input.2=’xyz’
rc = INGRCRPC(‘MYREXPGM’,’input.’)
This REXX program MYREXPGM can read the input data using the NETV default SAFE.
ppi_rcv_id
Optional target PPI ID.
It is the PPI receiver ID of the command receiver. If not specified, the default INGRCRCV will be used.
See also Chapter 10, “Command Receiver,” on page 107.
A PPI receiver ID must be alphanumerical mixed case and can contain '$%&@#'. It must have a
length of 8 characters, right justified with blanks.
taskname
Optional name of the target task. The maximum length of this parameter is 8 characters.
If not specified, the command receiver decides by itself which task is to be used.
For security context AUTOTASK, the command will be executed in the specified taskname. For
security context USERTASK, the taskname is ignored and the command will be executed under the
user task.
The following rules apply to the taskname:
1. taskname is the name of an SA Automated Function with status ACTIVE. For a list of possible
names, see DISPAOPS command in IBM System Automation for z/OS Operator's Commands.
a. If the SA Automated Function is a single SA Automated Function, for example, EVTOPER, then
the associated NetView task is selected.
b. If the taskname represents an array of SA Automated Functions, then the corresponding
NetView task will be selected from this array via “RoundRobin”.
For example, the taskname is AOFCMDOPER which represents the array (AOFCMD01,
AOFCMD02,...). The specific definitions in CGlobals include: AOFCMDOPER.0 is the number
of tasks and AOFCMDOPER.n (n=1,2,…) is the n-th SA Operator Function. So for n=1,
AOFCMDOPER.1=AOFCMD01. This array of CGlobals must have been defined before you call
INGRCRPC.
Since taskname is restricted to a length of 8 characters, the name of the CGlobal array is also
restricted to 8 characters.
2. taskname is a valid NetView AUTOTASK (for example, AUTBASE) with status ACTIVE.
3. In any other cases (for example, unknown task name or inactive task), the command will NOT be
executed and error message ING332I will be returned.
resp_name
Optional name of a REXX stem that should receive the response.
Return Codes
0
The command has been executed (either successfully or unsuccessfully) and the command response
could be transferred back to the TSO caller. For more details, see “Response Data” on page 117.
1
Timeout on NetView site (only provided with USERTASK).
2
Timeout on TSO site.
4
Missing or invalid input parameter.
See message INGPC012I, which tells you the failing function parameter. Check description of the
failing function parameter for correct usage.
8
Error while writing into response stem.
The REXX stem name might be incorrect or an internal error occurred with INGPCREX.
9
Error while reading from input data stem.
The reason might be that the stem element input_data.0 does not contain a whole number; the
REXX stem name is incorrect; or an internal error occurred with INGPCREX.
16
Error using the NetView PPI API.
For example, writing into a PPI queue failed or DSIPHONE OPEN, CLOSE or READ failed.
For more details, see accompanied message INGPC010I or INGPC011I.
17
Security error.
The TSO user has no access to the SAF profile that protects the usage of this function. For more
details, see “Security Considerations” on page 119.
20
Internal error. REXX script error. For example, REXX Syntax error or NOVALUE condition
24
Internal error. Invalid response data stream.
25
Internal error. Cannot decode response data stream.
28
Internal error. Initialization failed.
32
Internal error. Cannot obtain system information.
Response Data
The input command will be executed on the NetView task via a PIPE command.
If the command is a REXX program, you can use the REXX instruction SAY or NetView command PIPE
CONS ONLY to write response data.
The command output will be collected automatically and returned to the calling TSO program using the
stem ‘resp.’. Only if the return code is zero, you can get back the response of the command execution.
RC=INGRCRPC(cmd,,,,’resp.’)
resp.0 Number of output lines from the command execution plus one for the info
message.
resp.1 Always one of the following info messages ING330I, ING331I or ING332I
resp.n, n=2,3,... All output lines collected from the command execution.
If function INGRCRPC sends the command to the target task, then message ING335I will be written to
NETLOG before the command is executed. For example:
ING335I Execute remote command on behalf of JOB=BDOW USER=BDOW OPER=AUTCMD03
CLIST=TESTRPC COMMAND=TECHO
For a full description of these messages, see System Automation for z/OS Messages and Codes.
Examples
Usage Example
• Send the NetView command RES to the default receiver INGRCRCV. Wait up to 10 seconds, which is the
default. Receive and display the command output.
rc = INGRCRPC('RES',,,,’out.’)
if (rc=0) then
do i=1 to out.0
say out.i
end
• Send the command INGLIST to a different command receiver with PPI ID PPIQNAME, which will
execute the command within the security context USERTASK. Wait up to 30 seconds for response.
rc = INGRCRPC('INGLIST OUTMODE=LINE',,’PPIQNAME’,’USERTASK’,’out.’,30)
• Send MVS command D A,BDOW* to the default receiver INGRCRCV. Wait up to 30 seconds for response
on the TSO side but stop MVS command execution until the first multi-line message was received.
rc = INGRCRPC('MVS D A,BDOW*',,,,’out.’,30)
Programming Example
• This example invokes the MYREXPGM command via RPC and displays the output.
/*REXX*/
context='AUTOTASK' /*auto task security context*/
context='USERTASK' /*user task security context*/
data.0=3
data.1='input line 1'
data.2='input line 2'
data.3='input line 3'
command = 'MYREXPGM' /*ANY NETV command */
RC = INGRCRPC(command,,
'DATA.',,
'INGRCRCV',, /*default command receiver*/
,, /*default task*/
'RESP.',,
10,,
context)
SAY 'INGRCRPC RC='RC
if (rc=0) then
do i=1 to resp.0
say resp.i
end
EXIT
• The following self-written command MYREXPGM receives the input data and returns it as output data:
/*REXX MYREXPGM*/
SAY 'MYREXPGM STARTED'
ADDRESS NETVASIS,
'PIPE SAFE *',
'| STEM SAFE.'
/*SAY may be used to return response data */
SAY 'MYREXPGM SAFE.0='safe.0
do i=1 to safe.0
say 'OUTPUT('i'):' safe.i
end
SAY 'MYREXPGM ENDED'
EXIT
Security Considerations
Both the usage of TSO function INGRCRPC and the execution of the command in the corresponding
NetView task are subject to security checking.
USERTASK
Note: If the SAF profiles do not exist, access is granted per default.
In addition, the autotask (for example, AUTCMDnn) must be allowed to execute the command. The
following permission is needed:
USERTASK
The use of the security context USERTASK is subject to NetView command security.
NetView provides different flavors of command security. If you choose CMDAUTH=SAF in the NetView
security settings, then NetView performs SAF checking for command security and the TSO user BOB
needs the following permission:
These SA resources ensure that the RDS archive task makes the RDS table persistent. The advantage is
to start or stop archiving easily. Error situations reflected by error messages such as VSAM IO error could
also be trapped in the message table and associated with the SA resource. The resource status might
become broken indicating a severe error.
After importing the RDS_ARCHIVER and RDSARCH, the SA z/OS customization dialog defines an APG
resource group that includes an APL resource RDSARCH. It provides the function to start or stop RDS
archiving. Using INGTIMER as a PRESTART and REFRESHSTART command, the RDS archiving command
will be scheduled on the automated function AOFRDSAR periodically every nn seconds. See “Regular
Snapshot” on page 122.
After importing RDS_AUTOOPS the SA customization dialog defines the corresponding automated
functions AOFRDSAR and AOFRDSEV. Note that the names of the NetView Automation Operators must
match those that you define in member ING.SINGPRM(AOFOPFSO). You may customize this sample to
your needs. By default the following mapping is used:
Regular Snapshot
By default, the RDS archiving resource RDSARCH issues the command "INGVALUE ARCHIVE" every 30
seconds. It runs on the automated function AOFRDSAR. Archiving and restoring must run always on the
same task. Make sure that the RDS archiving works well and periodically performs the backup of RDS
tables.
RDS Initialization
During SA z/OS initialization the persistent RDS tables are restored into memory, if the VSAM file with DD
INGEMUGL exists.
If this status of the RDS initialization is not OK then the following message may appear:
ING388I Function or command INGRCVAC failed, RC=36 REASON=ARCHIVE rejected INIT STATUS=xxxx
If xxxx is a NULL string then the initialization of RDS was not performed.
INGRCRDX CKINST
If you set up RDS for TSO successfully the command output should look similar to:
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssN
Truncation warning. The data you are editing is variable length data with at e
least one record that ends with a blank. Saving the data will result in e
removal of any trailing blanks from all records. You can issue the PRESERVE e
ON command if you don't want the blanks removed. e
sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssm
AOF_AAO_RDS_TSO_DSN=HLQ.RDS.WORK
The data set name HLQ.RDS.WORK is customizable. You may create a PDS with a name of its own.
Sample of a PDS characteristics with maximum records length of 1000 if the total sum of all columns
definition of a table is smaller 1000 bytes:
Organization . . . : PO
Record format . . . : VB
Record length . . . : 1000
Block size . . . . : 32000
Data set name type : PDS
It retrieves the table mytab and displays it using the ISPF editor.
It retrieves the table mytab and displays it using the ISPF editor. You may change the table. Please
observe the rules of column specifications as described below. Changes to the table will be saved in a
temporary file and imported to the RDS table mytab. A table lock is obtained until the table is saved or
quit.
The following rules apply:
1. Respect the column length and keep one blank between each column.
2. For an existing table you should not delete columns or insert new columns because you cannot
overwrite column definitions.
3. For a table that does not exist yet: After you modified the table name in line 1 and saved the table
you can delete, insert and rename columns. Make sure that the numbers in parenthesis match the
column width. The new table name must not exist. If the new table name exists already the old column
definitions are used.
Sysplex Functions
The following functions are described:
• “Managing Couple Data Sets” on page 125
• “Managing the System Logger” on page 126
• “Managing Coupling Facilities” on page 127
• “Recovery Actions” on page 128
• “Hardware Validation” on page 135
• During initialization, SA z/OS checks that an alternate CDS is specified for every primary CDS. If there is
a primary CDS for which no alternate CDS exists, SA z/OS automatically creates it.
• At runtime, SA z/OS ensures that a new alternate is created whenever the current alternate has been
removed or switched to the primary one.
Customization
Recovery of alternate CDSs is initiated either by the CDS function of INGPLEX or in the background (for
example, at initialization time). Background recovery can be switched on and off by using the SA z/OS
customization dialogs. Automatic re-creation with INGPLEX CDS is always enabled.
You must specify the spare volumes that SA z/OS may use for creating missing alternate CDSs (using
the policy item SYSPLEX from the Policy Selection panel for sysplex groups). This is also required for
automatic creation with INGPLEX CDS. Every CDS type has its own pool of spare volumes. Note that if you
do not define spare volumes for a CDS type, no recovery is performed for this type. For details on the use
of the customization dialogs, see “Enabling Continuous Availability of Couple Data Sets” on page 137.
You can control access to those functions of INGPLEX CDS that modify the sysplex configuration. Refer to
the "Security and Authorization" chapter of IBM System Automation for z/OS Planning and Installation for
details.
Customization
Automation of system logger recovery is enabled through the SA z/OS customization dialogs. For more
details, see “System Log Failure Recovery” on page 176.
manipulate structures and the CFs themselves. For more information, see IBM System Automation for
z/OS Operator's Commands and the online help.
Some functions deal with the sender paths of a coupling facility. They have the following limitations. First,
at least one system in the sysplex that is running the automation must know the control unit ID (CUID) of
the coupling facility. If this is not the case, no missing sender paths can be resolved.
A missing sender path occurs when a coupling facility is deactivated prior to a system IPL (or reIPL) and
then activated afterwards. The system that has been IPLed (or reIPLed) does not recognize the coupling
facility. To determine the missing sender paths, the automation calls the HOM interface of HCD. Resolving
the missing path information is only possible when either the complete network address is defined in HCD
along with the processor ID, or you provide the CPC synonym used by the automation as the processor ID.
However, it is recommended that you define both. If neither is defined, the system that misses the sender
paths must run the automation.
Recovery Actions
Vary the active console (COND=A) offline. For SMCS consoles, issue the
appropriate VTAM command. V
{CN(x),OFFLINE
|
NET,TERM,LU1=x,
TYPE=FORCE
}
Cancel the job or TSO user that caused the shortage, but only when
defined as a candidate during customization. C {jobnm,A=asid
|U=userid
}
IEA406I Resume the console if it was suspended and if it is not a SMCS console. V CN(x),ONLINE
Restore the console attributes.
Set the deletion mode to the value before the buffer shortage occurred. K S,DEL=old,L=x
Set the interval between message rolls to the value before the buffer K S,RTME=old,L=x
shortage occurred.
Set the list from which the console is to receive unsolicited messages to V
the list before the buffer shortage occurred. CN(x),MSCOPE=(l)
Increase the WTO message buffer size to minimize future shortages as K M,MLIM=new
follows:
IEA231A Cancel all jobs and TSO users that have outstanding WTORs and that are
defined as candidates during the customization. C {jobnm,A=asid
|U=userid
}
IEA232I Issue the message AOF928 for irreversible changes (RMAX). Issue the
message AOF929 for permanent changes (RLIM).
Automation examines ENQ contention associated with command processing and builds a list of blockers
and waiters. The SA z/OS policy is then examined to see how long waiting commands and waiting jobs are
allowed to wait before automated action is taken. The policy is also examined to determine what action
(DUMP, NODUMP, KEEP or exclude) is to be taken against the blocking command or job, as follows:
1. When a command inhibits other commands from completing and no policy definitions exist for any of
the waiting commands, no automated action is taken.
2. When a command inhibits jobs from completing and no policy definitions exist for the blocking
command, no automated action is taken.
3. When a job inhibits commands from completing and no policy definitions exist for any of the waiting
commands, no automated action is taken.
If long-running ENQ and hung command recovery detect that the same resource requires automated
action at the same time, the hung command recovery policy definitions take precedence and hung
command recovery automates the resource.
The action taken (DUMP, NODUMP, KEEP or exclude) is identical to the long-running ENQ recovery action.
In either case only commands that are waiting on blocked resources are considered. "Hung" command
recovery only considers those resources that are not being monitored by long-running ENQ recovery.
If long-running ENQ recovery is disabled then all resources, even those defined as long-running ENQ
resources, are considered for "hung" command recovery. It is also important to realize that if long-running
ENQ recovery is enabled and a generic "catchall" resource definition applies, then "hung" command
recovery cannot occur, because long-running ENQ recovery always take precedence.
Commands are executed by the master and console address spaces. Thus when a resource blocker is
from either of these address spaces it is considered to be a blocking command rather than a blocking job.
As with resources, you can make similar definitions for commands that determine how long a command is
permitted to lock a resource while other commands are waiting for the resource.
If the resource blocker is a job then recovery actions are only taken when the job has blocked the
command for 3 consecutive iterations of "hung" command recovery processing. This results in a job
blocking a command for no more than 90 to <120 seconds.
Recovery action for the blocking job or the job that issued the blocking command is the same as that
specified for long-running ENQ recovery automation.
ING924E. The latter message is repeatedly issued approximately every minute until the waiting queue
becomes empty.
The threshold is calculated by subtracting the number of jobs that are issuing commands in the command
class from the total number of TCBs (50) that are reserved for command processing. This prevents jobs
that repeatedly issue few commands from being evaluated.
The recovery ends when the message IEE061I is issued.
Note: The dump definitions are not in effect if a dump should be taken when the job is canceled. This is
because the recovery routine of the job that is being canceled can suppress the dump.
Customization
Automation of handling long-running enqueues is enabled through the SA z/OS customization dialogs. For
more details, see “Enabling Long Running Enqueues (ENQs)” on page 140.
Customization
Automation of message IXC102A is enabled through the SA z/OS customization dialogs. For more details,
see “Step 4: Automating IXC102A and IXC402D Messages” on page 139.
IRA203E Save the jobname of the very first message only. Next, check if the job
IRA204E has been defined for cancellation. Finally, schedule a timer to pop up AT hh:mm:ss
IRA210E 10 seconds later than the timer INGT742P. If this timer does not exist, ID=INGT742J
use the current time.
IRA202I Delete any pending recovery action.
IRA262I MVS D
ASM,LOCAL
PURGE
TIMER=INGT742P
PURGE
TIMER=INGT742J
PURGE
TIMER=INGT742S
IRA250I Determine whether SCM offline storage is available. If no more storage MVS D M=SCM
can be added, the recovery is terminated with RSN=0, but will continue
when IRA200E is issued.
Add 'increment size' of SCM storage. CF SCM(incr),ON
If CF SCM was successful schedule a timer for adding more SCM
storage in case this action was insufficient. Otherwise the recovery is AFTER 00:00:10,
terminated with RSN=28 ID INGT742S
IEE205I Mark the page data set ‘free’ if it is a spare data set.
PAGE n/a Repeats the recovery of messages IRA200E, IRA205I, IRA260E and
IRA265I after the timer INGT742P has expired.
PAGECRIT n/a Repeats the recovery of messages IRA201E after the timer INGT742P
has expired.
SCM n/a Repeats the recovery of message IRA250I after the timer INGT742S
has expired.
Hardware Validation
This function performs cross-validation of the hardware configuration mapped out in the customization
dialogs against the actual hardware configuration that is running. This information is critical to accurately
control logical partitions (LPARs) on any supported CPC within the HMC/SE LAN over the BCP Internal
Interface.
Hardware validation uses the CPC name, Partition name and Partition number to ensure that the LPARs
defined in the customization dialogs are on the correct CPC and located on the correct partition number.
However, this helps only for coupling facilities because their partition identifiers must be defined in the
active CFRM policy.
For MVS images, information from the HMC/SE (such as system name and sysplex name that are
stored during initialization) is used to verify the corresponding customization dialog definitions. During
initialization of the automation's Hardware Command Interface and just before a disruptive request is
sent to a partition, new checks are made to ensure that everything matches correctly.
Note: Only active images can be verified. For inactive images we must still rely on definitions made in the
customization dialogs.
An active system in this context is a system belonging to the same sysplex as the system that runs the
hardware validation, that is SA z/OS checks only systems and coupling facilities within its own sysplex.
Hardware validation runs on an SA z/OS system primarily during startup, and subsequently when changes
to the definition in the customization dialogs are applied through the INGAMS REFRESH command. The
validation checks the definitions of all registered systems, that is whenever an SA z/OS system performs
the hardware validation, it validates all systems and coupling facilities that are active in the sysplex at this
point in time. Registered systems are systems running SA z/OS that have joined the same XCF group.
The validation of active systems and coupling facilities requires that the CPCs that host the active systems
must all be defined in the customization dialogs.
The data for inactive systems cannot be verified. However, these definitions are checked for consistency
across all registered systems. As soon as one of these inactive systems or coupling facilities joins the
sysplex or is made available for use, the validation is run for the particular image only.
Retrieving actual hardware information can take up to 5 minutes per CPC depending on the model and its
LPARs. During the time that the hardware validation takes place all other hardware-related automation is
either delayed or cannot be performed, depending on the type of recovery. For this reason the validation
carries out "delta" processing. That is validating only the data that has changed. This also includes
the absence of data resulting in terminating CPC connections when CPC definitions are missing that
have been applied by a prior validation. The actions resulting from the validation are performed on ALL
registered systems. This has two advantages:
• you don't need to recycle NetView for changes in hardware definitions.
• you only need to make the changes available to one system.
The first part of the hardware validation triggered by the ACF command or the automation startup
determines what CPC connections must be terminated and initiated, namely in this sequence. The
resulting actions are performed on all registered systems. When this step has been completed
successfully the image validation is performed.
The image validation collects actual hardware information, and verifies the current hardware definitions
against the actual data and the definitions found on all other registered systems. It informs you if:
• A real system or coupling facility could not be validated because either actual hardware information or
user definitions are not available
• The image definitions could not be evaluated because the actual hardware information is not available
• The real system or coupling facility is not active and the image definitions of some of the registered
systems are different
• Any definition value has been corrected that was improperly defined or not defined at all
Changes in hardware definitions can be made available to all registered systems by simply invoking the
command INGAMS REFRESH on only one of the these systems. There is one exception: the change of
the authorization token value used for the communication with a particular CPC. A change of this value
requires 3 steps:
1. In the first step you must remove the particular CPC definition and then invoke the ACF command as
above.
2. When the command completes successfully the next step is to change the authorization token value of
the CPC at the Support Element.
3. The final step is to define the CPC again with the new token value and invoke the ACF command again.
Note: This behavior of the INGAMS command applies to the hardware definitions only.
The second part of the validation is triggered by either the message IXC517I that is issued when a
coupling facility is made available for use, or by the automation itself when notified that a system joined
the sysplex. Both trigger the automation to perform only the validation of the new system or coupling
facility. Multiple occurrences of messages for the same system or coupling facility are ignored while this
system or coupling facility is validated. In case of a new system, the advantage here is that the real
hardware is validated before the system starts NetView and the automation. If this automation then
detects no difference between its current definitions and the definitions of the other registered systems
—which is the normal case—only a consistency check takes place. This check does not require any real
hardware information.
Prerequisites
Note: Hardware validation is not supported on MVS systems running under z/VM.
For more information, refer to the online help or the section "More about Policy Item LPARS AND
SYSTEMS" in IBM System Automation for z/OS Defining Automation Policy.
In the customization dialog you define the potential alternate couple data sets using the Group entry type.
Select a sysplex group, then select its policy item SYSPLEX (define sysplex policy) from the panel Policy
Selection.
The Sysplex Policy Definition panel is displayed if you select policy item SYSPLEX from the Policy
Selection panel for sysplex groups.
For a description of this panel refer to the online help or the section "More About Policy Item SYSPLEX" in
IBM System Automation for z/OS Defining Automation Policy.
To set up the default behavior for all jobs not explicitly defined, a specification of CODE1=* and CODE2=*
is needed. To indicate that all other jobs might be canceled specify CANCEL in the Value Returned field,
otherwise specify KEEP.
The job name *MASTER* cannot be entered in the Code 1 field. Even if your default behavior is set up to
cancel all jobs that have not been explicitly defined, a cancel command is not issued against *MASTER* if
it is the job name being checked. This is because *MASTER* is non-cancelable.
Hint: If you want to use the IXC102A automation, make sure there is no processor operation related
IXC102A automation defined in your automation policy. Likewise, if you want to continue to use the
processor operations based automation of messages IXC102A and IXC402D, the IXC102A automation
flag must be disabled.
P
Specifies the profile to be used. The name can consist of up to 16 alphanumeric characters. If the
parameter is omitted, the last used profile is taken.
Note: The following restriction applies to the hardware commands ACTIVATE and LOAD:
Both commands invoke processor functions that can cause asynchronous events such as operator
messages at BCP (Basic Control Program) Internal Interface initialization time or processor hardware
wait states. Currently, the BCP Internal Interface does not allow the monitoring and control of these
events.
Use policy item MESSAGES/USER DATA of the SA z/OS customization dialog within the application type
IMAGE you created to define commands and codes for message IXC102A and IXC402D. Enter C or
S in the Cmd column and IXC102A in the Message ID column (or IXC402D for IXC402D message
automation). For more information, refer to the online help or the section "MESSAGES/USER DATA Policy
Item for Applications" in IBM System Automation for z/OS Defining Automation Policy. The definitions here
also apply to message IXC402D.
Pressing Enter displays the CMD Processing panel, as shown in Figure 27 on page 140. Use this panel
to specify a valid hardware command for the image in the Command Text column and a "Pass/Selection"
value that must match the "Value Returned" definition specified on the Code Processing panel.
On the Message Processing panel enter k to define codes. Specify on the Code Processing panel, as
shown in Figure 28 on page 140, the following:
If you want to automate messages IXC102A and IXC402D , you must enter IXC102A for Code 1 and
BCPII for Code 2 for both messages.
• The names of jobs that should be canceled or kept when detecting a long ENQ, a "hung" command, or
command flooding
• The snapshot interval for a command class
• The title of the dump taken before the job is cancelled
• The default storage areas to be dumped
• Symbol definitions to be used when the dump specifications are provided by a PARMLIB member
Use the entry type GRP in the customization dialog to define the following policies:
• Resource definition
• JOB/ASID definitions
• IEADMCxx symbols
• Command definition
• Snapshot interval definition
ENQ.HUNGCMD
Enables the handling of jobs and commands that inhibit other commands from completing execution.
ENQ.LONGENQ
Enables the handling of long-running ENQs.
LOG
For the recovery of the system log.
LOGGER
For the recovery of the system logger.
PAGE
For the recovery of auxiliary storage shortage.
WTO
For the recovery of WTO(R) buffer shortages.
XCF
For automating messages IXC102A and IXC402D.
By default, all recovery actions are enabled. If you want to disable them, use the customization dialog
Flag Automation Specification and set the recovery flag to NO.
Note: You can change the automation recovery flag during runtime by using the command INGAUTO.
SA z/OS always displays messages on the local system. It forwards them to a focal point, if there is one
defined.
Procedure
To define gateway sessions:
1. For each system, define the outbound gateway autotask (GATOPER) on the Automation Operators
policy object of the customization dialog. Refer to "Automation Operators Entry Type" in IBM System
Automation for z/OS Defining Automation Policy.
2. On the SA z/OS Network policy object, use the GATEWAY policy item to define the domains of all
systems within the network which need to communicate with each other. Refer to "Network Entry
Type" in IBM System Automation for z/OS Defining Automation Policy.
3. Define operator IDs used for all inbound and outbound gateway autotasks used on the system in
the NetView DSIPARM data set member DSIOPF. See the chapter on how to install SA z/OS on host
systems in IBM System Automation for z/OS Planning and Installation for details.
For example, the following panel defines a TAF fullscreen session for TSO in system CHI01:
COMMANDS HELP
------------------------------------------------------------------------------
AOFPINE3 Fullscreen TAF Application Definition Row 1 to 10 of 20
Command ===> SCROLL===> PAGE
Enter the applications with which SA z/OS operators can establish TAF
sessions automatically using the operator interface.
Procedure
1. The PRESTART policy in the STARTUP policy must have at least a NORMal start item with the INGVTAM
command to activate a list of major nodes. The following command can be used as an example:
Where majnoden are VTAM application major nodes. Each major mode is varied active to VTAM when
the subsystem prestart commands are issued. Note, it is expected that only one of the major nodes
contain the minor node that the VTAM application subsystem will use.
2. The FINAL definition in the SHUTDOWN policy is used to deregister the subsystem with SA z/OS VTAM
application recovery. Use the INGVTAM REQ=DEACTIVATE command in the policy. For example,
The DEACTIVATE request issues a vary net inactive for each major node registered by the
REQ=ACTIVATE. The vary is not done if the major node is shared by other subsystems that
have also registered the major nodes. When the last subsystem registered issues an INGVTAM
REQ=DEACTIVATE, the major node is varied inactive. The only exception to this is when the major
node contains model resources with wildcards in the node definition. In this case, the major node is
never inactivated.
3. The REFRESHSTART definition must have the same definition as the PRESTART definition in the
STARTUP policy. This policy item is used to reregister the subsystem with SA z/OS VTAM application
recovery.
4. Enter commands that are issued when the VTAM subsystem is restarted. Typically, these commands
reopen the VTAM ACB that the subsystem uses to communicate with VTAM.
5. Optionally enter a relationship for the subsystem to ensure that the prestart commands are only issued
when VTAM is up. The required relationship is:
where VTAM is the name of the VTAM subsystem and that is the supporting resource. Passive forces
the relationship to wait until VTAM is UP. Weak specifies that only the supporting resource status is
checked.
6. In addition the UP message for VTAM should have the following command:
INGVTAM REQ=ACTIVATE
Results
When INGVTAM is executed with REQ=ACTIVATE and no positional subsystem, it finds all the subsystems
that had previously registered via INGVTAM and issues Vary NET ACT commands for their major nodes.
After this has been done, it will execute any policy command(s) that is/are specified to USER MESSAGE
VTAMUP for the subsystems.
Example Definition
The actions you take to shutdown z/OS systems from within GDPS are defined using the
SYSTEM_SHUTDOWN message/user data policy item for the MVS Component entry type. These actions
can include instructing SA z/OS to shutdown resources out of the affected dependency path of GDPS
STOPAPPL, shutdown file systems, and so on.
PHASE1
INGREQ GDPS_ALL/APG/&SYSNAME. REQ=STOP PRECHECK=NO
REMOVE=SYSGONE
VERIFY=NO OUTMODE=LINE
PHASE1
INGREQ LOOKASIDE/APG/&SYSNAME. REQ=STOP PRECHECK=NO
REMOVE=SYSGONE
VERIFY=NO OUTMODE=LINE
PHASE1
INGRCHCK BASE_SYS/APG/&SYSNAME.OBSERVED=(SO HA)
PHASE1
INGRCHCK LOOKASIDE/APG/&SYSNAME.OBSERVED=(SO HA)
PHASE2
MVS Z EOD
Table 23 on page 151 shows example definitions for the SYSTEM_SHUTDOWN entry that place stop
votes against the listed resources in PHASE1 in a sequential order. The desired completion of the
resource shutdown is processed in parallel. The specified INGRCHCK command at the end of the PHASE1
sequences waits for the completion of the stop requests for the specified resources.
For example:
For more information about the INGRCHCK command, see IBM System Automation for z/OS Programmer's
Reference.
If synchronization is necessary, the FDBK option for the INGREQ command permits waiting until the
appropriate subsystem has been shutdown. The FDBK=WAIT option causes an INGREQ stop command to
be processed sequentially. In this way it slows down the shutdown process.
The primary and all secondary automation managers (PAM and SAMs) on the local system will be
shutdown by SA z/OS automatically unless they are moved to another system. OMVS will be shutdown by
SA z/OS automatically too. Only the MVS Z EOD command is issued in PHASE2.
INGREQ Considerations
If nothing has been specified, a default of OVERRIDE=(TRG FLG SUS) and TYPE=NORM is used.
If necessary, you can override the default via the INGREQ user exit AOFEXC01.
UPON (OTHERMSG)
SELECT
* Ensure all WTORs are being automated
WHEN (WQE SUBSTR 345 C2D ^= "+0")
REVISE("Y" AUTOMATE)
OTHERWISE
END
Incoming WTORs are processed by the NetView automation table (AT) and this triggers commands
according to the processing purpose:
ACTIVMSG, HALTMSG, TERMMSG 1. Update the status of the subsystem that issued the WTOR.
2. Issue defined commands or replies (or both).
3. Store the WTOR if it has not been replied to.
INGMON 1. Issue commands or replies (or both) that have been defined to a
monitor resource.
2. Store the WTOR if it has not been replied to.
The commands (other than OUTREP) are routed to the first active task that is defined in the AT synonym
%AOFOPGSSOPER%. Thus they are usually routed to the work operator of the subsystem that issued the
WTOR. This is done based on the job name that is associated with the WTOR.
Automation routines that process WTORs from subsystems that are not defined in SA z/OS or are from
MVS components are routed to tasks that the WTORs have been assigned to based on their message ID.
The OUTREP command is routed to the first active task that is defined in the AT synonym
%AOFOPSYSOPER%.
Example
Message ABC123D is issued by application ABCAPPL during startup as permanent, outstanding WTOR
and SA z/OS stores it as primary WTOR for this application. During the lifetime of the application,
whenever message ABC789I is issued in special situations, a reply should be issued to the permanent,
outstanding WTOR ABC123D for this application. The MESSAGES/USER DATA automation policy item for
message ID ABC789I of the application is used to define this reply.
When message ABC789I is issued by the application, SA z/OS retrieves the reply ID of the permanent,
outstanding WTOR and issues command MVS R 117,ABC RESTORE, as shown in Figure 31 on page 155.
Restrictions
The reply IDs of a subsystem's outstanding primary WTORs are stored by SA z/OS as a blank-separated
list without leading zeros. The storage for this is restricted to 255 bytes. If this limit is reached, the reply
IDs of further incoming primary WTORs are ignored.
Usage Notes
When storing incoming WTORs, a search for code definitions for the message ID, WTORS, is first made in
the entry for the subsystem that issued the WTOR.
If the subsystem itself cannot be found in the automation policy or the code definitions that are searched
for are not found for the subsystem, they are searched for under the MVSESA entry. For subsystems such
as IMS or NetView that have a permanent outstanding reply, you should specify the code definitions for
the subsystem entries themselves instead of MVSESA. This improves performance by reducing searches
within the automation policy.
• Indicator whether the COPY process was successful or not (S=successful, U=unsuccessful)
If user exit INGEX03 produces return code RC = 0, COPY processing continues. If a return code RC > 0 is
produced, an error message is displayed, the COPY function does not start, and processing terminates.
If user exit INGEX03 ended with return code RC > 0, the user exit INGEX04 is not called because the
COPY processing will terminate.
User exit INGEX04 is always called once the COPY function has started. The information about the
success or failure of the COPY function is passed as a parameter.
If user exit INGEX04 produces a return code RC > 0, an error message is displayed.
Note: When renaming an entry, a new entry is created and the old entry is deleted. Therefore, INGEX05
is called before the old entry is deleted and INGEX06 is called after the entry has been deleted.
• INGEX16: This is called after an entry has been renamed. The following parameters are passed:
– Entry Type
– Old Entry Name
– New Entry Name
• INGEX17: This is called during the IMPORT function, when reading data from the source policy
database. One parameter is passed:
– Name of copy data work table. This table contains the entry types and entry names of the data to be
copied.
• INGEX18: This is called after the IMPORT function has ended. INGEX18 is only called if INGEX17 was
called at the beginning of the IMPORT function. If checks have been made that prevent INGEX17 being
called, INGEX18 is not called either.
One parameter is passed:
– Indicator whether the IMPORT process was successful (S=successful, U=unsuccessful)
This example assumes that the high level qualifier of the data sets where the IBM supplied parts exist
is SYS1.
If you specify the SYSEXEC parameter in the INGDLG call, you need to specify the IBM supplied library
explicitly with its fully qualified data set name.
Initialization Exits
These exits are invoked during SA z/OS initialization:
• AOFEXDEF
• AOFEXI01
• AOFEXI02
• AOFEXI03
• AOFEXI04
• AOFEXI05
• AOFEXI06
• AOFEXINT
• Environmental Setup Exits
Figure 32 on page 161 shows the sequence that exits may be invoked during SA z/OS initialization.
AOFEXDEF
This exit is called at the start of SA z/OS initialization, before message AOF603D is issued. For example,
using AOFEXDEF you can load a different MPF table.
This exit is run on AUTINIT1.
Parameters: None.
Return Codes: 0 is expected.
AOFEXI01
This exit is invoked before the AOF603D ENTER AUTOMATION OPTIONS reply is issued. It is invoked in a
NetView PIPE and gets the data that is displayed in the AOF767I message as input in the default SAFE.
With this exit you can add or remove lines from the message and add additional options to the reply.
Parameters: The Load Type is passed on input.
IPL|RECYCLE
IPL
Indicates that SA z/OS has been started after an IPL.
RECYCLE
Indicates that NetView and therefore SA z/OS has been restarted.
Return Codes: 0 is expected.
AOFEXI02
This exit is invoked after the operator has replied to the AOF603D reply. It gets the operator's response to
the reply as input in the default safe and it can remove, add, or change the options that the operator has
entered.
Parameters: The Load Type is passed on input. See “AOFEXI01” on page 162.
Return Codes: 0 is expected.
AOFEXI03
This exit is invoked before SA z/OS loads the NetView automation table(s) and message revision table.
It can be used to create statistics of the currently loaded ATs. Together with the AT listings that SA z/OS
produces at load, these statistics can be used for any purpose.
Parameters: None.
Return Codes: 0 is expected.
AOFEXI04
This exit is invoked after SA z/OS loads the NetView automation table(s) and message revision table. It
can be used to store the AT listings that SA z/OS produces at load.
Parameters: None.
Return Codes: 0 is expected.
AOFEXI05
This exit is called before either an ACF load or refresh takes place. The parameter indicates what action
the automation agent is going to process: REFRESH or LOAD.
Parameters: Type of ACF action (REFRESH or LOAD).
Return Codes: 0 (Note: the return code is ignored by the caller).
AOFEXI06
This exit is called after an ACF process (LOAD or REFRESH) has completed (AOFCOMPL=YES) and before
the AOF540I message is issued.
Parameters: Type of ACF action (REFRESH or LOAD).
Return Codes: 0 (Note: the return code is ignored by the caller).
AOFEXINT
This exit is called when SA z/OS initialization is complete, before message AOF540I is issued. You can
use AOFEXINT to call your own initialization processing after SA z/OS has finished. Refer also to the
description of the global variable AOFSERXINT in AOFSERXINT global variable.
Parameters: The input parameter is the Starttype which is one of the following: RESYNC, IPL, REFRESH,
RELOAD, RECYCLE.
Return Codes: 0 is expected.
Parameters
Parameters are passed in sequence, delimited by blanks.
INITIALIZATION
INITIALIZATION is a constant.
RELOAD|REFRESH|IPL|RECYCLE
RELOAD
Indicates that the automation control file has been reloaded.
REFRESH
Indicates that the automation control file has been refreshed.
IPL
Indicates that SA z/OS has just been restarted after a system IPL.
RECYCLE
Indicates that NetView has been restarted.
Return Codes
0 is expected. If you return a non-zero return code you may prevent other exits from being invoked or
disrupt SA z/OS initialization.
Usage Notes
• These exits are not driven if you run RESYNC.
• Unlike the other static exits, you must specify the name of the routine or routines to invoke in the
automation control file.
Static Exits
These exits are invoked at fixed points in SA z/OS processing.
They are always invoked if they are found in the DSICLD concatenation. Positive return codes from these
exits are generally ignored, though it is recommended that you always exit with a return code of 0.
The main purpose of static exits is to allow you to take your own actions at specific points during SA z/OS
processing. The static exits available are described below.
AOFEXSTA
This exit is called from AOCUPDT every time the automation status of an application is updated.
Note: It is not necessary for AOCUPDT to change an application automation status for this exit to be
called. The exit is still invoked if the update does not result in a change of status.
AOFEXSTA can be used to perform any special status transition processing that cannot be triggered by
other methods.
Note: This exit is invoked frequently, and is invoked at times when SA z/OS is not fully initialized. Your exit
code should be as robust and efficient as possible.
SA z/OS attempts to load AOFEXSTA into storage at initialization. If this attempt fails, AOFEXSTA is not
invoked on any AOCUPDT calls. To activate the exit it must be present in the DSICLD concatenation when
the automation control file is loaded or reloaded.
AOFEXSTA runs on the task that called AOCUPDT, after all other processing has finished.
Attention: AOFEXSTA is scheduled with EXCMD opid(). If your operators are issuing commands
that change application statuses and you want to use AOFEXSTA, you may have to modify your
command authorization definitions.
Parameters: Parameters are passed in sequence, delimited by commas.
Resource type
SA z/OS uses types of SUBSYSTEM, MVSESA, WTORS, and SPOOL. Other users may use other
resource types.
Resource Name
For an application, this is the name of the subsystem it is defined as.
Automation Status
For an application, this is one of the automation statuses that is supported by SA z/OS.
SDF Root
This is the SDF Root, as specified in the customization dialog, for the system that originated the status
update. Generally the exit is driven only for status changes on other systems on the automation focal
point.
Return Codes: 0 is expected.
Restrictions:
• Because the exit is scheduled with EXCMD, the status update and subsequent processing in the caller
will have completed before the exit is invoked.
• Check the resource type and the SDF root to ensure you are only trying to process the right things.
• Plan carefully before you take any action to change the status of an application from this exit. If you are
not careful you may create a loop (AOCUPDT to AOFEXSTA to AOCUPDT to AOFEXSTA).
Notes:
AOFEXX02
The exit allows the installation to decide whether or not an SDF update should be performed for the
specified resource.
A non-zero return code from the exit causes the SDF update processing to be skipped, both locally as well
as for the focal point.
This exit is called prior to posting entries to SDF to provide the facility to filter out specific events.
Refer to the sample exit for details of the parameters passed to the exit and the return codes.
AOFEXX04
This exit is called from CHKTHRES every time that this routine is called to check the number of errors
recorded in the automation status file for a given resource against error thresholds that are defined in the
automation control file.
Refer to the sample exit for details of the parameters passed to the exit and the return codes.
AOFEXX05
The exit is driven by SA z/OS at initialization time when setting up the SDF panels and trees or by the
RESYNC SDFDEFS command.
The exit is used by the installation to replace user variables in the SDF panel definition. A user variable
must follow the same convention as a z/OS system symbol, that means it must start with an ampersand
(&) and finish with a dot(.). An example is &MVDOMAIN.
Refer to the sample exit for details of the parameters passed to the exit and the return codes.
Flag Exits
Using automation flag exits you can cause your automated operations code to exit normal SA z/OS
processing to an external source, such as a scheduling function, to determine whether automation should
be on or off for a given resource at that particular instant.
Flag exits can be defined for any flag (AUTOMATION, INITSTART, START, RECOVERY, TERMINATE, or
RESTART) on any major or minor resource. See the description of the MINOR RESOURCES policy item in
IBM System Automation for z/OS Defining Automation Policy for more information on minor resources.
You can specify multiple exits for each flag.
A flag exit is invoked only if SA z/OS checks the value of the current flag setting during the flag evaluation
process of AOCQRY, as described in IBM System Automation for z/OS Programmer's Reference. If one of
the global or specific flags, which have to be checked in one iteration step during the evaluation process
over the inheritance hierarchy levels is set to NO, the other flag no longer has to be checked.
With the default BYPASS option of AOCQRY, exits that have been defined for the automation flag of a
resource are executed when that automation flag is checked during flag evaluation and the flag value is
EXITS.
With the FORCED option of AOCQRY, exits that have been defined for the automation flag of a resource are
executed when that automation flag is checked during flag evaluation, independent of the flag value, as
long as it is not empty.
If an automation flag is set to EXITS, the flag value is assumed to be YES during flag checking as long as
none of the exits that have been defined for the checked resource switch the flag to NO. Exits that are
forced to execute do not change the flag value.
Flag settings are determined by:
• The automation policy settings
• NOAUTO periods (the flag is OFF during a NOAUTO period)
• The user-entered INGAUTO command
For example, if you enter the following flag settings:
When SA z/OS checks the current value of any flag for the JES2 application, the process is as follows:
Flag Process
AUTOMATION 1. Call exit J2AUT.
2. If the exit returns:
• RC=0: AUTOMATION flag is YES
• RC>0: AUTOMATION flag is NO
Flag Process
START 1. Call exit J2AUT (because of AUTOMATION global flag).
2. If exit returns RC=0, call exit J2STR.
3. If:
• Both flags return RC=0: START flag is YES
• Either flag returns RC>0: START flag is NO
Note: Normally the START and RECOVERY flags are checked by SA z/OS only for minor resources but not
for the subsystem itself.
Parameters
Parameters are supplied in sequence, delimited by blanks.
Flag
This is the name of the flag that is being checked. Possible values are AUTOMATION, INITSTART,
START, RECOVERY, TERMINATE or RESTART.
Time Setting
Time Setting is a constant. It can be either:
AUTO
Automation is currently turned on.
NOAUTO
Automation is currently turned off.
A value of NOAUTO is possible only if AOCQRY is called with the parameter EXITS=FORCED.
Note: This ensures that the exit is invoked, but it is not possible for an exit to override a NOAUTO
period.
Resource Name
This is the name of the resource that the flag is being requested for. For minor resources it contains
the fully qualified minor resource name. Given no flag definition for TSO.USER.MAG1 and an exit
enabled for TSO.USER, the resource name passed to the exit would be TSO.USER.MAG1 if a check was
made for TSO.USER.MAG1.
Resource Type
This is the type of the resource that the flag is being requested for. Possible values are DEFAULTS,
SUBSYSTEM, or MVSESA (the value of the common global variable AOFSYSTEM).
Target Prefix
This is the TGPFX value with which AOCQRY was invoked. If TGPFX is not specified, the value SUB is
passed.
Return Codes
0
Automation is allowed by the exit.
>0
Automation is not allowed.
Notes:
1. Flag exits are always called through the AOCQRY command. This means that the task global variables
for the resource have been primed and are available for use. Normally the names of the task global
variables are prefixed with SUB, but if AOCQRY is called with a different value for parameter TGPFX,
they are found in variables that are prefixed with that value. You should use the TGPFX parameter that
is passed to locate the task global variables.
2. The set of task global variables that are set by AOCQRY depends on the values for the resource and
request parameter. Make sure that the task global variables that you rely on in your exit are being set
up.
3. If an exit is invoked for a minor resource, the task global variables are set for the major resource that is
associated with that minor resource.
4. If you call AOCQRY from within your exit you must specify a TGPFX value that is different from the
TGPFX parameter value you were passed. You are responsible for ensuring the uniqueness of all
TGPFXs if you nest AOCQRY exits. Because this can become quite complex, it is recommended you
avoid nesting exits.
5. Do not code calls to ACFCMD, ACFREP, or CDEMATCH because these use task global variables that are
prefixed with SUB that may not be set up for the application that you want to process.
6. Do not change any of the task global variables that have been set by AOCQRY.
7. Flag exits may be called frequently, so performance is important.
8. If AOCQRY is specified with FORCE and multiple exits are defined for a flag, the exits are called in
order.
Command Exits
These exits can be called during the processing of certain commands.
Sample exits are provided with the product. For details on copying and updating sample exits, refer to IBM
System Automation for z/OS Planning and Installation.
AOFEXC00
The AOFEXC00 exit routine is called if the selection L has been entered in the AOC command dialog.
No parameters are passed to the routine. The purpose of this routine is to act as the starting point for
installation-provided local functions.
AOFEXC01
If this exit is defined, it is invoked during INGREQ processing before Precheck and Verification processing.
The exit allows you to modify the parameters that are passed.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
The exit is not called during the INGREQ REQ=CANCEL processing. You may use exit AOFEXC08 instead.
AOFEXC02
If this exit routine is defined, it is invoked during INGSCHED processing before the schedule override file
is updated. The parameters are positional and separated by a comma.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC03
If this exit routine is defined, it is invoked by the DISPINFO command slave to retrieve user-supplied
information about the subsystem. The input for the routine is the subsystem name. The data returned by
the exit is shown as part of the DISPINFO output.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC04
If this exit routine is defined, the command code U is supported for the DISPMTR, DISPSTAT, and INGLIST
commands. The input for the AOFEXC04 exit is the resource name (subsystem name for DISPSTAT) and
the location of the resource.
The location is either the system name if the resource resides on a system member of the local sysplex,
or the domain ID if the resource resides on a system that is outside of the local sysplex. For sysplex APGs,
REF and DMN resources, the location is always the system on which the INGLIST command was invoked.
The parameters are separated by a comma.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC05
This exit is called on entry of the INGLIST command. The exit allows you to modify the input parameters.
The modified input parameters are returned to the INGLIST command by sending a message (single or
multiline) to the console, for example:
OBSERVED=* DESIRED=*
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC06
This exit is called on entry of the INGSET command with the SET action. The exit allows you to perform
authorization checking of the resources for the INGSET command.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC07
This exit is called on entry of the INGIMS command. The exit allows you to perform authorization
checking of the IMS subsystem that is the subject of the INGIMS command.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC08
This exit is called on entry of the INGVOTE command. The exit allows you to perform authorization
checking of the resources for the INGVOTE command. Because the INGSET CANCEL/KILL and INGSUSPD
REQ=RESUME actions use the INGVOTE command, this exit is also called when performing these actions.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC09
This exit is called on entry of the SETSTATE command. The exit allows you to perform authorization
checking of the resources for the SETSTATE command.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC10
This exit is called on entry of the INGEVENT command. The exit allows you to perform authorization
checking of the resources for the INGEVENT command.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC11
This exit is called on entry of the INGCICS command. The exit allows you to perform authorization
checking of the resources for the INGCICS command.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC13
This exit is called on entry to the INGGROUP and INGMOVE commands. The exit allows you to perform
authorization checking of the user ID that issues the command.
Refer to the sample exit for details of the parameters passed to the exit and the return codes.
AOFEXC14
This exit is called by the SA z/OS GDPS termination routine (INGRGDPS) after stopping the PAM or
selecting a SAM to become the PAM.
Refer to the sample exit for details of the return codes.
AOFEXC15
If this exit routine is defined, it is invoked during INGREQ processing after the GO confirmation has been
received.
The user exit is called in a PIPE. Refer to the sample exit for details of the parameters that are passed to
the exit.
AOFEXC16
This exit is invoked by the INGTHRES command prior to updating or deleting the thresholds for a given
resource. It allows you to perform authorization checking of the requested action. If the exit returns with
a non-zero return code and additional data is written to the console, this data is shown in the message
panel. If no additional data is passed back in the exit, message AOF227I is issued.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC17
This exit is invoked by the INGALERT command. It allows you to:
• Modify the event text
• Reduce the Inform List with event notification targets such as IOM, EIF, TTT, and USR
• Modify the value that is returned from the matching code definition with information such as the event
severity or whether to ignore the event
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC18
This exit is invoked by the INGLKUP command. It is driven prior to stopping or canceling the specified
address space. It allows you to perform authorization checking of the requested action. If the exit returns
with a non-zero return code and additional data is written to the console, this data is shown in the
message panel. If no additional data is passed back in the exit, message AOF227I is issued.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC19
This exit is invoked by the INGAMS command. It is driven in the following cases:
• Enabling or disabling access to the takeover file
• Suspending or resuming systems
• Refreshing the configuration
• Performing a diagnostic action (starting or stopping recording, taking a snapshot)
• Switching the primary automation manager
The exit allows you to perform authorization checking of the INGAMS command. If the exit returns with
a non-zero return code and additional data is written to the console, this data is shown in the message
panel. If no additional data is passed back in the exit, message AOF227I is issued.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC20
This exit is called when a command is passed via the TWS request interface. The exit allows the
installation to perform authorization checking. Optionally, the exit can modify the command and/or the
completion information by returning up to two data lines:
• line 1 is the modified command including all its parameters. A null string must be returned when the
command is not modified. This is only necessary when modifying the completion information via the exit
• line 2 is the completion information:
– maximum return code
– completion checking coding.
The parameters must be separated by a comma. Error code U010 will be posted when one of the
parameters is wrong.
The installation exit is called in a PIPE. If the exit returns a bad return code and additional data is written
to the console, this data is written in the netlog. If no additional data is passed in the exit, message
AOF227I is issued.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC21
This exit is invoked by the INGOPC command with the option REQ=MOD. It allows you to perform
authorization checking of the requested action. If the exit returns with a non-zero return code and
additional data is written to the console, this data is shown in the message panel. If no additional data is
passed back in the exit, message AOF227I is issued.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC22
This exit is called when a trouble ticket is created using the INGALERT command. It allows you to
determine the trouble ticket detail data that is to be written to the detail data set.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC23
This exit is invoked when a request is passed via the TWS interface. It allows you to perform authorization
checking of the requested action. If the exit returns a non-zero return code and additional data is written
to the console, this data is taken as a message. If no additional data is passed back in the exit, message
AOF227I is issued.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC24
If this exit is defined, it is invoked during INGRUN processing. This exit allows you to modify the
parameters that are passed.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
AOFEXC25
This exit is invoked when an INGAMS REFRESH request is processed. It provides details about new,
changed and deleted subsystems (APLs), application groups (APGs) and monitor resources (MTRs). The
exit is driven on NetView operator AUTO2 to prevent performance degradation during refresh processing.
It is recommended to pass back a return code of 0, however, the return code is not checked, today.
Refer to the sample exit for further details.
AOFEXC26
If this exit is defined, it is invoked during INGSUSPD processing before Verification processing. The exit
allows you to check the parameters that are passed.
Refer to the sample exit for details of the parameters that are passed to the exit and the return codes.
Its default processing will check the passed comment for emptiness. If no comment is specified, it is not
possible to inject a suspend request with the sample exit.
The exit is not called during the INGSUSPD REQ=RESUME processing.
AOFEXC27
The AOFEXC27 user exit, introduced by APAR OA56547, performs authorization checking for the
INGAUTO command with its specified parameters. It provides you the flexibility to allow or prevent
setting automation associated flags by INGAUTO and DISPFLGS commands.
If AOFEXC27 is defined, it is invoked during INGAUTO processing, after INGAUTO parameters are passed
to it. Then, AOFEXC27 decides either to allow or deny INGAUTO execution based on the parameters.
SUSPEND and RESUME requests are always executed, independently of AOFEXC27 definitions.
Refer to the sample exit in the SINGSAMP library for details of the parameters that are passed to the exit
and the return codes.
Pseudo-Exits
This section discusses a number of places where SA z/OS either makes special use of a flag exit or has a
function with certain, exit-like, qualities.
Testing Exits
Exits should be well tested with a variety of different input parameters before they are put into
production. For exits that need AOCQRY task globals, you can call AOCQRY to set up the globals without
evaluating the flag exits, and then invoke the exit on its own for testing purposes. This method saves the
overhead of calling AOCQRY every time you run the exit.
Attention:
If you have a syntax error or a no-value-condition in your exit it can cause parts of SA z/OS to
abend, resulting in severe disruption of your automation.
• Command specification in the MESSAGES/USER DATA automation policy item for the special message
ID LOGREC
SYSLOG Processing
The syslog function that is provided responds to messages that are queued to the syslog. The function
starts an external writer to save the syslog that was queued. The commands to be selected can be defined
depending on the occurrence of the incoming messages.
The syslog function includes the following items:
• Automation routine AOFRSA08, see “AOFRSA08” on page 189
• Automation table entry for system message IEE043I
• Error threshold definitions for MVS component minor resource SYSLOG
• Command specification in the MESSAGES/USER DATA automation policy item for the special message
ID SYSLOG
• A NetView automation table entry for the application program abend message, DFS554A
• The subsystem that issues the abend message has the following automation policy definitions:
– Error threshold definitions in the MINOR RESOURCE policy item for the minor resource PROG.progid
or TRAN.tran
– Code definitions in the MESSAGES/USER DATA policy item for the message types
ABCODEPROG.progid, ABCODEPROG, ABCODETRAN.tran, or ABCODETRAN
– Reply or command specifications in the MESSAGES/USER DATA policy item for the message ID
DFS554A
Sample Scenario
A resource is found to be in a BROKEN state and the standard action needs to be enhanced.
1. SAPHOST_CTL/APL/AOCA is analyzed by INGWHY:
-------------------------------------------------------------------------------
SITUATION:
SAPHOST_CTL/APL/AOCA is not in its desired status and
automation is unable to proceed.
REASON 2 OF 2:
SAPHOST_CTL/APL/AOCA has a dependency on SAPHOST_EXE/APL/AOCA.
SAPHOST_EXE/APL/AOCA ..
..could not be started.
..is in a PROBLEM status and requires operator intervention.
..is in the agent status 'BROKEN'.
..may have received a non-recoverable error.
..is desired to be AVAILABLE.
ACTION 2 OF 2: INGWHYSA(A0209600)
Refer to your company's rules in order to take the appropriate
action.
You may contact the owner that is responsible for SAPHOST_EXE/APL/AOCA.
Consider the following commands to apply to SAPHOST_EXE/APL/AOCA:
- EXPLAIN
- SETSTATE
Command
===>___________________________________________________________________
ACTION 2 OF 2: INGWHYSA(A0209600)
INGWHYSA is the name of the DSIPARM member, where INGWHY reads the action text from, and
A0209600 identifies the action text within this file.
3. In ISPF, view member INGWHYSA and locate the action ID A0209600:
/*==============================================================*/
/* Action : A0209600 */
/* : Resource is in agent state BROKEN. */
/* The Desired state is AVAILABLE. */
/*==============================================================*/
IF #action = 'A0209600' THEN DO
'Refer to your company's rules to take the appropriate action.'
'You may contact the owner that is responsible for '#sub_res'.'
'Consider the following commands to apply to '#sub_res': '
'- EXPLAIN '
'- SETSTATE '
END
Copy the comment and the complete 'IF … THEN DO … END' section to your clipboard.
4. In ISPF, edit member INGWHYU and paste the content of your clipboard to the end of the file between
these lines:
/* ********************************************************** */
/* Start coding your action overrides here... */
/* End of INGWHYU */
/**************************************************************/
5. Edit and test the action in INGWHYU as described in the INGWHYU prolog.
Important: INGWHYU is processed by NetView as Data REXX code. Therefore, it must follow the Data
REXX syntax in logic mode.
Data REXX directive: /*%LOGIC. See Using Data REXX in Programming: REXX and the NetView
Command List Language.
Preparation
You need OMEGAMON for z/OS installed and running on the system where you want to run the procedure.
You need a TEMS server up and running that is in communication with OMEGAMON for z/OS.
Check you can display:
• OMEGAMON for z/OS
• OMEGAMON data from a TEP connected to the TEMS.
You need to know:
• a userid and a password that gives you access to the TEMS
• the IP address and the port number of the SOAP server running on the TEMS.
If you are going to use HTTPS for communication, you need to have already set it up under TCPIP. (See
the step for configuring Tivoli Enterprise Portal in "Traditional SA z/OS Configuration" in IBM System
Automation for z/OS Planning and Installation).
Procedure
1. Take a backup of your normal PDB and then open it in the customization dialogs.
2. Go into Data Management (Option 5) and select Import for Add On (Option 2).
3. Place a C (for Customize) against the *ITM add-on to get to the component selection panel.
4. You should see a list of components, use M to reMove and S to Select to ensure that only the
'Monitoring Analytic' component is selected.
5. Press PF3 and then select 1 to view the data to be imported. Select option 3 to run the import.
Results
After some informational messages, you should see Import Successful, after which you press PF3
twice to access the main menu.
Procedure
1. Open your PDB and select NTW (Networks).
2. Enter new TEMSserver, where TEMSserver is a unique name to identify the TEMS server that is
providing your OMEGAMON data.
3. Use Copy to copy the definitions from the SOAP_SERVERS network definition.
4. Select the SOAP SERVER policy and edit the HUBTEMS entry.
5. Enter the Host name and the Protocol.
If you are using HTTPS as your protocol, you need to change the port number to 3661 (although this
and the 1920 port number are only the default values, your site may have changed them).
6. Specify the User ID and Password of SAFPW.
This instructs System Automation that you are using the INGPW utility under NetView to supply the
password.
7. Press PF3 twice to return to your policy panel and then select WHERE USED.
8. Select the systems that will be receiving their OMEGAMON data through this TEMS server.
Note that it is important that there is only one single network with a HUBTEMS SOAP server defined
which is linked to each system.
9. Press PF3 to return to the entry selection panel.
Minor Resources
There is a minor resource called MONITOR defined. This controls the execution of the monitor when
the APL is Available. By default its RECOVERY flag is set to LOG. This means disruptive commands are
written to the Netlog rather than being executed. Non-disruptive recovery actions WARN and DIAG are
still performed.
For your first deployment you probably want to keep this value set to LOG, but for future deployments you
may want to enable your actions and set it to YES.
MESSAGES/USER DATA
There are two categories with definitions under this; INGCATEGORY and INGRECOVERY
• INGCATEGORY, you need to modify to add categorization rules for your address spaces.
• INGRECOVERY, use appropriate actions for the categorization.
You may want to inherit definitions for all LOOPSUPP monitors using the C_LOOPSUPP APL class.
Code Description
CODE1 The address spaces WLM Service Class.
CODE2 The address spaces job type: STC, BATCH, TSO. This value will be suffixed
with _SA as the address space defined to SA z/OS as an APL.
CODE3 The value of jobname.stepname for the address space. Note that the
code field is only 15 characters long, so you must use a wildcard if you
want to make the check critical upon the final characters of the step
name.
The output of the code match is the recovery category and this defaults to the name of the WLM Service
Class.
The sample policy puts all resources known to SA z/OS and all SYSOTHER resources into the WARN
recovery class, and all TSO users into the TSO_USER recovery category.
Press PF3 to exit when you are done.
Code Description
CODE1 The name of the Recovery Category; result of INGCATEGORY.
CODE2 The current recovery pass for the address space. The recovery pass is
reset if there is a monitor cycle where the address space is not reported
as looping or if the monitor APL is stopped. This is normally a number,
but if you specify an * the reaction happens on every pass.
CODE3 <blank>
Action Description
NONE Do nothing.
WARN Issue a warning message, ING601E. The message is written to the Netlog
and notify operators setup to be informed on behalf of class 40 and 44 to
receive the warning message.
Warning messages are posted to SDF under the MVSESA resource. The
number of passes the job has been found on determines their severity:
<10 -> UNUSUAL
<20 -> IMPORTANT
Action Description
DIAG Use the OMEGAMON Inspection tool to obtain diagnostics on the address
space and write a diagnostic report to the Netlog. This can assist in
identifying where in the code the loop is occurring.
STOP Issue an MVS STOP command for the address space, or, if it is a TSO
USER, an MVS CANCEL USER command is issued. If used with an address
space defined to SA z/OS the STOP command will still be issued, but it
will not be translated into an INGREQ STOP request. This is to allow you
to code a direct shutdown sequence on a pass after you have tried a
SHUT_ command.
CANCEL Issue a MVS CANCEL command for the address space or, if it is a TSO
USER, an MVS CANCEL USER command is issued. If used with an address
space defined to SA z/OS the CANCEL command will still be issued, but
it will not be translated into an INGREQ STOP request. This is to allow
you to code a direct shutdown sequence on a pass after you have tried a
SHUT_command
FORCE Issue an MVS FORCE, ARM command for the address space, or if it is a
TSO USER, an MVS CANCEL USER command is issued. If used with an
address space defined to SA z/OS the FORCE command is still issued, but
it is not translated into an INGREQ STOP request. This is to allow you to
code a direct shutdown sequence on a pass after you have tried a SHUT_
command.
SHUT_NORM Issue an INGREQ STOP for shutdown type NORM for an address space
defined to SA z/OS. If used with an address space not defined to SA z/OS,
it is translated into a STOP instruction.
SHUT_IMMED Issue an INGREQ STOP for shutdown IMMED for an address space
defined to SA z/OS. If used with an address space not defined SA z/OS, it
is translated into a CANCEL instruction.
SHUT_FORCE Issue an INGREQ STOP for shutdown type FORCE for an address space
defined to SA z/OS. If used with an address space not defined to SA z/OS,
it is translated into a FORCE instruction.
SUSPEND Issue an MVS RESET,QUIESCE for the address space. This stops any
further CPU dispatching for it, but not stop it.
RESET_class Issue an MVS RESET,SRVCLASS=class for the address space. This
changes its WLM dispatching class, preferably to one where it consumes
less CPU. Changing the address space to class SYSOTHER reduces its
dispatching priority to a very low value.
USER_prog The prog parameter is the name of a user program which, if found, is
invoked during the recovery process.
The parameters passed to the routine are:
Note: For address spaces of type BATCH, TSO, and OMVS, the jobid
parameter is set to the jobname. For any other types, the jobid is set to
the jobstep.
Linkage
Now that your categorization and recovery policies are defined (you can come back later and refine them),
you need to link the APL to one or more systems where it runs.
Note that the systems it gets linked to must have a Network (NTW) defining a SOAP server called
HUBTEMS linked to them or the monitor does not work.
To do this, create an APG with a blank automation name, make your LOOPSUPP_identity APL a member
of it and link it to the systems where you want the monitor to run. You can model the APG on the
ING_ANALYTIC APG if you wish.
Build
You now need to build your SOCNTL files and get them ready to be activated on the target system.
so if your userid was AutoAgnt and your password was ABC1234d you would issue:
When you subsequently change the password you need to reissue this command to tell System
Automation what the new password is.
AOFRSA01
Purpose
You can use the AOFRSA01 automation routine to respond to logrec data set nearly full or full messages
from your system by issuing commands from the configuration files to dump and clear the contents of the
logrec data set.
AOFRSA01 keeps track of the incoming logrec data set messages and compares their occurrence with
predefined thresholds of infrequent, frequent, and critical level. An exceeded threshold is used as the
option to select the appropriate commands according to the first field in the command entry of the
MVSESA/LOGREC entry/type-pair in the configuration file. If no threshold is exceeded the commands
defined for the selection option ALWAYS are issued.
AOFRSA01 should be called from the NetView automation table.
Syntax
AOFRSA01
Restrictions
• Actions are only taken in AOFRSA01 if the recovery automation flag for LOGREC is on.
• Processing in AOFRSA01 is only done if it is called from NetView automation table by one of the
expected messages IFB040I, IFB060E, IFB080E or IFB081I.
• The commands from automation policy to dump and clear the LOGREC data set are only issued if a
LOGREC recovery function is not already in progress.
Usage
Automation routine AOFRSA01 is intended to respond to the following messages:
The commands to issue are selected from the command entry of the MVSESA/LOGREC entry/type-pair in
the configuration file.
If no threshold is reached when one of the expected messages arrive, all commands to entries with
no selection option and to selection option ALWAYS are selected. If the threshold at level infrequent is
exceeded, all commands to entries with no selection specification option and to selection option INFR are
selected. In the same way a level of frequent corresponds to selection option FREQ and a level of critical
corresponds to selection option CRIT.
Make sure that the automation routine AOFRSA02 is issued by message IFC001I from the NetView
automation table, to indicate the completion of the LOGREC recovery function.
Global Variables
&EHKVAR1
When defining the commands in the configuration files to dump and clear the contents of the LOGREC
data set, the variable &EHKVAR1 can be used for the name of the LOGREC data set. This variable is
substituted with the complete data set name of the LOGREC data set name.
AOFRSA02
Purpose
You can use the AOFRSA02 automation routine to respond to the initialization message of the LOGREC
data set to reset the flag, which indicates that the LOGREC recovery function is in progress
AOFRSA02 should be called from the NetView automation table.
Syntax
AOFRSA02
Restrictions
• Actions are only taken in AOFRSA02 if the recovery automation flag for LOGREC is on.
• Processing in AOFRSA02 is only done if it is called from NetView automation table.
Usage
Automation routine AOFRSA02 is intended to respond to the following message:
This is produced during the initialization of the LOGREC data set and describes the limits of the data set.
The flag, indicating that the LOGREC recovery function is in progress, is used by automation routine
AOFRSA01.
Examples
This example shows a sample scenario for LOGREC data set processing:
The following entries in the NetView automation table are created automatically to issue the appropriate
automation routine when one of the expected messages arrives:
IF MSGID = 'IFC001I'
THEN
EXEC(CMD('AOFRSA02')ROUTE(ONE %AOFOPRECOPER%));
COMMANDS HELP
------------------------------------------------------------------------------
Thresholds Definition
Command ===>
Resource : MVSESA.LOGREC
Assume that the following message arrives the first time for one day:
Because none of the defined thresholds is exceeded, the automation routine AOFRSA01 searches for
defined commands without selection option and to selection option ALWAYS to be issued. With the
control file shown above the command MVS S CLRLOG,DSN=&EHKVAR1 is selected. Before issuing this
command, the variable &EHKVAR1 is substituted by the data set name of the received message resulting
in MVS S CLRLOG,DSN=SYS1.AOC1.MAN3.
If message IFB080E continues to arrive and the occurrence of the expected messages thus exceeds
the infrequent, frequent or critical threshold, the automation routine AOFRSA01 searches for defined
commands without selection option and to selection option INFR, FREQ or CRIT to be issued.
Because no command is defined with any selection option, only the defined command with no selection
option is selected and issued, as in the previous case.
Message AOF589I, AOF588I or AOF587I is issued in cases, where an infrequent, frequent or critical
threshold has been exceeded. These messages indicate that an infrequent, frequent or critical threshold
action has been processed.
If the recovery processing for a LOGREC data set is still in progress when an expected error message
arrives, the following message is issued:
The recovery process is considered to be finished, when message IFC001I arrives telling that the LOGREC
data set has been initialized.
AOFRSA03
Purpose
You can use the AOFRSA03 automation routine to respond to SMF data set full or switch messages from
your system. AOFRSA03 issues commands from the configuration files to dump and clear the contents of
the SMF data set.
AOFRSA03 keeps track of incoming SMF data set messages and compares their occurrence with
predefined thresholds at infrequent, frequent, and critical levels. An exceeded threshold is used as the
option for selecting the appropriate commands according to the first field in the command entry of the
MVSESA/SMFDUMP entry/type pair in the configuration file. If no threshold is exceeded the commands
that are defined for the selection option ALWAYS are issued.
AOFRSA03 should be called from the NetView automation table.
Besides that kind of automation, SA z/OS also checks for full SMF data sets which were filled up while
SA z/OS was not active. For each data set where a dump is required a command is issued if the selection
option is set to 'ALWAYS'. &EHKVAR contains fully qualified SMF data set name.
Syntax
AOFRSA03
Restrictions
• Processing in AOFRASA03 is done if it is called from NetView automation table by one of the expected
messages: IEE362A, IEE262I, IEE391A or IEE392I.
• If AOFRASA03 was triggered by one of the above messages, then actions are only taken if the recovery
automation flag for SMFDUMP is on.
• Actions in AOFRSA03 are only taken if the recovery automation flag for SMFDUMP is on.
• Processing in AOFRSA03 is only done if it is called from the NetView automation table by one of the
expected messages: IEE362A, IEE262I, IEE391A or IEE392I.
Usage
Automation routine AOFRSA03 is intended to respond to the following messages:
Global Variables
&EHKVAR1
When defining the commands in the configuration file to dump and clear the contents of the SMF data
set, the variable &EHKVAR1 can be used for the name of the SMF data set. This variable is substituted
with the complete data set name by AOFRSA03 when message IEE391A or IEE392I is received. In
case of message IEE362A or IEE362I this variable is substituted with MANn, the second part of the
SMF data set name.
&EHKVAR2
When defining the commands in the configuration file to dump and clear the contents of the SMF data
set, the variable &EHKVAR2 can be used for the name of the SMF data set. This variable is substituted
with the complete data set name by AOFRSA03 when message IEE391A, IEE392I, IEE362A, or
IEE362I is received.
Examples
This example shows SMF data set processing when AOFRSA03 is called from the automation table.
The following entries in the NetView automation table are created automatically to issue the appropriate
automation routine when one of the expected messages arrives:
COMMANDS HELP
------------------------------------------------------------------------------
Thresholds Definition
Command ===>
Resource : MVSESA.SMFDUMP
Assume that the following message arrives the first time on one day:
Because none of the defined thresholds has been exceeded, the AOFRSA03 automation routine searches
for commands to issue that have been defined without a selection option or with the selection option
ALWAYS. With the control file shown above the command MVS S SMFDUMP1,DA='&EHKVAR2' is
selected. Before issuing this command, the variable &EHKVAR2 is substituted with the data set name
from the received message, resulting in MVS S SMFDUMP1,DA='SYS1.AOC1.MAN3'.
If message IEE391A continues to arrive and the occurrence of the expected messages thus exceeds the
infrequent, frequent or critical thresholds, the AOFRSA03 automation routine searches for commands to
issue that have been defined without a selection option or with selection option INFR, FREQ or CRIT.
Because no command has been defined with a selection option, only the command that has been defined
without a selection option is selected and issued, as in the previous case.
Message AOF589I, AOF588I or AOF587I is issued in cases where an infrequent, frequent or critical
threshold has been exceeded. These messages indicate that an infrequent, frequent or critical threshold
action has been processed.
AOFRSA08
Purpose
You can use the AOFRSA08 automation routine to respond to syslog being queued messages by starting
an external writer to save the syslog that was queued.
AOFRSA08 keeps track of the incoming syslog queued messages and compares there occurrence with
predefined thresholds at infrequent, frequent, and critical levels. An exceeded threshold is used as the
option for selecting the appropriate commands according to the first field in the command entry of the
MVSESA/SYSLOG entry/type-pair in the configuration file. If no threshold is exceeded the commands that
are defined for the selection option ALWAYS are issued.
AOFRSA08 should be called from the NetView automation table.
Syntax
AOFRSA08
Restrictions
• Processing in AOFRSA08 is only done if it is called from NetView automation table by the expected
message IEE043I.
• Actions are only taken in AOFRSA08 if the recovery automation flag for SYSLOG is on and if the status of
JES is UP or HALTED.
Usage
Automation routine AOFRSA08 is intended to respond to the message:
IEE043I A SYSTEM LOG DATA SET HAS BEEN QUEUED TO SYSOUT CLASS class
which indicates that the system closed the system log (SYSLOG) data set and queued the data set to a
SYSOUT class.
The commands to issue are selected from the command entry of the MVSESA/SYSLOG entry/type-pair in
the configuration file.
If no threshold is reached when one of the expected messages arrive, all commands that are defined for
entries without a selection option and for the selection option ALWAYS are selected.
If the threshold at the infrequent level is exceeded, all commands that are defined for entries without a
selection specification option and for entries with the selection option INFR are selected.
In the same way, a level of frequent corresponds to the selection option FREQ and a level of critical
corresponds to the selection option CRIT.
Examples
This example shows a sample scenario for SYSLOG processing:
The following entry in the NetView automation table is created automatically to issue AOFRSA08 as
response to the incoming IEE043I message:
IF MSGID = 'IEE043I'
THEN
EXEC(CMD('AOFRSA08')ROUTE(ONE %AOFOPRECOPER%));
COMMANDS HELP
------------------------------------------------------------------------------
Thresholds Definition
Command ===>
Resource : MVSESA.SYSLOG
Assume that the following message arrives the first time for one day:
IEE043I A SYSTEM LOG DATA SET HAS BEEN QUEUED TO SYSOUT CLASS A
Because none of the defined thresholds is exceeded, the automation routine AOFRSA08 searches for
defined commands without selection option and to selection option ALWAYS to be issued. With the
control file shown above the command MVS S SAVELOG is selected.
If message IEE043I continues to arrive and the occurrence of the expected messages thus exceeds
the infrequent, frequent or critical threshold, the automation routine AOFRSA08 searches for defined
commands without selection option and to selection option INFR, FREQ or CRIT to be issued.
Because no command is defined with any selection option, only the defined command with no selection
option is selected and issued, as in the previous case.
Message AOF589I, AOF588I or AOF587I is issued in cases, where an infrequent, frequent or critical
threshold has been exceeded. These messages indicate that an infrequent, frequent or critical threshold
action has been processed.
AOFRSA0C
Purpose
You can use the AOFRSA0C automation routine to respond to a SVC dump taken to a dump data set
message by issuing commands from the configuration file to format the dump, to clear the dump data
sets, or to prevent further dumping. The commands to issue are taken from the MVSESA/MVSDUMP
and MVSESA/MVSDUMPTAKEN entry/type-pairs and selected according to the frequency of the incoming
messages and the thresholds defined in the automation policies. The first field in the command entry
gives detailed criteria to select the appropriate commands from the configuration file.
AOFRSA0C should be called from the NetView automation table.
Syntax
AOFRSA0C
Restrictions
• Actions in AOFRSA0C are only taken if the recovery automation flag for MVSDUMP is on.
• Processing in AOFRSA0C is only done if it is called from NetView automation table by one of the
expected messages IEA611I or IEA911E.
Usage
Automation routine AOFRSA0C is intended to respond to the following messages:
FOR ASIDS(id,id,...)
...
These indicate that the system wrote a complete or partial SVC dump to an automatically allocated or
pre-allocated dump data set on a direct access storage device or a tape volume.
AOFRSA0C keeps track on the reception of these messages and compares the frequency of the incoming
messages with predefined thresholds of infrequent, frequent and critical level, where the thresholds
to MVS component MVSDUMP are considered. The commands to issue are selected according to the
frequency of the incoming messages.
If no threshold is reached, all commands to entries with no selection option and to selection option
ALWAYS are selected. If the threshold at level infrequent is exceeded, all commands to entries with
no selection option and to selection option INFR are selected. In the same way a level of frequent
corresponds to selection option FREQ and a level of critical corresponds to selection option CRIT.
The commands to issue are taken from MVSESA/MVSDUMP entry/type-pair of the configuration file with
respect to the frequency of the incoming of these messages.
If AOFRSA0C has been triggered by receipt of message IEA911E, all the commands from the MVSESA/
MVSDUMPTAKEN entry/type-pair of the configuration file are also selected and issued, as long as the
critical threshold has not been exceeded.
After dump processing has been done, AOFRSA0C further monitors the frequency of messages IEF611I
and IEF911E in intervals of 15 minutes. As soon as the frequency falls below the infrequent threshold, all
the commands of MVSESA/MVSDUMPRESET entry/type-pair are issued.
Global Variables
When defining the commands in the configuration file to handle the SVC dump data set, the variables
&EHKVAR1 to &EHKVAR6 can be used to be substituted by variable contents of message IEA611I
or IEA911E. The variables &EHKVAR1 to &EHKVAR6 are not available in command entries of type
MVSDUMPRESET. These variables are substituted as follows:
&EHKVAR1
The dsname of IEA611I or suffix of SYS1.DUMPnn in IEA911E
&EHKVAR2
The data set name
&EHKVAR3
The dump ID
&EHKVAR4
The job name
&EHKVAR5
The ID of address space
&EHKVAR6
The dump type (PARTIAL or COMPLETE)
Examples
This example shows the use of automation routine AOFRSA0C in a sample context:
An entry in the NetView automation table is used to issue AOFRSA0C when one of the expected messages
arrives:
Three threshold levels are defined in the automation policy for MVS component MVSDUMP:
Command ===>
PF1=Help PF2=End PF3=Return PF6=Roll
PF12=Retrieve
The MESSAGES/USER DATA automation policy item of the MVSESA/MVSDUMP entry/type-pair contains
the following command entries for the message ID MVSDUMP with selection options at different levels:
'MVS DD CLEAR,DSN=&EHKVAR1'
'MVS DD ALLOC=ACTIVE'
As long as no threshold is exceeded at receipt of one of the IEA611I and IEA911E messages, no action is
taken.
If dumps have been taken more often than defined with the infrequent threshold, the command MVS DD
ALLOC=ACTIVATE, specified in entry type MVSDUMP, is issued. This makes sure that automatic dump
data set allocation is enabled. In cases when the dump has been written to a pre-allocated SYS1.DUMP
data set, additionally the data set is cleared using the command MVS DD CLEAR,DSN=&EHKVAR1,
specified in the entry type MVSDUMPTAKEN. Variable &EHKVAR1 is substituted by the numeric suffix of
the SYS1.DUMP data set.
The same processing is done in cases when the incoming dump data set messages exceeds the frequent
level.
As soon as the critical threshold is exceeded, the automation routine stops clearing pre-allocated
SYS1.DUMP data sets.
After commands having been issued by the automatic processing of dump data sets, automation routine
AOFRSA0C checks every 15 minutes whether the infrequent threshold is satisfied again. As soon as
this situation is reached, automatic dump data set allocation is enabled again by command MVS DD
ALLOC=ACTIVE, as defined in entry type MVSDUMPRESET.
AOFRSA0E
Purpose
Automation routine AOFRSA0E deletes WTORs from SA z/OS display capabilities when they are replied to
or canceled.
Syntax
,
AOFRSA0E
id
Parameters
id
The reply identifiers for cancelled messages.
Restrictions
Processing in AOFRSA0E is only done if it is called from NetView automation table by message IEE400I or
IEE600I or if one of these messages are passed by parameter.
Usage
Automation routine AOFRSA0E is intended to respond to the following messages:
Message IEE400I says that the system cancelled messages because the issuing task ended or specifically
requested that the messages be cancelled. Message IEE600I notifies all consoles that received a
message that the system accepted a reply to the message.
As well AOFRSA0E can extract the identifiers of the messages to delete from passed parameters.
Example
The following example shows how to issue AOFRSA0E from the NetView automation table:
AOFRSA0G
Purpose
You can use the AOFRSA0G automation routine to respond to messages reporting buffer shortage of
the action message retention facility (AMRF) by issuing commands from the configuration file to process
buffer shortage automation.
In the case of an incoming buffer shortage message, the commands to issue are taken from the MVSESA/
AMRFSHORT entry/type-pair with the selection option PASS1 and reissued at 1 minute intervals with an
incremented pass count.
In the case of a buffer full message, the commands to issue are taken from the MVSESA/AMRFFULL
entry/type-pair. If buffer shortage relieved is reported, the commands that are defined for the MVSESA/
AMRFCLEAR entry/type-pair are selected.
AOFRSA0G should be called from the NetView automation table.
Syntax
AOFRSA0G
Restrictions
• Actions are only taken in AOFRSA0G if the recovery automation flag for AMRF is on.
• Processing of system messages in AOFRSA0G is only done if it is called from NetView automation table
by message IEA359E, IEA360A or IEA361I.
Usage
Automation routine AOFRSA0G is intended to respond to the messages:
IEA359E and IEA360A reports buffer shortage of the buffer area for immediate action messages, non-
critical and critical eventual action messages and WTOR messages. IEA361I indicates the reduction of the
number of retained action messages so that the buffer is now less than 75% full.
If AOFRSA0G has been triggered on receipt of message IEA359E the commands to issue are taken
from entry/type-pair MVSESA/AMRFSHORT, starting at selection option PASS1 and continuing with
incremented selection options in 1 minute intervals until message IEA361 reports that buffer shortage
has relieved. After arriving the maximal used selection option for a defined command processing restarts
at selection option PASS1.
If AOFRSA0G has been triggered on receipt of message IEA360A all commands from entry/type-pair
MVSESA/AMRFFULL are issued.
If AOFRSA0G has been triggered on receipt of message IEA361I all commands from entry/type-pair
MVSESA/AMRFCLEAR are issued.
Example
The following example shows a sample scenario for AMRF shortage processing:
Entries in the NetView automation table are used to issue AOFRSA0G when message IEA359E, IEA360E
or IEA361I arrives:
IF MSGID = 'IEA359E'
THEN
EXEC(CMD('AOFRSA0G')ROUTE(ONE %AOFOPRECOPER%));
IF MSGID = 'IEA360A'
THEN
EXEC(CMD('AOFRSA0G')ROUTE(ONE %AOFOPRECOPER%));
IF MSGID = 'IEA361I'
THEN
EXEC(CMD('AOFRSA0G')ROUTE(ONE %AOFOPRECOPER%));
To specify how to respond to message IEA359E and IEA361I, the following command definitions are
made in the automation policy under the entry/type-pair MVSESA/AMRFFULL and MVSESA/AMRFCLEAR:
IEA360A SEVERE BUFFER SHORTAGE FOR RETAINED ACTION MESSAGES - 100% FULL
arrives, AOFRSA0G is issued by the shown statement in the NetView automation table, which causes the
command CONTROL M,AMRF=N to be issued to clear the AMRF buffers.
After AMRF buffer shortage is relieved, the incoming message
AOFRSD07
Purpose
You can use the AOFRSD07 automation routine to respond to a JES2 not dormant message during JES2
shutdown by issuing commands for resources that are not drained.
The commands to issue are taken from the automation policy item JES2 DRAIN of application JES2.
Additionally AOFRSD07 calls AOFRSD0F which outputs a list of all active jobs and started tasks and a list
of all resources not yet drained.
AOFRSD07 should be called from the NetView automation table.
Syntax
AOFRSD07
Restrictions
Processing in AOFRSD07 is only done if:
• It is called from NetView automation table by JES2 message HASP607
• The terminate automation flag for JES2 is on
• JES2 is in shutdown progress
Usage
Automation routine AOFRSD07 is intended to respond to message
which indicates in case the P JES2 command was entered to withdraw JES2 from the system that not all
of JES2's functions have completed.
To find out all resources not drained, the response to JES2 command DU,STA is processed. For each
resource in status DRAINING the corresponding command from the automation policy item JES2 DRAIN
for this resource type to force drain is issued. Resources in status ACTIVE are first stopped with JES2
command P resource, before the command from the automation policy item to force drain is issued.
Resources in status INACTIVE are only stopped with JES2 command P resource.
In cases, where the automation is unable to issue actions on not yet drained resources, JES2 is set to
status STUCK and a message is issued which tells that an operator action is required. Those situations
occur if no command is specified in automation policy item JES2 DRAINED of JES2 to drain a resource or
if a not yet drained resource is in an unknown status
AOFRSD09
Purpose
Automation routine AOFRSD09 is used for JES2 spool recovery. It is called by AOFRSD01 via a timer every
retry interval to monitor spool utilization of JES2 and to successive issue the recovery commands of policy
item JES2 SPOOLSHORT or JES2 SPOOLFULL.
For this purpose AOFRSD09 processes the following steps:
• AOFRSD09 issues the JES2 command D SPOOL to obtain the current spool usage.
• AOFRSD09 re-evaluates the target of recovery process based on the actual warning threshold for TG
and the buffer value from the configuration file.
• If the recovery target has not yet been achieved and the current JES2 subsystem is responsible for
the spool recovery, AOFRSD09 increments the pass count and issues the appropriate commands from
the configuration file. In a shared JES2 environment, where all JES2 subsystems receive a copy of the
spool shortage message, AOFRD09 determine the appropriate JES2 subsystem for spool recovery. To
do this, AOFRD09 compares the list of cpuids, as defined in configuration file, with the response to
JES2 command D MEMBER,STATUS=ACTIVE. The first active cpuid on the list is considered to be the
appropriate JES2 subsystem for spool recovery.
• In case the spool shortage problem has already been relieved, AOFRSD09 stops the recovery process
and sets a timer to reset the pass count for the recovery commands after the reset interval.
You define recovery commands and configuration parameters for JES2 recovery processing, such as
buffer value, reset interval and cpuid list, using automation policy item JES2 SPOOLSHORT for spool
shortage recovery processing and JES2 SPOOLFULL for spool full recovery processing.
For further information about the JES2 SPOOLSHORT and JES2 SPOOLFULL automation policy items see
IBM System Automation for z/OS Defining Automation Policy.
Syntax
AOFRSD09 subsystem recovery type
Parameters
subsystem
The subsystem name of JES2. This parameter is required.
recovery type
This parameter is used to distinguish between a JES2 spool shortage and a JES2 spool full condition.
This parameter is required.
SHORT
The automatic recovery from a JES2 spool shortage condition is to be processed.
FULL
The automatic recovery from a JES2 spool full condition is to be processed.
Restrictions
• Processing of recovery commands in AOFRSD09 is only done if the recovery automation flag for JES2 is
on. Otherwise the recovery process is suspended and the pass count for selection recovery commands
from the configuration file is not incremented.
• Automation routine AOFRSD09 should be processed by JESOPER. If it is called on another task it is
routed back to JESOPER.
• Processing in AOFRSD09 is only done if the specified type of spool recovery process has been initiated
by automation routine AOFRSD01.
• During a SPOOLFULL recovery condition, the processing for SPOOLSHORT recovery is suspended.
Usage
The recovery commands to issue are selected from the command entry of policy item JES2 SPOOLSHORT
or JES2 SPOOLFULL. A pass count is used as selection option and incremented at each successive
processing of automation routine AOFRSD09. At initialization of the recovery process, the pass count is
set to value PASS1 by automation routine AOFRSD01.
If pass processing runs out of defined recovery commands before the spool shortage condition is
resolved, AOFRSD09 re-executes the recovery sequence from PASS1. You can change this behavior
by setting the appropriate advanced automation option at start up of System Automation. You can use
the AOFSPOOLSHORTCMD variable (for SPOOLSHORT conditions) and the AOFSPOOLFULLCMD variable
(for SPOOLFULL conditions) to tell automation routine AOFRSD09 to stop recovery attempts when all
commands have been executed and to issue message AOF294I to inform the operator that manual
intervention is required in order to resolve the spool condition. For more information about advanced
automation options refer to “Read/Write Variables” on page 226.
Global Variables
When defining the commands in the SPOOLFULL or SPOOLSHORT processing panel of the configuration
file to handle the recovery, the variables &EHKVAR1 and &EHKVAR2 can be used to be substituted by
variable contents. Variable &EHKVAR1 is substituted by the current spool utilization and &EHKVAR2
contains the recovery target.
AOFRSD0F
Purpose
Automation routine AOFRSD0F is used by AOFRSD07 for drain processing prior to JES2 shutdown. Every
shutdown delay interval, AOFRSD0F displays all JES2 resources not yet drained. For this purpose it
scans the response to JES2 command DA,S for executing tasks, the response to JES2 command DA,J for
executing jobs and the response to JES2 command DU,STA for started devices or lines not yet drained and
displays the result in a message.
Syntax
AOFRSD0F subsystem
Parameters
subsystem
The subsystem name of JES2.
Restrictions
Processing in AOFRSD0F is only done if the following conditions are met:
Usage
This automation routine is performed as part of the SHUTDOWN processing.
Examples
This example shows a sample scenario for JES2 drain processing prior to JES2 shutdown.
The following statement shows how AOFRSD07 is issued from the NetView automation table by JES2
message
Assume the following drain processing specifications in automation policy item JES2 DRAIN:
COMMANDS HELP
------------------------------------------------------------------------------
JES2 DRAIN Specification Line 00000001
Command ===> Scroll ===> PAGE
The list of commands to force drain of JES2 resources are passed to the JES2/FORCEDRAIN entry/type-
pair in the configuration file and can be displayed with the DISPACF command:
Assume that during a shutdown of JES2 message $HASP607 arrives, indicating that not all of JES2's
functions have completed and that JES2's response to command $DU,STATUS is:
Automation routine AOFRSD07 first issues JES2 command $PLINE1 to stop the line and then issues JES2
command $E, according to the policy specifications FOR entry/type-pair JES2/FORCEDRAIN.
Then automation routine AOFRSD0F is executed every shutdown delay interval, to list all JES2 resources
not drained.
AOFRSD0G
Purpose
You can use the AOFRSD0G automation routine to drain JES2 resources prior to JES2 shutdown.
AOFRSD0G issues commands to drain the initiators, offloader tasks, lines, printers, punches and readers,
depending on which resources are listed and enabled in the automation policy item JES2 DRAIN of
application JES2.
AOFRSD0G is used by the DRAINJES command.
Syntax
AOFRSD0G subsystem
Parameters
subsystem
The subsystem name of JES2.
Restrictions
Processing in AOFRSD0G is only done if the subsystem is of type JES2.
Usage
For all resources enabled to initial drain in automation policy item JES2 DRAIN of application JES2 the
JES2 command P is issued.
Example
Call AOFRSD0G JES2 to stop all resources enabled in JES2 DRAIN for init drain.
These resources can be listed with command DISPACF JES2 INITDRAIN.
AOFRSD0H
Purpose
The AOFRSD0H automation routine is used for JES2 spool recovery. It is called by AOFRSD09 with a timer
command after the reset interval and cleans up the pass counter for the pass processing of the recovery
commands of the configuration file.
Syntax
AOFRSD0H subsystem recovery type
Parameters
subsystem
The subsystem name of JES2. This parameter is required.
recovery type
This parameter is used to distinguish between a JES2 spool shortage and a JES2 spool full condition.
This parameter is required.
SHORT
The pass counter for spool shortage recovery processing is to be reset.
FULL
The pass counter for spool full recovery processing is to be reset.
Restrictions
• The AOFRSD0H automation routine should be processed by JESOPER. If it is called on another task it is
routed back to JESOPER.
• Each recovery action during the reset interval
• AOFRSD0H is only scheduled after the reset interval if no new recovery action of the corresponding type
SHORT or FULL has been taken during this time.
• The pass counter for spool full recovery processing is reset by AOFRSD0H after the reset interval, even
if spool short recovery is still in progress.
Examples
The following example shows a sample scenario for JES2 spool recovery processing:
The following entries in the NetView automation table are used to issue the AOFRSD01 automation
routine from the NetView automation table, when one of the expected messages arrives:
The SPOOLSHORT recovery is configured using the automation policy item JES2 SPOOLSHORT as shown
in Figure 45 on page 202.
COMMANDS
HELP
------------------------------------------------------------------------------
JES2 SPOOLSHORT Specification Line 00000001
Command ===> Scroll ===> PAGE
Because no smfids are defined, the own JES2 subsystem is responsible for JES2 spool recovery
processing. Editing JES2 SPOOLSHORT CMDS policy allows you to enter the pass recovery commands
that are defined as shown in the response panel to command DISPACF JES2.
Assume that a JES2 spool shortage problem is reported by the following message:
This issues the AOFRSD01 automation routine by the appropriate NetView automation table entry.
AOFRSD01 initiates the JES2 SPOOLSHORT recovery process and sets an every timer to call the pass
processing routine by issuing AOFRSD09 JES2 SHORT every 5 minutes, as defined in the customization
dialog for SPOOLSHORT processing, see Figure 45 on page 202.
AOFRSD09 redetermines the actual spool usage, compares it with the defined TGWARN of 80% and
calculates the target of recovery as difference of TGWARN and the buffer value resulting in a value of
75. If this value is exceeded by the actual spool usage, all recovery commands with the PASS1 selection
option in the configuration file for the SPOOLSHORT recovery type are issued. After the retry interval of 5
minutes, AOFRSD09 is reissued by the timer.
If AOFRSD09 now determines that the JES2 spool shortage problem has been relieved, it stops recovery
processing and sets a timer to issue AOFRSD0H JES2 SHORT after the reset interval of 15 minutes.
If none of the expected JES2 messages arrives by the end of the reset interval, the AOFRSD0H
automation routine resets the pass count to 1 so that the next SPOOLSHORT recovery process issues
recovery commands beginning again at PASS1 selection option.
HASP099
Restrictions
Shutdown processing of the JES2 message HASP099 is only done if:
• Shutdown automation for JES2 is on
• JES2 is in the process of being shut down
Usage
The ISSUEACT command responds to message:
This indicates that all JES2 job processors have become dormant, and no JES2 RJE lines are active.
INGRMJSP
Purpose
You use the INGRMJSP automation routine to monitor JES2 spool file usage. It queries the spool usage
to obtain the current spool usage and the warning level. If necessary it calls the INGRCJSP automation
routine for JES2 spool recovery processing.
The INGRMJSP command also updates the SPOOL entry in the status display facility (SDF) every time it is
called.
Syntax
INGRMJSP
Restrictions
Monitoring by INGRMJSP is only done if it has been defined as the monitor command for an appropriate
monitor resource in the customization dialog.
Usage
The INGRMJSP monitoring routine queries the spool usage by issuing the D SPOOLDEF,TGSPACE
command to obtain the current spool usage and the warning level as set up by the JES2 system
programmer:
• If the spool file is full, INGRMJSP sets the health status to CRITICAL and calls INGRCJSP.
• If the spool usage is above the warning level, INGRMJSP sets the health status to WARNING and calls
INGRCJSP.
Depending on the spool full percentage and the warning level, one of the following return codes is set:
Example
To create a spool usage monitor in the customization dialog you must define the following items:
1. A monitor resource (MTR) with INGRMJSP as the monitoring command. For example, if you create
a monitor resource called JES2SPOOL with the short description JES2 Spool Monitor, specify the
following information in the MONITOR INFO policy item:
The monitor has a HasParent relationship to the corresponding JES2 resource because it only makes
sense to monitor the spool usage when JES2 is active.
3. The following recovery actions in the HEALTHSTATE policy item:
State Command
WARNING INGRCJSP
CRITICAL INGRCJSP
INGRCJSP (AOFRSD01)
Purpose
You can use the INGRCJSP automation routine for JES2 spool recovery processing. It responds to JES2
spool shortage messages by initiating the recovery process for JES2 spool shortage. It responds to JES2
spool full messages by initiating the recovery process for JES2 spool full to downgrade the problem of
excessive spool usage.
The INGRCJSP routine does the following:
• Makes linear and first order predictions of spool usage, based on actual and historical values.
• Posts the spool status to the status display facility (SDF).
• Determines the target of recovery processing as the difference between the actual warning threshold for
track groups and the buffer value from the configuration file. The spool shortage condition is considered
as relieved if the recovery process achieves this target.
• Initiates pass processing to execute the recovery commands of the configuration file, as defined with
the JES2 SPOOLSHORT or JES2 SPOOLFULL policy item. The pass processing itself is done by the
AOFRSD09 automation routine, which is issued every retry interval. The retry interval is taken from the
configuration file.
You define recovery commands and configuration parameters for JES2 recovery processing, such as
buffer value and retry interval, using automation policy item JES2 SPOOLSHORT for spool shortage
recovery processing and JES2 SPOOLFULL for spool full recovery processing.
For further information about the JES2 SPOOLSHORT and JES2 SPOOLFULL automation policy items see
IBM System Automation for z/OS Defining Automation Policy.
INGRCJSP should be called from the NetView automation table.
Syntax
INGRCJSP
Restrictions
• Processing in INGRCJSP is only done if it is called from NetView automation table by JES2 messages
HASP050 or HASP355.
• Message HASP355 is only processed if it reports a shortage of track groups (TG).
Usage
The INGRCJSP automation routine is intended to respond to the following messages:
HASP050 indicates that JES2 has a shortage of track groups and the current spool utilization exceeds
the current TGWARN value on this JES. TGNWARN is defined in the SPOOLDEF statement in the JES
initialization member and can be changed dynamically.
HASP355 indicates that a request for JES2 direct access spool space cannot be processed because all
available space has been allocated to JES2 functions or no spool volumes are available. Therefore the
recovery targets in this case are based on a figure of 100% spool utilization.
You should code TGWARN in the SPOOLDEF statement in the JES initialization member so that
SPOOLSHORT recovery is initiated before a SPOOLFULL condition is reached. If you do not do this the
recovery process may become unpredictable.
When resetting after a SPOOLFULL condition, the problem is downgraded to a SPOOLSHORT condition.
SA z/OS expects the SPOOLSHORT recovery that was previously running to activate and try to downgrade
the problem to an OK. Without the prior SPOOLSHORT recovery, the spool status remains in SPOOLSHORT
after a successful SPOOLFULL recovery.
The NetView automation table entries for JES2 messages must respect the one character prefix in front of
the message identifier of JES2 messages that identifies the issuing JES.
The spool status is posted to SDF under the SPOOL generic, with the name of the subsystem as its
specific name. To have these displayed on an SDF panel, you need status fields for xxxx.SPOOL, elements
1 through n, where n is the number of different subsystems that use the spool.
INGRTAPE
Purpose
INGRTAPE maintains tape status details under SDF. When SA z/OS detects an outstanding tape mount
request then it feeds the related message into SDF. If the request is not satisfied before the warning
interval has expired, the status will change to warning.
If the tape mount request is still not satisfied after the alert delay, the status will change to alert.
The tape mount request is deleted from SDF dynamically when the related tape is mounted or the
requesting job is canceled.
The routine INGRTAPE automation routine is used to visualize the pending tape mount requests within
SDF. Its behavior is based on the definitions in the 'Tape Attendance' policy entry. For information about
activating and customizing Tape attendance, refer to IBM System Automation for z/OS Defining Automation
Policy.
Syntax
INGRTAPE
Usage
Automation routine INGRTAPE is intended to respond to the following messages: IEC501E, IEC501A,
IEC502E, IEC503I, IEC507D, IEC509A, IEC510D, IEC512I, IEC513D, IEC514D, IEC701D, IEC702I,
IEC703I, IEC704A, IEC706I, IEC707I, IEC708I, IEC708D, IEC709I, IEC710I, IEC711I, IEC712I,
IEC713I, IEC714I, IEC715I, IEF233A, IEF233D,IEF234E, IEF455D, IAT5210, TMS001, TMS002,
TMS0012
Restrictions
The monitoring of tape mounts is only enabled when activated via the Customization Dialogs.
Actions are only taken in INGRTAPE if the recovery automation flag is on for the message in question. The
flag check is performed against minor resource MVSESA.messageID.
INGRX711
Purpose
Automation routine INGRX711 can reformat the primary and alternate LOGR CDSs with an increased
DSEXTENT parameter whenever the system reports a directory shortage.
Syntax
INGRX711
Usage
Automation routine INGRX711 is intended to respond to messages IXG261E and IXG257I.
Restriction
Automation must be allowed for the minor resource names: LOGGER and CDS.
INGRX740
Purpose
You can use the INGRX740 automation routine to respond to some syslog related system messages by
issuing defined recovery actions from the automation control file to restart the syslog or to assign the
syslog as a hardcopy medium.
INGRX740 keeps track of the incoming IEE037D syslog inactive message and compares its occurrence
with predefined thresholds for the MVS component minor resource, LOG. As long as the critical threshold
level is not exceeded, a recovery action related to a previously received system message is issued.
If one of the messages IEE043I, IEE533E or IEE769E is received prior to the IEE037D message that is
currently being processed, the commands that have been defined for IEE043I, IEE533E or IEE769E in the
MVSESA/msgid entry/type-pair of the configuration file are issued. If none of these messages has been
received prior to the IEE037D message that is currently being processed, the command MVS WRITELOG
START is issued.
The recovery routine INGRX740 also responds to an incoming IEE041I message if this indicates that the
SYSLOG data set is available for use as a hardcopy log. Commands are issued in response to message
IEE041I that are defined in the MVSESA/IEE041I entry/type-pair of the configuration file. An appropriate
command in this case would be MVS VARY SYSLOG,HARDCPY to have the SYSLOG receive the hardcopy
log.
INGRX740 should be called from the NetView automation table.
Syntax
INGRX740
Usage
Automation routine INGRX740 responds to the following messages:
Example
This example shows a sample scenario for system log failure recovery.
The following entry in the NetView automation table is provided by SA z/OS to issue INGRX740 in
response to incoming messages IEE043I and IEE037D:
Assume that the following threshold levels are defined in the automation policy for MVS component minor
resource, LOG.
COMMANDS HELP
------------------------------------------------------------------------------
Thresholds Definition
Command ===>
Resource : MVSESA.LOG
Assume that a command is defined for message IEE043I in the automation policy item MESSAGES/USER
DATA of MVS components, as shown in the following figure.
COMMANDS HELP
------------------------------------------------------------------------------
CMD Processing Row 1 to 4 of 20
Command ===> SCROLL===> PAGE
Assume that the following messages arrive the first time for one day, while the Job Entry Subsystem is up
and running and the recovery automation flag for the MVS component minor resource LOG has not been
switched off:
IEE043I A SYSTEM LOG DATA SET HAS BEEN QUEUED TO SYSOUT CLASS 1
IEE037D LOG NOT ACTIVE
Because IEE043I has been received prior to message IEE037D and the critical threshold that has been
defined for message IEE037D has not been exceeded, the command that has been defined for message
IEE043I is issued in response to message IEE037D.
Disclaimer
The Autodiscovery function provides a basic automation policy which must be finalized. It is the
responsibility of the user to finalize the policy in a way that does not cause unwanted effects in the
user's installation.
Components Overview
There are three major process elements to this design. They are the discovery engine, the preloader and
the file update facility of the SA z/OS Customization Dialog, here called 'importer'. In this overview you will
read about the purpose of these processes and the data they require and generate.
DISCOVERY ENGINE
The DISCOVERY engine runs on each target system. It non-disruptively extracts information from the
system's current workload and writes it to a system specific SNAPSHOT file.
SNAPSHOT FILE
The SNAPSHOT file is a regular text file and can be browsed with the ISPF browser. It should not be
edited. It mainly contains resources such as address spaces which were active at that point in time
when the discovery engine was running. The snapshot file is then sent over to the central system
where the customer is running the SA z/OS Customization Dialogs.
PRELOADER
The PRELOADER reads the data from the SNAPSHOT file, applies the rules encoded in the MAPPER
FILES to the data, extracts the relevant policy from the KNOWLEDGE BASE and then determines a
delta update that needs to be made to the PDB to add the newly discovered data. It writes out a set of
instructions for the IMPORTER in a FLAT FILE.
KNOWLEDGE BASE
The KNOWLEDGE BASE represents two automation policies, a best practice policy provided by
SA z/OS and an installation specific automation policy. The SA z/OS provided policy already contains
a variety of different applications that are expected to be encountered on a customer's system. This
policy cannot be changed by users. The installation's automation policy is a PDS that must be created
by the installation using the Customization Dialog. It is intended to be populated with automation
policy items to be used as a model for entities that you have identified in your installation's MAPPER
FILES.
MAPPER FILES
The MAPPER FILES primarily describe how the PRELOADER has to map a resource listed in the
SNAPSHOT file to a policy entry contained in the KNOWLEDGE BASE. Besides those mapper files,
which are predefined by SA z/OS , there may be installation defined mapper files. The preloader will
first try to map a discovered resource using the installation's mapper file. If no mapping was found,
the preloader will continue using the SA z/OS provided mapper file. The MAPPER FILES are regular
text files and can be processed with a normal text editor.
PDB
The PDB - also referred to as 'Target PDB' - is an SA z/OS Policy Database that the user has created
to hold the definitions of the discovered data. The user may have manually updated it to add or
customize specific policies.
FLAT FILE
The FLAT FILE is read in by the IMPORTER, and the instructions contained within it are then executed
to edit the PDB that it is being imported into. This will create the policy elements that represent the
discovered data.
FLAT FILES are regular text files and can be processed with a normal text editor. They should be
edited with caution however as they both need to follow the syntax rules for the SA Customization
Dialogs file update utility and the introduction of even a small error or incompatibility will prevent the
whole file from loading.
IMPORTER
The IMPORTER is just a short term for the file update facility of the SA z/OS Customization Dialog. It
reads a FLAT FILE and imports the data into the Target PDB.
At the start of Step 2 you need to identify the PDB that you are going to add the data to – it can be a newly
allocated one or an existing one. You then run each data file through the preloader (Step 2a) and import it
into the PDB (Step 2b) before you process the next data file.
During the preloader's analysis phase the discovery data is run through a set of heuristic rules, as defined
in MAPPER FILES, to classify it. Once it has been classified, its classification is utilized to select the
automation policy that will be used as a model for it during the construction phase.
You may specify your own policy selection rules to supplement those supplied and maintained by System
Automation. System Automation provides 'best practice' automation policy models for many applications
– and provides the ability for you to supplement or replace them with your own policy models. The output
of all of this processing is a flat file containing PDB update statements that can be applied to the PDB
through the Customization Dialog's Data Management function.
You have an opportunity to inspect the flat file and the reports produced by the preloader before
you import it into the PDB, so you can return to the analysis and construction process to refine the
identification and selection rules and then rerun the preloader, if it is necessary to do so. Once you have
imported the flat file into your PDB, you can move onto running the next data file through the preloader.
Procedure
1. Job INGEDEX0 should be run on a system where a full SA z/OS is installed. It needs to be edited to
specify the userid and system that the discovery engine should be sent to prior to submission.
2. Job INGEDEX1 should be sent to the target system.
3. Receive the transmitted data sets on the target system.
4. Job INGEDEX1 should then be run on the target system. It will unpack the data sets sent by
INGEDEX0 after allocating the appropriate data sets to hold them. It needs editing to specify some
details of the data sets prior to submission.
Results
You then need to make the code available to all systems where it will be run and to secure it to prevent
unauthorized execution.
Procedure
Prior to running the discovery job there is some set up that is required:
1. APF authorize the library the discovery code will be executed out of. For a full SA installation this has
probably already been done.
2. Ensure that the user you will be executing the discovery process under has appropriate authority –
permission to enter authorized mode on the z/OS side and superuser access on the USS side. These
permissions are only needed during the running of the discovery code and may be revoked afterwards.
Note that this has to be done for each system.
3. Produce the JCL to discover each system, with the system affinity and output data set properly set. You
can use the INGEDDSC sample member to do this. You need to edit it to specify some of the details
before you run it.
at a point in time when most of the applications are active. If your workload changes significantly during
the day or week, you can rerun the discovery process (once you have saved the output data files) to get a
view of the systems other workload. These can then be integrated into the PDB, although you will need to
manually create and link the Service Periods to automatically switch between the workloads.
Procedure
1. SA z/OS Knowledge Database PDB: Identify the HLQ of your SA z/OS installation's target library.
The HLQ is used to locate the SA z/OS Knowledge Base PDB. This automation policy is generated
based upon best practice policies supplied by SA z/OS. It contains the models for all of the resources
identified in the System Automation provided mapper files (and for a few others).
2. User's Knowledge Database PDB: Create or locate your installation's Knowledge Base PDB. Even
though you will not have edited your installation's mapping files yet if this is your first time through,
you need to have an installation's Knowledge Base PDB, which initially might be empty. Later on you
might want to populate this knowledge base. This is recommended if you need to deviate from the
SA z/OS knowledge base or if you want to enhance the knowledge base with your own entries.
3. Target PDB: Select the Target PDB. This is the PDB that you are going to update. It is recommended
that this is either a newly allocated, empty PDB or one that has previously been occupied with
automatically modelled data. If you use a PDB containing hand modelled data or data from our hand
modelling samples, you are likely to get a lot of duplication, as the automatically modelled entries tend
to be more complete, containing data that isn't necessarily specified on a hand made models.
4. Snapshot File: Locate the snapshot file which you want to process with this preloader run. For
each target system, you will have a snapshot file containing all discovered system resources and
definitions. You need to invoke the preloader for each snapshot file separately. Before processing
another snapshot file with the preloader, the generated flat file must be fed into the target PDB by the
importer. This is required because the preloader needs to know the current content of the target policy
to avoid generating invalid flat files.
5. Mapper files: Locate the mapper files. They are members of the SINGIMAP data set. There are some
SA ones and some user ones. The users’ mapper files in a U. When you want to modify them, you
should allocate a new PDS where you copy and maintain them. User mapper files must exist even
though they initially may not contain any mappings. You will find the mapper files documented in
Appendix F, “Autodiscovery Mapper Files and Report Formats,” on page 277.
6. Flat File: This is the output file of the preloader. It must exist before the preloader job is submitted.
After the flat file was generated and before another flat file will be generated, it is mandatory to import
it into the target policy.
7. Report Data Set: When generating a flat file, the preloader documents its progress in various
members of a report data set. The report is always generated and the partitioned data set must
exist before starting the preloader job. You will find the report members documented in Appendix F,
“Autodiscovery Mapper Files and Report Formats,” on page 277.
8. The Preloader takes two parameters that affect its' output: Unless you have been specifically
requested to do so by service, you normally omit the DEBUG parameter.
• DISPLAY, which causes the contents of generated reports to also appear in JOBLOG.
• DEBUG, which causes detailed debugging information to appear in the JOBLOG. Specifying DEBUG
forces the DISPLAY option, even if you have not specified it.
Results
You may wish to create one copy of the preloader job per target system, that is for each snapshot file. You
are now ready to run the preloader.
Procedure
The sequence for running the preloader is:
1. Verify the preloader job to point to the correct input and output data sets for the first target system's
snapshot file.
2. Submit the preloader job.
3. Inspect the output from the preloader.
What to do next
Remember: Before processing the next snapshot file with the preloader, the generated flat file must be
imported into the target PDB (see Step 2b). Then the target PDB is prepared to serve as input to the
preloader job for its next run. This sequence helps to avoid conflicts when importing flat files described
below.
You can either use the customization dialogs to select the target PDB and then use the Data Management
option to import the flat file into the target PDB, or you can use a batch job to perform the import. You
should do so only once you are happy with the contents of the flat file, as it is virtually impossible to
unimport it unless you have saved a copy of the PDB prior to performing the import.
Sample job INGEBFLT is provided as a sample batch job to run the import. Once the import is complete
you can run the preloader against another data file. You have to run it this way – preload/import – as the
preloader uses the information from the extract to prepare a delta update in the flatfile, that is, one that
contains things that are different. If you were to run multiple preloads against the same extract file, you
could end up with conflicts between the data in the flat files that would produce an invalid model when
they were imported.
Mapping Files
The Automated Modelling Tool is extended by adding statements to a set of user mapping files that are
processed by the preloader. System Automation (SA) versions of these files are also provided and should
be used in conjunction with your user files to take full advantage of the automated modelling capabilities.
The mapping files are listed below. The first name is the SA member, the second is a user member that
you should edit your own policy into. Refer also to the appendix section “Mapper Files” on page 277.
INGSMAID / INGSMAIU
This is the Address Space Identification Mapping file. It contains rules for identifying Address Spaces
from the data discovered about the address space.
INGSMGRP / INGSMGRU
This is the XCF Group identification file. It contains rules for identifying the XCF groups that were
found to have been established.
INGSMGMB / INGSMGMU
This is the XCF Group Member identification file. It contains rules for identifying members of XCF
groups based upon the type of the group and the name that the member joined the group with.
INGSMUID / INGSMUIU
This is the USS Address Space Identification Mapping file. It contains rules for identifying processes
that were found running under USS.
INGSMPLU / INGSMPLY
This is the Policy Mapping file. If contains rules for selecting which identified Address Spaces will
be converted into SA policy, what model policy, if any, will be used for them and which of their
established fields will be over written.
INGSMVRS / INGSMVRU
This is the variable mapping file. It is used to define symbols – in addition to those found by the
discovery process – that can be used in the field value formulas in the policy mapping file.
The supplied user files contain some sample values that will probably not work on your system. You
should remove them.
This panel lists all policy entries as contained in the reference policy. It allows you to add additional
entries to your target policy. Because all entries are imported by default -if they do not already exist- into
your target policy, you need to:
1. Overtype the GRP and SYS entry names in the 'Entry Name' column with those names used in the
installation, so they match the Sysplex and System names in the target policy. As a result you will find
a 'Y' in column 'D'.
2. Remove each entry from the list, which should not be imported. In order to get an initial operational
policy, remove all entries from the 'Selected Entry Names for Import' panel except those entries of
type MVC, SDF, ADF, AOP, NFY, NTW and XDF.
Then run the import.
If you have more sysplexes and/or systems in your target policy, you need to repeat this import step for
each of the installation's sysplexes and systems.
Then in the user policy mapping file, specify that the ARM Element name for the address space should be
modelled as ABC@&AOCCLONEA. You may need to copy the mapping rule from the SA supplied mapping
file.
This should result in the generation of an APL that has an ARM Element name of ABC@&AOCCLONEA. And
which can be used on both the SYS1 and the SYS2 systems. The AOCCLONEA values would also be set on
those two systems.
In situations where the values cannot be specified in the APL policy using AOCCLONE values, your
options are more limited – clean up your system to reduce the variability or live with multiple application
instances. In the latter case, you may want to create a class to hold the common policy and just leave the
instances holding the discovered data values. This will give you a single place to change the automation
policy for the APLs.
transient applications. Their names, relationships and links need to be adapted according to the reference
policy.
Troubleshooting
My Application is Missing From the Flatfile
Check first that the APL has not already been imported. You need to open the PDB up in the
customization dialogs and look at the APLs to check this. It may have been renamed. If the APL
is already in the PDB, it will not be included in the Flatfile.
Next you need to check the EXCLUDE report to see if the address space is mentioned in there. If it is,
you need to look at the Policy Mapping rule that it hit. If it is an exclusion rule, you need to add a new
policy mapping rule to link the address space to the correct APL model for it.
For the APL import to work correctly, you need three things – correct identification of the address
space, model automation policy in one of the KB data sets (either an unmodified SA sample or an
entry from your user KB) and a rule in the policy mapping files to tie the two together.
Multiple Entries are Generated for the same Application
See the above section “Avoiding multiple entries for the same application” on page 222.
You must ensure that the names of any global variables you create do not clash with SA z/OS external or
internal global variable names. You should check the following tables before creating any global variables
of your own.
Read-Only Variables
The values of these variables are used by SA z/OS internally. They can be read but must not be changed
by user REXX routines.
AOFAOCCLONEx Where x either does not exist See the description of the
(AOFAOCCLONE) or is a value from System policy object in IBM
1 through 9 or A through Z. The System Automation for z/OS
AOFAOCCLONEx global variables contain Defining Automation Policy.
the values specified for the &AOCCLONEx.
variables for this system.
AOFCOMPL Contains YES if initialization is complete.
AOFDEBUG Contains a REXX trace setting to be used
globally.
AOFINITIALSTARTTYP Contains the value 'IPL' or 'RECYCLE'
depending on whether SA z/OS has been
started the first time after an IPL or after a
NetView recycle.
AOFJESPREFX The command prefix for the primary
scheduling subsystem.
AOFPFP Contains the domain ID of the primary See "SDF FOCALPOINT
focal point (PFP). Policy Item" in IBM System
Automation for z/OS Defining
Automation Policy.
AOFSYSPLEX Contains the name of the physical sysplex. See the 'Sysplex' column on
the INGAMS panel.
AOFSYSPLEXGROUP Contains the name of a GRP policy entry The GROUP INFO panel of
with group type SYSPLEX as defined in the the customization dialog. See
customization dialog. the 'SAplex' column on the
INGAMS panel.
Read/Write Variables
Table 25 on page 227 lists the common global variables that can be user-defined. You can set them in
your startup exit to change the way that SA z/OS behaves. These variables should be set only once for an
SA z/OS system. You can enable or disable advanced automation options (AAOs) by changing the settings
of the global variables in your NetView stylesheet. For example:
******************************************************
* System Automation AAO CGlobals
******************************************************
COMMON.AOFCNMASK = 290C0D0E0F101518
COMMON.INGREQ_ORIGINATOR = 1
COMMON.AOFRESTARTALWAYS = 0
COMMON.AOFSMARTMAT = 0
AOF_AAO_SDFPFP_ROOT.* User-defined Defines the static root names of the primary focal
point. For more information, see "Restrictions and
Limitations" of the SDFTREE command in IBM System
Automation for z/OS Programmer’s Reference.
When this variable is used, the
AOF_AAO_SDFPFP_ROOT.0 variable must exist and
defines the number of adjacent globals.
The value of an adjacent global can be the name of
a single root name or a list of root names that are
separated by blank characters.
The globals are evaluated only when the primary
focal point and the backup focal point are updated in
parallel.
left(opid(),8)||right(opid(),8),
||left(aofsysname,4)||right(aofsysname,4),
||left(applid(),8)||right(applid(),8),
||'ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789$Ý#@_!?',
||aofcnmask_extended
Where
• opid() is a function that returns the OST task name
• aofsysname is a common global that stores the
system name
• applid() is a function that returns VTAM LU name
• aofcnmask_extended is an optional common global
that can store an additional user-defined identifier
(see AOFCNMASK_EXTENDED.)
The default for AOFCNMASK is 290C0D0E0F101718.
X'29' selects character A in position 41, X'0C' through
X'10' selects the last five characters of the opid in
positions 12 to 16, X'17' and X'18' select the last two
characters of the sysname in positions 23 and 24.
If AOFCNMASK is null, AOCGETCN attempts to obtain
a unique extended MCS console after a 1 minute
interval, followed by a two minute interval and so forth
for a maximum of 5 passes (15 minutes elapsed from
the initial invocation of the command).
Tailoring AOFCNMASK requires you to ensure that it
consists of an even number of characters, because
every two characters represent one hexadecimal
number. Otherwise the generation of unique console
names does not work.
For example, with
AOFCNMASK: 2A01020304055455
AOFDEFAULT_TARGET User-defined Sets a default for the TARGET parameter for all
commands where this parameter is used.
AOFDESCA 010000100000 Descriptor code for action messages
1000
AOFDESCD 010000100000 Descriptor code for decision messages
1000
AOFDESCE 001000100000 Descriptor code for eventual action messages
1000
AOFDESCI 000001100000 Descriptor code for informational messages
1000
AOFDESCW 100000100000 Descriptor code for wait messages
1000
AOFEXPLAIN_USER User-defined The EXPLAIN command accepts this variable to
include help support for customer installation
supplied terms. It can hold one or more pairs of term/
help panel specifications separated by a blank. If the
specified status in the EXPLAIN command is not a
valid SA z/OS status, the command routine checks
whether it is an installation defined term. If so, the
associated help panel is displayed.
AOFINITREPLY hh:mm:ss The initial reply AOF603D is issued and automatically
responded after hh:mm:ss.
00:02:00 (2 minutes) is the default setting.
AOF_INIT_SYSCONID User-defined This variable contains the SYSCONID that is used for
valid value WTOs and WTORs that are issued by SA z/OS during
initialization.
The default is blank.
AOFRMTCMDWAIT See NetView Contains the installation wait time when RMTCMD is
RMTCMD used for communication.
60 seconds is the default setting for RMTCMD.
INGCICS_CORRWAIT User-defined The number of seconds that INGCICS waits for output
numeric value from a CICS transaction. If not specified, INGCICS
uses a default CORRWAIT (CCDEF) value.
INGIMS_CORRWAIT User-defined The number of seconds that INGIMS waits for output
numeric value from an IMS command. If not specified, INGIMS uses
the default CORRWAIT (CCDEF) value.
INGOPC_MULTIPLIER 1 to n This is used in conjunction with AOFRMTCMDWAIT
and AOFRPCWAIT to determine how long to wait
before giving up.
INGPAC_SHOWNOLIMIT 1 Pacing gates that have a concurrency limit of NOLIMIT
are always shown on the INGPAC display. This is the
default.
0 Pacing gates that have a concurrency limit of NOLIMIT
are not shown on the INGPAC display.
INGRAITF_WAIT User-defined The number of seconds that the INGRAITF routine
numeric value waits.
INGREQ_ORIGINATOR 1 Indicates that SA z/OS assigns individual originator
IDs for each operator issuing an INGREQ command.
0 All operators are grouped under originator ID
OPERATOR.
0 is the default setting.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
DISPMTR_COLUMNS Specifies the panel column layout of the DISPMTR command. DISPMTR
This is a stem where:
• DISPMTR_COLUMNS.0 contains the number of elements
• DISPMTR_COLUMNS.n contains the definition of the n-th column
Each column definition is a blank separated list of tokens in the
sequence:
• prefix is the prefix indicator of the column which can be:
I when the column is 'immovable' which implies 'prefixed'
P when the column is 'prefixed' for horizontal scrolling
F when the column is 'floating' (that is, scrolled)
- when the column is hidden
• sortorder is the sort order of the column which can be:
A when the column is sorted in ascending order
D when the column is sorted in descending order
- when the column is not sorted or hidden
• sortkey is the sort key of the column which can be:
1-n when the column is sorted in the n-th place
- when the column is not sorted or hidden
• columnname is the name of the column. These can be multiple
words. Because this name is used to reference the column you
cannot change column names.
TGLOBALS with that name are a user-specific setting and they
overwrite the installation defaults. It is recommended to save a
layout to TGLOBALS and then derive CGLOBALS when needed.
Invalid definitions are silently ignored.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
DISPSTAT_COLUMNS Specifies the panel column layout of the DISPSTAT command. DISPSTAT
This is a stem where:
• DISPSTAT_COLUMNS.0 contains the number of elements
• DISPSTAT_COLUMNS.n contains the definition of the n-th column
Each column definition is a blank separated list of tokens in the
sequence:
• prefix is the prefix indicator of the column which can be:
I when the column is 'immovable' which implies 'prefixed'
P when the column is 'prefixed' for horizontal scrolling
F when the column is 'floating' (that is, scrolled)
- when the column is hidden
• sortorder is the sort order of the column which can be:
A when the column is sorted in ascending order
D when the column is sorted in descending order
- when the column is not sorted or hidden
• sortkey is the sort key of the column which can be:
1-n when the column is sorted in the n-th place
- when the column is not sorted or hidden
• columnname is the name of the column. These can be multiple
words. Because this name is used to reference the column you
cannot change column names.
TGLOBALS with that name are a user-specific setting and they
overwrite the installation defaults. It is recommended to save a
layout to TGLOBALS and then derive CGLOBALS when needed.
Invalid definitions are silently ignored.
DISPTRG_WAIT Sets the WAIT parameter of the DISPTRG command to the specified DISPTRG
value.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
EVIRYDP0_COLUMNS Specifies the panel column layout of the INGIMS REQ=DEP INGIMS
command.
This is a stem where:
• EVIRYDP0_COLUMNS.0 contains the number of elements
• EVIRYDP0_COLUMNS.n contains the definition of the n-th column
Each column definition is a blank separated list of tokens in the
sequence:
• prefix is the prefix indicator of the column which can be:
I when the column is 'immovable' which implies 'prefixed'
P when the column is 'prefixed' for horizontal scrolling
F when the column is 'floating' (that is, scrolled)
- when the column is hidden
• sortorder is the sort order of the column which can be:
A when the column is sorted in ascending order
D when the column is sorted in descending order
- when the column is not sorted or hidden
• sortkey is the sort key of the column which can be:
1-n when the column is sorted in the n-th place
- when the column is not sorted or hidden
• columnname is the name of the column. These can be multiple
words. Because this name is used to reference the column you
cannot change column names.
TGLOBALS with that name are a user-specific setting and they
overwrite the installation defaults. It is recommended to save a
layout to TGLOBALS and then derive CGLOBALS when needed.
Invalid definitions are silently ignored.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
INGAMS_COLUMNS Specifies the panel column layout of the INGAMS command. INGAMS
This is a stem where:
• INGAMS_COLUMNS.0 contains the number of elements
• INGAMS_COLUMNS.n contains the definition of the n-th column
Each column definition is a blank separated list of tokens in the
sequence:
• prefix is the prefix indicator of the column which can be:
I when the column is 'immovable' which implies 'prefixed'
P when the column is 'prefixed' for horizontal scrolling
F when the column is 'floating' (that is, scrolled)
- when the column is hidden
• sortorder is the sort order of the column which can be:
A when the column is sorted in ascending order
D when the column is sorted in descending order
- when the column is not sorted or hidden
• sortkey is the sort key of the column which can be:
1-n when the column is sorted in the n-th place
- when the column is not sorted or hidden
• columnname is the name of the column. These can be multiple
words. Because this name is used to reference the column you
cannot change column names.
TGLOBALS with that name are a user-specific setting and they
overwrite the installation defaults. It is recommended to save a
layout to TGLOBALS and then derive CGLOBALS when needed.
Invalid definitions are silently ignored.
INGAUTO_INTERVAL Sets the default for the INTERVAL parameter of the INGAUTO INGAUTO
command.
INGEVENT_WAIT Sets the WAIT parameter of the INGEVENT command to the INGEVENT
specified value. The parameter specifies whether or not to wait until
the request is complete.
INGEXEC_RESP Sets the RESP parameter of the INGEXEC command to the specified INGEXEC
value.
INGEXEC_SELECT Sets the SELECT parameter of the INGEXEC command to the INGEXEC
specified value.
INGEXEC_TIMEOUT Sets the TIMEOUT parameter of the INGEXEC command to the INGEXEC
specified value.
INGEXEC_WAIT Sets the WAIT parameter of the INGEXEC command to the specified INGEXEC
value.
INGGROUP_WAIT Sets the WAIT parameter of the INGGROUP command to the INGGROUP
specified value. The parameter specifies whether or not to wait until
the request is complete.
INGHIST_MAX Sets the MAX parameter of the INGHIST command to the specified INGHIST
value.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
INGHIST_WIMAX Sets the WIMAX parameter of INGHIST command to the specified INGHIST
value.
INGIMS_CMDWAIT Sets the CMDWAIT parameter (the maximum wait time for a INGIMS
command to complete) of the INGIMS command to the specified
value.
INGIMS_REQ Sets the REQ parameter (the request to be issued to the IMS INGIMS
subsystem) of the INGIMS command to the specified value.
INGINFO_WAIT Sets the WAIT parameter of the INGINFO command to the specified INGINFO
value.
INGLKUP_TIMEOUT Sets the TIMEOUT parameter of the INGLKUP command to the INGLKUP
specified value.
INGLKUP_WAIT Sets the WAIT parameter of the INGLKUP command to the specified INGLKUP
value.
INGLIST_COLUMNS Specifies the panel column layout of the INGLIST command. INGLIST
This is a stem where:
• INGLIST_COLUMNS.0 contains the number of elements
• INGLIST_COLUMNS.n contains the definition of the n-th column
Each column definition is a blank separated list of tokens in the
sequence:
• prefix is the prefix indicator of the column which can be:
I when the column is 'immovable' which implies 'prefixed'
P when the column is 'prefixed' for horizontal scrolling
F when the column is 'floating' (that is, scrolled)
- when the column is hidden
• sortorder is the sort order of the column which can be:
A when the column is sorted in ascending order
D when the column is sorted in descending order
- when the column is not sorted or hidden
• sortkey is the sort key of the column which can be:
1-n when the column is sorted in the n-th place
- when the column is not sorted or hidden
• columnname is the name of the column. These can be multiple
words. Because this name is used to reference the column you
cannot change column names.
TGLOBALS with that name are a user-specific setting and they
overwrite the installation defaults. It is recommended to save a
layout to TGLOBALS and then derive CGLOBALS when needed.
Invalid definitions are silently ignored.
INGLIST_WAIT Sets the WAIT parameter of the INGLIST command to the specified INGLIST
value.
INGMON_WAIT Sets the WAIT parameter of the INGMON command to the specified INGMON
value.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
INGMOVE_WAIT Sets the WAIT parameter of the INGMOVE command to the specified INGMOVE
value.
INGPAC_WAIT Sets the WAIT parameter of the INGPAC command to the specified INGPAC
value.
INGRELS_SHOW Sets the SHOW parameter of the INGRELS command to the specified INGRELS
value.
INGRELS_WAIT Sets the WAIT parameter of the INGRELS command to the specified INGRELS
value.
INGREQ_BOOST Sets the default BOOST parameter of the INGREQ command to the INGREQ
specified value.
INGREQ_EXPIRE Sets the default EXPIRE parameter of the INGREQ command to the INGREQ
specified value. It can be set only to a relative time (e.g. +4:00), but
not an absolute expire date/time.
INGREQ_INTERRUPT Sets the default INTERRUPT parameter of the INGREQ command INGREQ
to the specified value. The parameter specifies whether or not the
automation manager should wait until the resource has reached its
UP state, but the resource is still in the startup phase when the
higher priority stop request is given.
INGREQ_OVERRIDE Sets the default OVERRIDE parameter of the INGREQ command to INGREQ
the specified value.
INGREQ_PRECHECK Sets the default PRECHECK parameter of the INGREQ command to INGREQ
the specified value.
INGREQ_PRI Sets the default priority (PRI parameter) of the INGREQ command to INGREQ
the specified value.
INGREQ_PRI.E2EMGR Specifies the priority that incoming requests from the end-to-end INGREQ
automation manager are executed at. Default: LOW
INGREQ_REMOVE Sets the default value for the REMOVE parameter of the INGREQ INGREQ
command to the specified value. If the resource reaches the
specified status (condition), the request is automatically removed.
INGREQ_REMOVE.START Sets the default value for the REMOVE parameter of the INGREQ INGREQ
START command. If not specified the value set by INGREQ_REMOVE
is used.
INGREQ_REMOVE.STOP Sets the default value for the REMOVE parameter of the INGREQ INGREQ
STOP command. If not specified the value set by INGREQ_REMOVE
is used.
INGREQ_RESTART Sets the default for the RESTART parameter of the INGREQ INGREQ
command when shutting down the resource.
INGREQ_SCOPE Sets the SCOPE parameter of the INGREQ command to the specified INGREQ
value.
INGREQ_SOURCE Sets the default SOURCE parameter of the INGREQ command to INGREQ
the specified value. The parameter specifies the originator of the
request.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
INGREQ_TIMEOUT Sets the interval in minutes used to check for the INGREQ INGREQ
command used to check whether the request has been successfully
completed, and whether to send a message or cancel the request if
it has not been satisfied after that time.
INGREQ_TYPE Sets the default startup/shutdown type (TYPE parameter) of the INGREQ
INGREQ command to the specified value.
INGREQ_VERIFY Sets the default VERIFY parameter of the INGREQ command to the INGREQ
specified value.
INGREQ_WAIT Sets the WAIT parameter of the INGREQ command to the specified INGREQ
value.
INGRPT_WAIT Sets the WAIT parameter of the INGRPT command to the specified INGRPT
value.
INGRUN_CMT Sets the CMT parameter of the INGRUN command to the specified INGRUN
value.
INGRUN_MULT Sets the MULT parameter of the INGRUN command to the specified INGRUN
value.
INGRUN_OVERRIDE Sets the OVERRIDE parameter of the INGRUN command to the INGRUN
specified value.
INGRUN_PERSISTENT Sets the PERSISTENT parameter of the INGRUN command to the INGRUN
specified value.
INGRUN_PRI Sets the PRI parameter of the INGRUN command to the specified INGRUN
value.
INGRUN_REQ Sets the REQ parameter of the INGRUN command to the specified INGRUN
value.
INGRUN_RUNMODE Sets the RUNMODE parameter of the INGRUN command to the INGRUN
specified value.
INGRUN_RUNRES Sets the RUNRES parameter of the INGRUN command to the INGRUN
specified value.
INGRUN_SYSTEM Sets the SYSTEM parameter of the INGRUN command to the INGRUN
specified value.
INGRUN_TARGET Sets the TARGET parameter of the INGRUN command to the INGRUN
specified value.
INGRUN_TYPE Sets the TYPE parameter of the INGRUN command to the specified INGRUN
value.
INGRUN_VERIFY Sets the VERIFY parameter of the INGRUN command to the INGRUN
specified value.
INGRUN_WAIT Sets the WAIT parameter of the INGRUN command to the specified INGRUN
value.
INGSCHED_WAIT Sets the WAIT parameter of the INGSCHED command to the INGSCHED
specified value. The parameter specifies whether or not to wait until
the request is complete.
INGSET_VERIFY Sets the default VERIFY parameter of the INGSET command to the INGSET
specified value.
Table 26. Global Variables That Define the Installation Defaults for Specific Commands (continued)
Variable Name Description Reference 1
INGSET_WAIT Sets the WAIT parameter of the INGSET command to the specified INGSET
value. The parameter specifies whether or not to wait until the
request is complete.
INGSTX_WAIT Sets the WAIT parameter of the INGSTX command to the specified INGSTX
value.
INGSUSPD_EXPIRE Sets the default EXPIRE parameter of the INGSUSPD command to INGSUSPD
the specified value. It can be set only to a relative time (e.g. +4:00),
but not an absolute expire date/time.
INGSUSPD_REMOVE Sets the default value for the REMOVE parameter of the INGSUSPD INGSUSPD
command to the specified value. If the resource reaches the
specified status (condition), the request is automatically removed.
INGSUSPD_SCOPE Sets the SCOPE parameter of the INGSUSPD command to the INGSUSPD
specified value.
INGSUSPD_TIMEOUT Sets the interval in minutes for the INGSUSPD command to check INGSUSPD
whether the request completes successfully, and whether to send a
message or cancel the request if the request is not satisfied after
that time.
INGSUSPD_VERIFY Sets the default VERIFY parameter of the INGSUSPD command to INGSUSPD
the specified value.
INGSUSPD_WAIT Sets the WAIT parameter of the INGSUSPD command to the INGSUSPD
specified value.
INGTRIG_WAIT Sets the WAIT parameter of the INGTRIG command to the specified INGTRIG
value.
INGVOTE_EXCLUDE Sets the EXCLUDE parameter of the INGVOTE command to the INGVOTE
specified value. The parameter specifies the resource types (for
example SVP or GRP) to be excluded when showing all requests.
Resources of that type are filtered out.
INGVOTE_SHOW Sets the SHOW parameter of the INGVOTE command to the INGVOTE
specified value.
INGVOTE_SOURCE Sets the default SOURCE parameter of the INGVOTE command to INGVOTE
the specified value.
INGVOTE_STATUS Sets the STATUS parameter of the INGVOTE command to the INGVOTE
specified value. The parameter specifies which requests should be
displayed: winning, losing or all.
INGVOTE_WAIT Sets the WAIT parameter of the INGVOTE command to the specified INGVOTE
value.
INGWHY_TIMEOUT Sets the TIMEOUT parameter of the INGWHY command to the INGWHY
specified value.
INGWHY_WAIT Sets the WAIT parameter of the INGWHY command to the specified INGWHY
value.
1. See the specified command in IBM System Automation for z/OS Operator's Commands.
Root Component
The root component is typically an element appearing on the first screen displayed when SDF is started.
In Figure 53 on page 252, the CHI01 system is the root component.
Status Component
Resources monitored by SDF are called status components. In Figure 53 on page 252, system CHI01 has
JES2, RMF, VTAM, TSO, and NetView status components, as shown on the CHI01 System Status panel.
The status component panel displays all monitored resources in a system. Each monitored resource is
shown in the color of its current status. For example, JES2 is shown in green if it is up.
Status Descriptors
A status descriptor is a detailed record of information about a resource status. In its raw form, a status
descriptor is a multiline SA z/OS message containing information such as:
• Root component and status component to which the status descriptor applies
• Priority, color, and highlighting associated with the status descriptor (see “How Status Descriptors
Affect SDF” on page 254 for more information)
• Date and time the status descriptor was generated
• Actual resource status information; for example, an SA z/OS message indicating the resource is up
SDF uses information in a status descriptor to generate a detail status display (see “Detail Status Display”
on page 252). You do not usually look directly at a status descriptor; rather, you look at portions of it
through a detail status display. For example, in Figure 53 on page 252, the detail status display presents
information from a status descriptor for status component JES2. The 1 of 3 on the panel indicates that
JES2 currently has three status descriptors associated with it.
SDF generates, displays, and deletes status descriptors.
1 SY1
2 SYSTEM
3 WTOR
3 APPLIC
4 AOFAPPL
5 AOFSSI
4 JES
4 VTAM
3 TSO
3 RMF
2 GATEWAY
2 MONITOR
2 APG
3 GROUP
SA z/OS supplies a sample SDF tree structure in the SA z/OS sample library. This tree structure is
referenced by a %INCLUDE statement in member AOFTREE in the NetView DSIPARM data set. You can
customize this sample tree structure to meet your requirements. This order of dependency does not
have to be the same as that used for system startup or shutdown using SA z/OS. System symbols are
supported for the tree structure. This can help reduce both customization work and errors.
For example, using the tree structure in Figure 54 on page 253, if there is a problem with TSO, it is not
desirable to also change the VTAM status color, because VTAM is not having any problems. In contrast, in
the SA z/OS startup and shutdown procedures, TSO is dependent on VTAM.
More details on SDF tree structure definitions are in “Step 1: Defining SDF Hierarchy” on page 261.
White is used as the default status descriptor color (the DCOLOR parameter in member AOFINIT,
described in IBM System Automation for z/OS Programmer's Reference) and as the default color for
a status component without a tree structure entry (the ERRCOLOR parameter in member AOFINIT,
described in IBM System Automation for z/OS Programmer's Reference). For more information on the
PRIORITY parameter, see IBM System Automation for z/OS Programmer's Reference.
• in the SDF definitions in the Status Details policy object. These entries define colors, highlighting,
and priorities used for particular resource statuses. Color and priority assignments defined in the
customization dialog can be used to override assignments in the AOFINIT member.
Note: Some of the resource statuses that appear in SDF displays do not directly correspond to resource
statuses used in the automation status file.
IBM System Automation for z/OS Programmer's Reference shows the default resource status types,
colors, highlighting, and priorities provided with SA z/OS. These settings define to SA z/OS the
parameters used when adding status descriptors to SDF.
For more information on the SDF Status Details definition, see “Step 4: (Optional) Defining SDF in the
Customization Dialog” on page 266.
order of priority. Status descriptors are also chained off the root component. These status descriptors are
all the status descriptors that currently exist at all levels of the tree structure.
For example, Figure 55 on page 255 shows status descriptors currently generated for system SY1. The
priority for each status descriptor is shown by a number.
The status components at the lowest level in this tree structure, JES2, RMF, and VTAM, have status
descriptors chained off them. Status component JES2 has three status descriptors chained, with priorities
1, 10, and 50. Because 1 is the highest priority, the status descriptor with priority 1 is organized first in
the chain. This highest-priority status descriptor determines the color in which JES2 is displayed on the
status panel. If an operator uses the detail PF key to view detail status displays for JES2, the information
contained in the status descriptor with priority 1 is displayed first, then the detail status display for the
status descriptor with priority 10, and so on.
At the SYSTEM status component level in the tree structure, all status descriptors from the lower-level
status components are also chained. Because the status descriptors chained to RMF and VTAM have
higher priorities than the priority 10 and 50 status descriptors for JES2, they are organized after the
priority 1 status descriptor in the chain. An operator using the detail PF key at the SYSTEM level could
view five detail status displays, ranging from priority 1 to priority 50.
Similarly, at the SY1 level in the tree structure, all status descriptors chained to all status components
in the tree structure are chained in order of priority. An operator using the detail PF key at the SY1 level
could view six detail status displays, ranging from priority 1 to priority 100.
If a status component has multiple status descriptors with equal priorities, the status descriptors are
chained off the status component in order of arrival time.
When a status descriptor no longer accurately reflects the actual status of a resource, SDF automatically
deletes it from status descriptor chains. As an example of how priority determines order of status
descriptors, suppose two status descriptors currently exist for status component JES2. If there are two
status descriptors for JES2 with priorities of 120 and 140, the status descriptor with priority 120 is
displayed first. In both cases, JES displays in red on the SDF status panel.
In SA z/OS, all statuses are defined in the automation control file. When an automation event occurs, the
SA z/OS AOCUPDT command scans the automation control file for the SDF entry for that status. SA z/OS
issues a request to add the status using the information from the automation control file.
For example, suppose subsystem RMF, shown on the example SDF panels in Figure 53 on page 252,
is set to a STOPPING state. The SA z/OS AOCUPDT command scans the automation control file for the
STOPPING state entry for SDF and generates a status descriptor, specifying a priority of 420. SDF adds
the status descriptor to the RMF status component. RMF appears as yellow and reverse on the status
panel. Once RMF is in a stopped state, the AOCUPDT command scans the automation control file for the
STOPPED state SDF entry and generates a status descriptor with priority 120. SDF adds this new status
descriptor to the RMF status component. Now, RMF appears in red on the SDF status panel.
4. Because status descriptors are chained in order of priority, the JES status now reflects the status
descriptor color of the more serious problem.
5. When the more serious problem is resolved, the application program detecting the problem resolution
issues a request to SDF to remove the status descriptor for this problem from the chain of JES status
descriptors.
6. The status panel is updated to reflect the first problem.
Note: Both members AOFPNLS and AOFTREE must not contain any variable that is subject to replication.
See "Status Component Panel Definition" in IBM System Automation for z/OS Programmer's Reference for
the setup of AOF_AAO_SDFROOT.n variables.
See "AOFTREE" in IBM System Automation for z/OS Programmer's Reference for the setup and usage of
AOF_AAO_SDFCxxx.n variables.
ROOT_COMPONENT.STATUS_COMPONENT
For example:
SY1.JES2
Similarly, any SDF status descriptors that are forwarded from the target system to the focal point SDF are
prefixed with the root name of the target system by SA z/OS routines.
%>select
%> when cursys() = 'SY1P' then
%> do
If you plan to activate and deactivate the parallel update of the focal points using the INGAMS REFRESH
command, you need to adapt the above style sheet definitions as follows:
%>select
%> when cursys() = 'SY1P' then
%> do
/* PFP has defined PFP=SY1P and BFP=SY2B */
COMMON.AOF_AAO_SDFPFP_ROOT.0 = 1
COMMON.AOF_AAO_SDFPFP_ROOT.1 = PFPONLY
COMMON.AOF_AAO_SDFBFP_ROOT.0 = 1
COMMON.AOF_AAO_SDFBFP_ROOT.1 = BFPONLY
%> end
%> when cursys() = 'SY2B' then
%> do
COMMON.AOF_AAO_SDFBFP_ROOT.0 = 1
COMMON.AOF_AAO_SDFBFP_ROOT.1 = BFPONLY
%> end
%> otherwise
%> nop
%>end /* select */
These definitions allow the focal point processing to determine the SDF root names that must not be
deleted on the backup focal point when the parallel update option is deactivated.
For a description of the style sheet variables, see “Read/Write Variables” on page 226.
SDF Components
SDF consists of the following components:
START TASK=AOFTDDF
STOP TASK=AOFTDDF
Note: When SDF is restarted, all existing SDF status descriptors are lost, as they are kept only in memory.
Procedure
1. Define the hierarchy of monitored resources used for your SDF panels, using tree structure statements
in NetView DSIPARM data set members. These tree structure definition members should be
referenced by %INCLUDE statements in the main SDF tree structure definition member, AOFTREE,
in the NetView DSIPARM data set. See IBM System Automation for z/OS Programmer's Reference for
details.
2. Define SDF status panels using panel definition statements in NetView DSIPARM data set members.
Panels can either be automatically loaded when SDF starts, or dynamically loaded using the SDFPANEL
command. For panels to be automatically loaded, add %INCLUDE statement specifying the panel
definition member to the main panel definition member, AOFPNLS, in the (conref) DSIPARM data set.
See “Step 2: Defining SDF Panels” on page 262 for details.
Define and customize SDF status panels in the following general order:
a. Root panel
b. Status component panel for each entry on the root panel
c. Any other customized status panels.
3. Customize the SDF initialization parameters in NetView DSIPARM member AOFINIT, if necessary
(optional), or use defaults. See IBM System Automation for z/OS Programmer's Reference for detailed
descriptions of SDF initialization parameters. Using defaults is recommended.
4. Define SDF resource status, color, highlight and priority values using the customization dialog to edit
the SDF Status Display policy object, or use defaults. This step is optional. See IBM System Automation
for z/OS Defining Automation Policy for the description of the Status Display policy object. Using
defaults is recommended.
Notes:
a. Resources that SA z/OS is not currently automating are not displayed on SDF panels.
b. To display the status of multiple systems and forward status from target systems to SDF on a focal
point system, SA z/OS focal point services must already be implemented. See IBM Automation for
z/OS Defining Automation Policy for details on configuring focal point services.
In this tree structure, SY1 is the root component. This definition is in a separate member, named SY1. It is
referenced by the following statement in the AOFTREE member:
%INCLUDE(SY1TREE)
PFK4=SDFCONF &ROOT,&COMPAPPL,&RV,&SID,&SNODE,&DATE,&TIME,&DA
Using SDFCONF to delete a record in SDF is useful because it prompts you for confirmation before
performing the actual deletion. If you do not want the prompt panel to appear, then add ",VERIFY=NO"
to the end of the SDFCONF command.
You must call SDFCONF to delete exceptional messages, that is, captured messages with the severity
Unusual, Important and Critical. The SDFCONF command removes a message entry from the SDF
control structure and also from all other interfaces where the message is shown, for example, TEP.
• End panel statement (ENDPANEL)
Descriptions of these panel definition statements are in IBM System Automation for z/OS Programmer's
Reference.
SY1 GATEWAY
===>
1=HELP 2=DETAIL 3=RET 6=ROLL 7=UP 8=DN 10=LF 11=RT 12=TOP
Figure 58 on page 264 shows the panel definition statements required to define the panel in Figure 57 on
page 263.
In Figure 58 on page 264, the panel name is SYSTEM. This panel definition can either be in a separate
member referenced by an %INCLUDE statement in AOFPNLS or be directly coded in AOFPNLS. The
recommended method is to use a separate member and an %INCLUDE statement. If it is in a separate
member, the member name is SYSTEM. You do not have to explicitly define every PF key for the panel. PF
key definitions not specified are picked up from definitions in NetView DSIPARM member AOFINIT.
Table 28 on page 264 describes each statement in Figure 58 on page 264:
• The application's monitor indicates that the address space is already active.
• The application is involved in a shutdown.
• The application is in status BREAKING, BROKEN, or CTLDOWN.
%AOFDOM% This synonym should contain the domain ID of the SA z/OS NetView
on the system that it is automating. The synonym is used to screen
messages to prevent the SA z/OS on this machine from reacting to a
message that originated on another machine. If not set correctly, your
automation fails.
Default: &DOMAIN.
This is a default domain name used in a number of the samples.
%AOFSYS% This synonym should contain the system name used in the last IPL
of the system. It is used to screen messages to prevent the SA z/OS
on this machine from reacting to events that have occurred on other
machines. It is important if you are running on a JES3 global or in a
sysplex with EMCS consoles. If not set correctly, your automation fails.
Default: &SYSNAME.
This is a default system name used in a number of the samples.
%AOFARMPPI% This synonym should contain the name of the NetView autotask that
is running the PPI interface from SA z/OS to z/OS. It is used to route
commands from the NetView automation table to the autotask.
Default: AOFARCAT
type of message. There is one set for the normal presentation of the message (AOFNORMx) and a second
set for the held presentation (AOFHOLDx).
%AOFHOLDA% This synonym defines the actions taken for SA z/OS immediate action
(type A) messages that are held on your NCCF console. As a rule, you
should specify HOLD(Y) in the action.
Default: HOLD(Y) COLOR(RED) XHILITE(REV) BEEP(Y)
This:
• Ensures that the message is held
• Causes the message to be displayed in reverse video red
• Sounds the terminal alarm when the message is displayed
%AOFHOLDD% This synonym defines the actions taken for SA z/OS decision (type D)
messages that are held on your NCCF console. As a rule, you should
specify HOLD(Y) in the action.
Default: HOLD(Y) COLOR(WHI) XHILITE(REV) BEEP(Y)
This:
• Ensures that the message is held
• Causes the message to be displayed in reverse video white
• Sounds the terminal alarm when the message is displayed
%AOFHOLDE% This synonym defines the actions taken for SA z/OS eventual action
(type E) messages that are held on your NCCF console. As a rule, you
should specify HOLD(Y) in the action.
Default: HOLD(Y) COLOR(YEL) XHILITE(REV) BEEP(Y)
This:
• Ensures that the message is held
• Causes the message to be displayed in reverse video yellow
• Sounds the terminal alarm when the message is displayed
%AOFHOLDW% This synonym defines the actions taken for SA z/OS wait state (type W)
messages that are held on your NCCF console. As a rule, you should
specify HOLD(Y) in the action.
Default: HOLD(Y) COLOR(PIN) XHILITE(REV) BEEP(Y)
This:
• Ensures that the message is held
• Causes the message to be displayed in reverse video pink
• Sounds the terminal alarm when the message is displayed
%AOFNORMA% This synonym defines the actions taken for SA z/OS Immediate Action
(type A) messages that are held on your NCCF console. As a rule, you
should not specify HOLD(Y) in the action.
Default: COLOR(YEL) XHILITE(REV) BEEP(Y)
This:
• Ensures that the message is held
• Causes the message to be displayed in yellow
• Sounds the terminal alarm when the message is displayed
%AOFNORMD% This synonym defines the actions taken for SA z/OS Decision (type
D) messages that are held on your NCCF console. You may find it
beneficial to force these messages to be held.
Default: COLOR(WHI) XHILITE(BLI)
This:
• Ensures that the message is held
• Causes the message to be displayed in blinking white
%AOFNORME% This synonym defines the actions taken for SA z/OS Eventual Action
(type E) messages that are not held on your NCCF console. As a rule,
you should not specify HOLD(Y) in the action.
Default: COLOR(YEL)
This:
• Ensures that the message is not held
• Causes the message to be displayed in yellow
%AOFNORMW% This synonym defines the actions taken for SA z/OS Wait State (type
W) messages that are held on your NCCF console. You may find it
beneficial to force these messages to be held.
Default: HOLD(Y) COLOR(PIN) XHILITE(REV) BEEP(Y)
This:
• Ensures that the message is held
• Causes the message to be displayed in reverse video pink
• Sounds the terminal alarm when the message is displayed
'AUTMON AUTBASE AUTINIT1' and you route a command to it with ROUTE (ONE %CASCADE%) on an
EXEC statement, the command is run on the first autotask in the cascade that is logged on. This provides
you with a flexible, controllable means of providing backup processing tasks in case one of your normal
tasks is unavailable.
%AOFOPBASEOPER% This cascade is used to send commands to BASEOPER. If you are not
using the standard names for SA z/OS autotasks you must change this
synonym. BASEOPER is mainly defined as a fallback operator and has
very little work directly routed to it.
Default: AUTBASE AUTINIT1
AUTBASE is the operator ID that SA z/OS uses for BASEOPER in its
other samples. If AUTBASE is not active, AUTINIT1 is tried.
%AOFOPRPCOPER% This cascade is used for XCF communication management. If you are
not using the standard names for SA z/OS autotasks you must change
this synonym.
Default: AUTRPC AUTSYS AUTBASE AUTINIT1
%AOFOPSYSOPER% This cascade is used to send commands to SYSOPER. If you are not
using the standard names for SA z/OS autotasks you must change this
synonym. SYSOPER is mainly defined as a fallback operator and has
very little work directly routed to it.
Default: AUTSYS AUTBASE AUTINIT1
AUTSYS is the operator ID that SA z/OS uses for SYSOPER in its other
samples.
%AOFOPMSGOPER% This cascade is used to send commands to MSGOPER. If you are not
using the standard names for SA z/OS autotasks you must change this
synonym. MSGOPER is mainly defined to respond to miscellaneous
messages.
Default: AUTMSG AUTSYS AUTBASE AUTINIT1
AUTMSG is the operator ID that SA z/OS uses for MSGOPER in its other
samples.
%AOFOPJESOPER% This cascade is used to send commands to JESOPER. If you are not
using the standard names for SA z/OS autotasks you must change this
synonym. JESOPER is mainly defined for JES automation.
Default: AUTJES AUTSYS AUTBASE AUTINIT1
AUTJES is the operator ID that SA z/OS uses for JESOPER in its other
samples.
%AOFOPMONOPER% This cascade is used to send commands to MONOPER. If you are not
using the standard names for SA z/OS autotasks you must change
this synonym. MONOPER is used for regular monitoring and subsystem
startups.
Default: AUTMON AUTSYS AUTBASE AUTINIT1
AUTMON is the operator ID that SA z/OS uses for MONOPER in its
other samples.
%AOFOPRECOPER% This cascade is used to send commands to RECOPER. If you are not
using the standard names for SA z/OS autotasks you must change this
synonym. RECOPER is used for recovery processing.
Default: AUTREC AUTSYS AUTBASE AUTINIT1
AUTREC is the operator ID that SA z/OS uses for RECOPER in its other
samples.
%AOFOPSHUTOPER% This cascade is used to send commands to SHUTOPER. If you are not
using the standard names for SA z/OS autotasks you must change this
synonym. SHUTOPER coordinates automated shutdowns.
Default: AUTSHUT AUTSYS AUTBASE AUTINIT1
AUTSHUT is the operator ID that SA z/OS uses for SHUTOPER in its
other samples.
Also, put 'DFTSOU SCAN' in the STARTUP-REFRESHSTART policy for the TSO subsystem.
When DFTSOU is called with the UPDATE parameter then:
• For IEF125I, an ADD request is sent to SDF for the TSO user that produces the message.
• For IEF126I, a DELETE request is sent to SDF for the TSO user that produces the message.
• For IEF450I, a DELETE request is sent to SDF for the failing TSO user. When IEF450I is specified, and
the trap is coded in INGMSGU1, then CONTINUE(Y) must also be coded.
When DFTSOU is called with the SCAN parameter, an MVS D TS,L command is issued to identify all
currently active TSO users. This data is then passed to SDF.
SDF updates are associated with SDF tree entry TSOUSERS.
Mapper Files
The mapping files all conform to the same set of syntax rules.
• The first line is a version indicator.
• Comments are prefixed by a hash ('#') sign.
• Data lines are tabular, with the layout of the columns being fixed for each mapping file. If the data gets
out of alignment the mappings will not work.
• The columns in each mapping file are split into input and output columns. The input columns are used
to search the data table, and the resulting output columns are applied to the data. In most of the files
only the first match is used – and the user data is searched before the System Automation (SA) data.
A match in the user data will prevent the SA data from being searched. The exception is the variable
mapping file, where all matching data lines are processed and the SA data is processed before the user
data. This allows the user data to overwrite values generated by the SA data.
• The values specified in the columns can be exact matches or can use the following wildcards:
– An asterisk ('*') will match any number of characters, including none.
– A percentage sign ('%') will match a single, required character.
– You can use a backward slash ('\') as an escape character, causing the following wildcard character to
be treated as a literal character – so \* would match an * in the input data.
For example, to match a string of 4 or more characters followed by IPC, you would need to specify
%%%%*IPC. The four percent signs require that there are at least 4 characters before the IPC, the *
matches whatever character(s), if any, come next and the 'IPC' constant is required at the end. It will
match ABCDIPC, ABCDEIPC or ABCDEFGHIPC.
• In almost all cases the width of the input column is the maximum length of the data value. The
exceptions are single character values where you need to use an escape character. These are 2
characters wide to allow for the escape character and the match value (a '\*').
Functions
Some mapping files support the entry of formulas into their output columns. When entering these you
need to follow these rules:
• Functions and constants follow REXX syntax, and you can use the full set of REXX functions.
• Constants need to be delimited by single quotes.
• Symbols can be substituted in using &symbol. syntax. For example &JOBNAME.'@'&AOCCLONE9. would
produce the jobname for the address space followed by an @ followed by the value of &AOCCLONE9 –
for example, NET@IPCSD.
• There are some columns that support the entry of formulas with unresolved &AOCCLONEx. values.
These values get resolved later at SA load time, and allow the same APL to be used with &AOCCLONE
values from different systems, dynamically generating different values. When entering a formula into
these, care must be taken, as you cannot use a REXX function on an unresolved &AOCCLONEx. value.
The workaround is to establish the value you want to use in the variable mapping file and use that
in the formula in the policy file. Note however that the value will be fixed and not dynamic like the
&AOCCLONEx. values.
Table 29. Input Columns for Address Space Identification Mapping File
Input Column Number of Characters Values Used
SYSPLEX 8 chars
SYSTEM 8 chars
AS TYPE 2 chars A, I, J, M, S, U, * or blank
JOB PREFIX 1 chars T, S, J or blank
JOB NAME 8 chars
PROC NAME 8 chars
STEP NAME 8 chars
USERID 8 chars
CMD PREFIX 8 chars
SUBSYS NAME 8 chars
PRIMARY SUBSYS 1 chars P or blank
ASC SUBSYS NAME 8 chars
SCHED SUBSYS NAME 8 chars
PREVIOUS ID 24 chars
PROG NAME 8 chars
PROG PARMS 100 chars
The data searched against the table is the raw discovery data before any other identification has been
performed. The PREVIOUS ID value will either be a value from the discovery engine or blank. The value in
the NEW ID column overwrites the PREVIOUS ID value for the Address Space.
Table 33. Input Columns for XCF Group Identification Mapping File
Input Column Name Number of Characters
SYSPLEX 8 chars
SYSTEM 8 chars
XCF GROUP NAME 8 chars
Table 34. Output Columns for XCF Group Identification Mapping File
Column Name Number of Characters
GROUP TYPE 24 chars
While the SA provided file contains identification rules for some applications with hard-coded XCF Group
names – SA itself, for example, always names its main group INGXSGxx – there are a number of other
applications – such as Tivoli Workload Scheduler – that leave the entire construction of the name up
to you. Entries for such applications need to be made in your user mapping file, reflecting the naming
conventions used within the target sysplex. The GROUP TYPE values listed in the SA provided file are
the only SA defined values in the group identification space. Currently they only have to correspond with
GROUP TYPE entries in the XCF Group Member Mapping files.
Table 35. Input Columns for XCF Group Member Identification Mapping File
Input Column Name Number of Characters
SYSPLEX 8 chars
SYSTEM 8 chars
XCF GROUP TYPE 24 chars
Table 35. Input Columns for XCF Group Member Identification Mapping File (continued)
Input Column Name Number of Characters
XCF MEMBER NAME 16 chars
XCF MEMBER JOBNAME 8 chars
Table 36. Output Columns for XCF Group Member Identification Mapping File
Output Column Name Number of Characters
Address Space Type 24 chars
The XCF GROUP TYPE comes from the XCF GROUP identification mapping file. The Address Space ID
replaces any previous identification of the address space by the discovery engine or the Address Space
Identification mapping file. In some cases, simple membership of an XCF Group implies the nature of the
members. In other cases, there is a specific naming convention that can be used to determine the role.
Trackers for Tivoli Workload Scheduler may join the group with a TRK suffix, while controllers may join
with a CTL suffix, but this is up to your local naming conventions. In some cases the XCF group member
name is the only way to distinguish the application instances.
Table 37. Input Columns for USS Process Identification Mapping File
Input Column Name Number of Characters
SYSPLEX 8 chars
SYSTEM 8 chars
JOB NAME 8 chars
z/OS USERID 8 chars
USS USERID 8 chars
PREVIOUS ID 24 chars
z/OS PROG NAME 8 chars
USS COMMAND 256 chars
Table 38. Output Columns for USS Process Identification Mapping File
Output Column Name Number of Characters
NEW ID 24 chars
The z/OS values come from the automated Address Space data rather than from the discovered USS data.
This file is useful for identifying applications that run under USS, many of which can be indistinguishable
just by looking at the z/OS side of the discovered data.
The Entry name defaults first to the jobname. If this is not unique, it is suffixed with the sysplex name. If
this is still not unique, it is suffixed with a sequential number. If you specify a specific entry name it will
still be subject to the same uniqueness checking as the jobname. If you do not like the entry name you
can use the customization dialog facilities to rename it. This will not cause a second copy to appear if you
rerun the discovery, preload and import process.
The Automation Name defaults to the jobname, because this is the name your operators will use to
interact with the application under SA's control and it is a name that they are already familiar with. The
jobname should be unique on each system, so we should not get naming clashes.
The jobname defaults to the jobname, but we allow you to enter a formula for it if you wish to add an
AOCCLONE value into it. This will not be reflected in the Automation Name. The formula must evaluate to
the discovered value.
The ARM Element Name also defaults to the discovered value and, again, we have provided you with a
way of overriding it with a formula including an &AOCCLONE value. The formula must evaluate to the
discovered value.
Some Address Space specific symbols are available to use in the formulas:
&JOBNAME.
&PROCNAME.
&CMDPREFIX.
&ARM_ELEMENT.
&SCHED_SUB.
If you open up the SA KB, you can inspect the APL models that SA provides. Do not change the contents
of this PDB as it can be updated by APAR, which would overwrite your changes. To create your own user
models, you need to define your User KB PDB and create/copy entries into it. SA provides a sample PDB
you can use to seed it which contains a class for a generic APL that is automated by IEF403 and 404
messages only. While it is far from the best model for most APLs, it is a good starting point. You can also
copy and modify samples from the SA KB PDB. If you copy an entry into the User KB PDB, you should
copy the entry from the SA Policy Mapping File into your User Policy Mapping File and edit it to point to
the model you have created in your User KB.
The use of classes in the KB is strongly recommended and SA will copy them over if a model requires
them – but note that once they have been copied, it will not recopy them. This is to protect any changes
that you may have manually made to the class after it was copied out of the KB.
Note that any variables called AOCCLONE, or AOCCLONEx (where x is 0-9, A-Z) will end up in the
customization dialogs set as an AOCCLONE value on the system being discovered.
Preloader Reports
The reports generated by the preloader are:
SUMMARY
An overview of the import process.
XCFGROUP
Details of XCF groups found and identified, along with members found and identified. You need the
data from this report to construct your own XCF Group and Member identification records.
ARMGROUP
Details of Automatic Restart Groups and Elements that were discovered.
ASDETAIL
Details of Address Spaces found and Identified, along with all of their discovery data. You need the
information from this report to construct your own Address Space identification and Policy mapping
records.
EXCLUDE
This contains the results of running the identified address spaces through the policy mapping file. It
shows which address spaces have been included in the policy and which have been excluded.
CONSTRCT
This contains information about how the flatfile was constructed. For each address space it will
indicate whether or a new APL was constructed or an existing one was relinked. It indicates which
sample policy (if any) was copied from the KB and which classes (if any) were also copied.
SYMBOLS
This contains information about the list of symbolic values that were discovered on the target system,
along with data about any variables defined in the variable mapping files.
KBIMPORT
This contains information about which entries were imported from the SA and User KBS.
KBMAP
This is an 'index' for the SA and User KBs, listing which entries are in which KB.
SUBSYS
This lists the z/OS subsystems that were identified, which address space is providing them, which
other address spaces are associated with it and which address spaces are being scheduled under
it. The following section describes the reports in detail. Note that it is not possible for you to add
additional reports or to customize the existing reports.
Summary Report
This report contains basic information summarizing the preloader process – elapsed times for various
steps and counts of things discovered, excluded, included and so forth. The phases of the discovery data
import are:
Parameter Review
The first phase resolves the mapping files and the report that will be used.
Discovery Import
The raw snapshot file is read in, the variable and ID mapping files are consulted and the address
spaces are identified. It generates the ASDETAIL, XCFGROUP and SYMBOLS reports.
PDB Import
The extract of the Target PDB is read in and analyzed. Entries for the read entities are output into the
CONSTRCT report.
Generation Phase
The policy mapping file is read and applied. This is where the decision is made as to whether an
Address Space is a new APL or a previously known one. It produces the EXCLUDE report and the
second part of the CONSTRCT report.
KB Import
The extracts of the two KB PDBs are read in and analyzed.
KB Xref
A second pass through the KB data to resolve dependencies between instances.
Output Phase
The flat file is assembled and output. This produces the second part of the CONSTRCT report.
The SUMMARY report gives an overview of activity in these phases.
--------------------------------------------------
Start of Discovery Import Phase
XCFGROUP Report
This report contains details of the XCF groups located, their identification, the associated members and
their identification. Note that only members on the system being modelled will be identified in the report.
ARMGROUP Report
This report contains details of Automatic Restart Management Groups and Elements that were
discovered. Note that it does not contain any details about which systems, if any, each element could
be moved to.
Group : DEFAULT
Members:
SYS_RRS_KEY1 NET@IPSVM EZAY1TCPIP M8SGN801001
M9SGN901001 N913001 M9DGN90D001 HSAAM_KEY1$$$$1
DB2$D911 I911001 OPCKEY1OPCI DBNASNA1
OPCKEY1OPC8 DXNAINA1001
Elements:
Element: SYS_RRS_KEY1
Jobname: RRS
Group : DEFAULT
Systems: KEY1 -> KEY1
Level : 2
Element: NET@IPSVM
Jobname: NET
Group : DEFAULT
Systems: KEY1 -> KEY1
Level : 1
Element: EZAY1TCPIP
Jobname: TCPIP
Group : DEFAULT
Systems: KEY1 -> KEY1
Level : 1
ASDETAIL Report
This report contains details of the address spaces discovered, united with their USS data, Automatic
Restart Management data and after the advanced identification heuristics have been run. This data is the
input into the policy mapping phase.
EXCLUDE Report
This report contains details of all address spaces and whether or not they were included in the flat file,
along with an identification of the rule in the policy mapping file that excluded them (or an indication that
they did not match any of the rules in the policy mapping files).
Exclusion report
CONSTRCT Report
This report contains three distinct sections. The first section describes the loading of data from the Target
PDB Extract. This shows all GRPs, SYSs, APGs and APLs loaded.
The second section describes the processing of the discovered data, seeing which existing entries can be
reused and deciding if new entries need to be created. At the end of this section, the preloader has the
PDB delta information in storage.
The third section describes the creation of the flat file to hold the update, including the editing of
the model policy, the cross referencing of model resources to real resources for relationships and the
inclusion of classes from the KBs.
SYMBOLS Report
This report has three sections. The first section shows the symbols that were discovered on the target
system and their values:
Discovered symbols:
&BACKFPT. = IPSFO
&BPXPARM. = 10,LO
&BPXSHARE. =
&CLOCK. = ET
&CLOCKEV. =
&CNMNETID. = DEIBMIPS
&CNMPRTCT. = IPSFN
&CNMRODM. = EKGXRODM
&CNMTCPN. = TCPIP
&COUPLE. = SY
&EKGYRODM. = EKGYRODM
&FOCALPT. = IPUNM
&FSTYPE. = zFS
The second section shows additional variables that were defined in the INGSMVRU and INGSMVRS
mapping files:
Loaded variables:
Loaded variables:
AOCCLONE1 &SYSCLONE. Y2
AOCCLONE2 RIGHT(&SYSNAME.,1) 2
AOCCLONE3 RIGHT(&SYSNAME.,2) Y2
The third section shows any errors that occurred in processing formulas using these symbols.
KBIMPORT Report
This report first lists the data imported from the SA KB and then the data imported from the User KB.
KBMAP Report
This report is a compiled 'index' of the SA and User KBs. It lists the entries found for each type (APL, APG,
and so on) along with an indication of which KB they were found in.
SUBSYS Report
This report gives a list of all of the z/OS subsystems that were discovered, and identifies the address
space providing the subsystem, any other address spaces that are associated with it and any address
spaces that are scheduled under it.
Subsystem : JES2
Provider : JES2 - SYSTEM_JES
Schedules : EYUCAS1B GRSMON IMS921I1 IMS921OM IMS921SI IMS922I1
IMS922OM IMS922SI IMS923I1 JES2AUX MIKDISC2 NET
NETBTST2 OAM OPCH OPCI OPC82S OPC85S
PCAUTH PORTMAP Q3E1MSTR RASP SDSF SMS
SMSPDSE SNA2DBM1 SNA2DIST SNA2IRLM SNA2MSTR SYSLOGD1
TCPIP TNF TN3270 TN3270F TN3270N TRACE
TSO VMCF YWHITAM2
Subsystem : MSTR
Provider : -
Schedules : ANTAS000 ANTMAIN APPC ASCH AXR BPXOINIT
CATALOG CEA DEVMAN DFSZFS DUMPSRV FFST
GEOXHSWP IOSAS JESXCF JES2 JES2MON LLA
MVSNFSCS NETBSSI5 OMVS RACF RESOLVER RRS
SMF VLF WLM XCFAS
Subsystem : SNA2
Provider : SNA2MSTR - DB2_MSTR
Associated: SNA2DBM1 SNA2DIST
Debug Messages
Since this APAR/PTF (OA52002) addresses a hardware deficiency specific to a single machine type set,
the messages informing about this RAS and problem determination support are written only to the netlog.
The following message variables are used:
cmd
Hardware command allowing a CLEAR STORAGE operation (ACTIVATE, DEACTIVATE, SYSRESET, and
LOAD)
dtmo1
ISQCCMD default timeout in seconds notation
ACTIVATE=600
DEACTIVATE=300
SYSRESET=60
LOAD=60
dtmo2
ISQCCMD timeout in M(m) notation
ACTIVATE=M(10)
DEACTIVATE=M(5)
This information was developed for products and services offered in the US. This material might be
available from IBM in other languages. However, you may be required to own a copy of the product or
product version in that language in order to access it.
IBM may not offer the products, services, or features discussed in this document in other countries.
Consult your local IBM representative for information on the products and services currently available in
your area. Any reference to an IBM product, program, or service is not intended to state or imply that
only that IBM product, program, or service may be used. Any functionally equivalent product, program, or
service that does not infringe any IBM intellectual property right may be used instead. However, it is the
user's responsibility to evaluate and verify the operation of any non-IBM product, program, or service.
IBM may have patents or pending patent applications covering subject matter described in this
document. The furnishing of this document does not grant you any license to these patents. You can
send license inquiries, in writing, to:
For license inquiries regarding double-byte character set (DBCS) information, contact the IBM Intellectual
Property Department in your country or send inquiries, in writing, to:
Each copy or any portion of these sample programs or any derivative work must include a copyright
notice as follows:
© (your company name) (year).
Portions of this code are derived from IBM Corp. Sample Programs.
© Copyright IBM Corp. _enter the year or years_.
Trademarks
IBM, the IBM logo, and ibm.com are trademarks or registered trademarks of International Business
Machines Corp., registered in many jurisdictions worldwide. Other product and service names might be
trademarks of IBM or other companies. A current list of IBM trademarks is available on the web at
"Copyright and trademark information" at www.ibm.com/legal/copytrade.shtml.
Applicability
These terms and conditions are in addition to any terms of use for the IBM website.
Commercial use
You may reproduce, distribute and display these publications solely within your enterprise provided
that all proprietary notices are preserved. You may not make derivative works of these publications, or
reproduce, distribute or display these publications or any portion thereof outside your enterprise, without
the express consent of IBM.
Rights
Except as expressly granted in this permission, no other permissions, licenses or rights are granted, either
express or implied, to the publications or any information, data, software or other intellectual property
contained therein.
IBM reserves the right to withdraw the permissions granted herein whenever, in its discretion, the use
of the publications is detrimental to its interest or, as determined by IBM, the above instructions are not
being properly followed.
You may not download, export or re-export this information except in full compliance with all applicable
laws and regulations, including all United States export laws and regulations.
IBM MAKES NO GUARANTEE ABOUT THE CONTENT OF THESE PUBLICATIONS. THE PUBLICATIONS
ARE PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
INCLUDING BUT NOT LIMITED TO IMPLIED WARRANTIES OF MERCHANTABILITY, NON-INFRINGEMENT,
AND FITNESS FOR A PARTICULAR PURPOSE.
Glossary 299
• The automation manager configuration file (AMC)
• The NetView automation table (AT)
• The NetView message revision table (MRT)
• The MPFLSTxx member
automation control file (ACF)
In SA z/OS, a file that contains system-level automation policy information. There is one master
automation control file for each NetView system that SA z/OS is installed on. Additional policy
information and all resource status information is contained in the policy database (PDB). The SA z/OS
customization dialogs must be used to build the automation control files. They must not be edited
manually.
automation flags
In SA z/OS, the automation policy settings that determine the operator functions that are automated
for a resource and the times during which automation is active. When SA z/OS is running, automation
is controlled by automation flag policy settings and override settings (if any) entered by the operator.
Automation flags are set using the customization dialogs.
automation manager
In SA z/OS, the automation function is split up between the automation manager and the automation
agents. The coordination, decision making and controlling functions are processed by each sysplex's
automation manager.
The automation manager contains a model of all of the automated resources within the sysplex. The
automation agents feed the automation manager with status information and perform the actions that
the automation manager tells them to.
The automation manager provides sysplex-wide automation.
Automation Manager Configuration
The Automation Manager Configuration file (AMC) contains an image of the automated systems in a
sysplex or of a standalone system. See also automation configuration file.
Automation NetView
In SA z/OS the NetView that performs routine operator tasks with command procedures or uses other
ways of automating system and network management, issuing automatic responses to messages and
management services units.
automation operator
NetView automation operators are NetView autotasks that are assigned to perform specific
automation functions. See also automated function. NetView automation operators may receive
messages and process automation procedures. There are no logged-on users associated with
automation operators. Each automation operator is an operating system task and runs concurrently
with other NetView tasks. An automation operator could be set up to handle JES2 messages that
schedule automation procedures, and an automation statement could route such messages to the
automation operator. Similar to operator station task. SA z/OS message monitor tasks and target
control tasks are automation operators.
automation policy
The policy information governing automation for individual systems. This includes automation for
applications, z/OS subsystems, z/OS data sets, and z/OS components.
automation policy settings
The automation policy information contained in the automation control file. This information is
entered using the customization dialogs. You can display or modify these settings using the
customization dialogs.
automation procedure
A sequence of commands, packaged as a NetView command list or a command processor written
in a high-level language. An automation procedure performs automation functions and runs under
NetView.
Glossary 301
central processor complex (CPC)
A physical collection of hardware that consists of central storage, (one or more) central processors,
(one or more) timers, and (one or more) channels.
central site
In a distributed data processing network, the central site is usually defined as the focal point for
alerts, application design, and remote system management tasks such as problem management.
channel
A path along which signals can be sent; for example, data channel, output channel. See also link.
channel path identifier
A system-unique value assigned to each channel path.
channel-attached
Attached directly by I/O channels to a host processor (for example, a channel-attached device).
Attached to a controlling unit by cables, rather than by telecommunication lines. Contrast with link-
attached. Synonymous with local.
CHPID
In SA z/OS, channel path ID; the address of a channel.
CHPID port
A label that describes the system name, logical partitions, and channel paths.
CI
See console integration.
CICS/VS
Customer Information Control System for Virtual Storage. See Customer Information Control System.
CLIST
See command list.
clone
A set of definitions for application instances that are derived from a basic application definition by
substituting a number of different system-specific values into the basic definition.
clone ID
A generic means of handling system-specific values such as the MVS SYSCLONE or the VTAM subarea
number. Clone IDs can be substituted into application definitions and commands to customize a basic
application definition for the system that it is to be instantiated on.
command
A request for the performance of an operation or the execution of a particular program.
command facility
The component of NetView that is a base for command processors that can monitor, control,
automate, and improve the operation of a network. The successor to NCCF.
command list (CLIST)
A list of commands and statements, written in the NetView command list language or the REXX
language, designed to perform a specific function for the user. In its simplest form, a command list is
a list of commands. More complex command lists incorporate variable substitution and conditional
logic, making the command list more like a conventional program. Command lists are typically
interpreted rather than being compiled.
In SA z/OS, REXX command lists that can be used for automation procedures.
command procedure
In NetView, either a command list or a command processor.
command processor
A module designed to perform a specific function. Command processors, which can be written in
assembler or a high-level language (HLL), are issued as commands.
Command Tree/2
An OS/2-based program that helps you build commands on an OS/2 window, then routes the
commands to the destination you specify (such as a 3270 session, a file, a command line, or an
Glossary 303
customization dialogs
The customization dialogs are an ISPF application. They are used to customize the enterprise
policy, like, for example, the enterprise resources and the relationships between resources, or the
automation policy for systems in the enterprise. How to use these dialogs is described in IBM System
Automation for z/OS Customizing and Programming.
D
DataPower® X150z
See IBM Websphere DataPower Integration Appliance X150 for zEnterprise® (DataPower X150z).
DASD
See direct access storage device.
data services task (DST)
The NetView subtask that gathers, records, and manages data in a VSAM file or a network device that
contains network management information.
data set
The major unit of data storage and retrieval, consisting of a collection of data in one of several
prescribed arrangements and described by control information to which the system has access.
data set members
Members of partitioned data sets that are individually named elements of a larger file that can be
retrieved by name.
DBCS
See double-byte character set.
DCCF
See disabled console communication facility.
DCF
See Document Composition Facility.
DELAY Report
An RMF report that shows the activity of each job in the system and the hardware and software
resources that are delaying each job.
device
A piece of equipment. Devices can be workstations, printers, disk drives, tape units, remote systems
or communications controllers. You can see information about all devices attached to a particular
switch, and control paths and jobs to devices.
DEVR Report
An RMF report that presents information about the activity of I/O devices that are delaying jobs.
dialog
Interactive 3270 panels.
direct access storage device (DASD)
A device that allows storage to be directly accessed, such as a disk drive.
disabled console communication facility (DCCF)
A z/OS component that provides limited-function console communication during system recovery
situations.
disk operating system (DOS)
An operating system for computer systems that use disks and diskettes for auxiliary storage of
programs and data.
Software for a personal computer that controls the processing of programs. For the IBM Personal
Computer, the full name is Personal Computer Disk Operating System (PCDOS).
display
To present information for viewing, usually on the screen of a workstation or on a hardcopy device.
Deprecated term for panel.
Glossary 305
An occurrence of significance to a task; for example, the completion of an asynchronous operation,
such as an input/output operation.
Events are part of a trigger condition, such that if all events of a trigger condition have occurred, a
startup or shutdown of an application is performed.
event control block (ECB)
A control block used to represent the status of an event.
exception condition
An occurrence on a system that is a deviation from normal operation. SA z/OS monitoring highlights
exception conditions and allows an SA z/OS enterprise to be managed by exception.
Extended Binary Coded Decimal Interchange Code (EBCDIC)
A coded character set of 256 8-bit characters developed for the representation of textual data. See
also American Standard Code for Information Interchange.
extended recovery facility (XRF)
A facility that minimizes the effect of failures in z/OS, VTAM, the host processor, or high availability
applications during sessions between high availability applications and designated terminals. This
facility provides an alternate subsystem to take over sessions from the failing subsystem.
F
fallback system
See secondary system.
field
A collection of bytes within a record that are logically related and are processed as a unit.
file manager commands
A set of SA z/OS commands that read data from or write data to the automation control file or the
operational information base. These commands are useful in the development of automation that
uses SA z/OS facilities.
focal point
In NetView, the focal-point domain is the central host domain. It is the central control point for any
management services element containing control of the network management data.
focal point system
A system that can administer, manage, or control one or more target systems. There are a number of
different focal point system associated with IBM automation products.
SA z/OS Processor Operations focal point system. This is a NetView system that has SA z/OS
host code installed. The SA z/OS Processor Operations focal point system receives messages from
the systems and operator consoles of the machines that it controls. It provides full systems and
operations console function for its target systems. It can be used to IPL these systems. Note that
some restrictions apply to the Hardware Management Console for an S/390® microprocessor cluster.
SA z/OS SDF focal point system. The SA z/OS SDF focal point system is an SA z/OS NetView system
that collects status information from other SA z/OS NetViews within your enterprise.
Status focal point system. In NetView, the system to which STATMON, VTAM and NLDM send status
information on network resources.
Hardware Management Console. Although not listed as a focal point, the Hardware Management
Console acts as a focal point for the console functions of an S/390 microprocessor cluster. Unlike all
the other focal points in this definition, the Hardware Management Console runs on a LAN-connected
workstation,
frame
For a System/390 microprocessor cluster, a frame contains one or two central processor complexes
(CPCs), support elements, and AC power distribution.
full-screen mode
In NetView, a form of panel presentation that makes it possible to display the contents of an entire
workstation screen at once. Full-screen mode can be used for fill-in-the-blanks prompting. Contrast
with line mode.
G
Glossary 307
I
IBM blade
A customer-acquired, customer-installed select blade to be managed by IBM zEnterprise Unified
Resource Manager. One example of an IBM blade is a POWER7® blade.
IBM Secure Service Container (SSC)
IBM Z partitions, activated to run in SSC operating mode, provide the basic infrastructure runtime and
deployment support for firmware or software based appliances, such as zAware or z/VSE® VNA.
IBM Smart Analyzer for DB2 for z/OS
An optimizer that processes certain types of data warehouse queries for DB2 for z/OS.
IBM System z Application Assist Processor (zAAP)
A specialized processor that provides a Java execution environment, which enables Java-based web
applications to be integrated with core z/OS business applications and backend database systems.
IBM System z Integrated Information Processor (zIIP)
See Integrated Information Processor (IIP).
IBM Websphere DataPower Integration Appliance X150 for zEnterprise (DataPower X150z)
A purpose-built appliance that simplifies, helps secure, and optimizes XML and Web services
processing.
IBM Workload Scheduler (IWS)
A family of IBM licensed products (formerly known as Tivoli Workload Scheduler or OPC/A) that plan,
execute, and track jobs on several platforms and environments.
IBM zEnterprise 196 (z196)
The newest generation of System z family of servers built on a new processor chip, with enhanced
memory function and capacity, security, and on demand enhancements to support existing mainframe
workloads and large scale consolidation.
IBM zEnterprise BladeCenter Extension (zBX)
A heterogeneous hardware infrastructure that consists of a BladeCenter chassis attached to an IBM
zEnterprise 196 (z196). A BladeCenter chassis can contain IBM blades or optimizers.
IBM zEnterprise BladeCenter Extension (zBX) blade
Generic name for all blade types supported in an IBM zEnterprise BladeCenter Extension (zBX). This
term includes IBM blades and optimizers.
IBM zEnterprise System (zEnterprise)
A heterogeneous hardware infrastructure that can consist of an IBM zEnterprise 196 (z196) and
an attached IBM zEnterprise BladeCenter Extension (zBX) Model 002, managed as a single logical
virtualized system by the Unified Resource Manager.
IBM zEnterprise Unified Resource Manager
Licensed Internal Code (LIC), also known as firmware, that is part of the Hardware Management
Console. The Unified Resource Manager provides energy monitoring and management, goal-oriented
policy management, increased security, virtual networking, and data management for the physical and
logical resources of a given ensemble.
I/O resource number
Combination of channel path identifier (CHPID), device number, etc. See internal token.
images
A grouping of processors and I/O devices that you define. You can define a single-image mode that
allows a multiprocessor system to function as one central processor image.
IMS
See Information Management System.
IMS/VS
See Information Management System/Virtual Storage.
inbound
In SA z/OS, messages sent to the focal-point system from the PC or target system.
Glossary 309
J
JCL
See job control language.
JES
See job entry subsystem.
JES2
An MVS subsystem that receives jobs into the system, converts them to internal format, selects them
for execution, processes their output, and purges them from the system. In an installation with more
than one processor, each JES2 processor independently controls its job input, scheduling, and output
processing. See also job entry subsystem and JES3
JES3
An MVS subsystem that receives jobs into the system, converts them to internal format, selects them
for execution, processes their output, and purges them from the system. In complexes that have
several loosely coupled processing units, the JES3 program manages processors so that the global
processor exercises centralized control over the local processors and distributes jobs to them using a
common job queue. See also job entry subsystem and JES2.
job
A set of data that completely defines a unit of work for a computer. A job usually includes all
necessary computer programs, linkages, files, and instructions to the operating system.
An address space.
job control language (JCL)
A problem-oriented language designed to express statements in a job that are used to identify the job
or describe its requirements to an operating system.
job entry subsystem (JES)
An IBM licensed program that receives jobs into the system and processes all output data that is
produced by jobs. In SA z/OS publications, JES refers to JES2 or JES3, unless otherwise stated. See
also JES2 and JES3.
K
Kanji
An ideographic character set used in Japanese. See also double-byte character set.
L
LAN
See local area network.
line mode
A form of screen presentation in which the information is presented a line at a time in the message
area of the terminal screen. Contrast with full-screen mode.
link
In SNA, the combination of the link connection and the link stations joining network nodes; for
example, a System/370 channel and its associated protocols, a serial-by-bit connection under the
control of synchronous data link control (SDLC). See synchronous data link control.
In SA z/OS, link connection is the physical medium of transmission.
link-attached
Describes devices that are physically connected by a telecommunication line. Contrast with channel-
attached.
Linux on z Systems
UNIX-like open source operating system conceived by Linus Torvalds and developed across the
internet.
local
Pertaining to a device accessed directly without use of a telecommunication line. Synonymous with
channel-attached.
Glossary 311
MCS
See multiple console support.
member
A specific function (one or more modules or routines) of a multisystem application that is defined to
XCF and assigned to a group by the multisystem application. A member resides on one system in the
sysplex and can use XCF services to communicate (send and receive data) with other members of the
same group.
message automation table (MAT)
Deprecated term for NetView automation table.
message class
A number that SA z/OS associates with a message to control routing of the message. During
automated operations, the classes associated with each message issued by SA z/OS are compared
to the classes assigned to each notification operator. Any operator with a class matching one of the
message’s classes receives the message.
message forwarding
The SA z/OS process of sending messages generated at an SA z/OS target system to the SA z/OS
focal-point system.
message group
Several messages that are displayed together as a unit.
message monitor task
A task that starts and is associated with a number of communications tasks. Message monitor tasks
receive inbound messages from a communications task, determine the originating target system, and
route the messages to the appropriate target control tasks.
message processing facility (MPF)
A z/OS table that screens all messages sent to the z/OS console. The MPF compares these messages
with a customer-defined list of messages (based on this message list, messages are automated
and/or suppressed from z/OS console display), and marks messages to automate or suppress.
Messages are then broadcast on the subsystem interface (SSI).
message suppression
The ability to restrict the amount of message traffic displayed on the z/OS console.
Micro Channel architecture
The rules that define how subsystems and adapters use the Micro Channel bus in a computer. The
architecture defines the services that each subsystem can or must provide.
microprocessor
A processor implemented on one or a small number of chips.
migration
Installation of a new version or release of a program to replace an earlier version or release.
MP
Multiprocessor.
MPF
See message processing facility.
MPFLSTxx
The MPFLST member that is built by SA z/OS.
multi-MVS environment
physical processing system that is capable of operating more than one MVS image. See also MVS
image.
multiple console support (MCS)
A feature of MVS that permits selective message routing to multiple consoles.
Multiple Virtual Storage (MVS)
An IBM operating system that accesses multiple address spaces in virtual storage. The predecessor of
z/OS.
Glossary 313
NetView hardware monitor
The component of NetView that helps identify network problems, such as hardware, software, and
microcode, from a central control point using interactive display techniques. Formerly called network
problem determination application.
NetView log
The log that NetView records events relating to NetView and SA z/OS activities in.
NetView message table
See NetView automation table.
NetView paths via logical unit (LU 6.2)
A type of network-accessible port (VTAM connection) that enables end users to gain access to
SNA network resources and communicate with each other. LU 6.2 permits communication between
processor operations and the workstation. See logical unit 6.2.
NetView-NetView task (NNT)
The task that a cross-domain NetView operator session runs under. Each NetView program must have
a NetView-NetView task to establish one NNT session. See also operator station task.
NetView-NetView task session
A session between two NetView programs that runs under a NetView-NetView task. In SA z/OS,
NetView-NetView task sessions are used for communication between focal point and remote systems.
network
An interconnected group of nodes.
In data processing, a user application network. See SNA network.
network accessible unit (NAU)
In SNA networking, any device on the network that has a network address, including a logical unit
(LU), physical unit (PU), control point (CP), or system services control point (SSCP). It is the origin
or the destination of information transmitted by the path control network. Synonymous with network
addressable unit.
network addressable unit (NAU)
Synonym for network accessible unit.
Network Communications Control Facility (NCCF)
The operations control facility for the network. NCCF consists of a presentation service, command
processors, automation based on command lists, and a transaction processing structure on which
the network management applications NLDM are built. NCCF is a precursor to the NetView command
facility.
Network Control Program (NCP)
An IBM licensed program that provides communication controller support for single-domain,
multiple-domain, and interconnected network capability. Its full name is Advanced Communications
Function for the Network Control Program.
network control program (NCP)
A program that controls the operation of a communication controller.
A program used for requests and responses exchanged between physical units in a network for data
flow control.
Networking NetView
In SA z/OS the NetView that performs network management functions, such as managing the
configuration of a network. In SA z/OS it is common to also route alerts to the Networking NetView.
NIP
See nucleus initialization program.
NNT
See NetView-NetView task.
notification message
An SA z/OS message sent to a human notification operator to provide information about significant
automation actions. Notification messages are defined using the customization dialogs.
Glossary 315
operator view
A set of group, system, and resource definitions that are associated together for monitoring purposes.
An operator view appears as a graphic display in the graphical interface showing the status of the
defined groups, systems, and resources.
OperatorView entry
A construct, created with the customization dialogs, used to represent and contain policy for an
operator view.
optimizer
A special-purpose hardware component or appliance that can perform a limited set of specific
functions with optimized performance when compared to a general-purpose processor. Because of
its limited set of functions, an optimizer is an integrated part of a processing environment, rather than
a stand-alone unit. One example of an optimizer is the IBM Smart Analytics Optimizer for DB2 for
z/OS.
OS
See operating system.
OST
See operator station task.
outbound
In SA z/OS, messages or commands from the focal-point system to the target system.
outbound gateway operator
The automation operator that establishes connections to other systems. The outbound gateway
operator handles communications with other systems through a gateway session. The automation
operator sends messages, commands, and responses to the inbound gateway operator at the
receiving system.
P
page
The portion of a panel that is shown on a display surface at one time.
To transfer instructions, data, or both between real storage and external page or auxiliary storage.
panel
A formatted display of information that appears on a terminal screen. Panels are full-screen 3270-
type displays with a monospaced font, limited color and graphics.
By using SA z/OS panels you can see status, type commands on a command line using a keyboard,
configure your system, and passthru to other consoles. See also help panel.
In computer graphics, a display image that defines the locations and characteristics of display fields
on a display surface. Contrast with screen.
parameter
A variable that is given a constant value for a specified application and that may represent an
application, for example.
An item in a menu for which the user specifies a value or for which the system provides a value when
the menu is interpreted.
Data passed to a program or procedure by a user or another program, specifically as an operand in a
language statement, as an item in a menu, or as a shared data structure.
partition
A fixed-size division of storage.
In VSE, a division of the virtual address area that is available for program processing.
On an IBM Personal Computer fixed disk, one of four possible storage areas of variable size; one can
be accessed by DOS, and each of the others may be assigned to another operating system.
partitionable CPC
A CPC that can be divided into 2 independent CPCs. See also physical partition, single-image mode,
MP, and side.
Glossary 317
PPI
See program to program interface.
PPT
See primary POI task.
PR/SM
See Processor Resource/Systems Manager.
primary host
The base program that you enter a command for processing at.
primary POI task (PPT)
The NetView subtask that processes all unsolicited messages received from the VTAM program
operator interface (POI) and delivers them to the controlling operator or to the command processor.
The PPT also processes the initial command specified to execute when NetView is initialized and
timer request commands scheduled to execute under the PPT.
primary system
A system is a primary system for an application if the application is normally meant to be running
there. SA z/OS starts the application on all the primary systems defined for it.
problem determination
The process of determining the source of a problem; for example, a program component,
machine failure, telecommunication facilities, user or contractor-installed programs or equipment,
environment failure such as a power loss, or user error.
processor
A device for processing data from programmed instructions. It may be part of another unit.
In a computer, the part that interprets and executes instructions. Two typical components of a
processor are a control unit and an arithmetic logic unit.
processor controller
Hardware that provides support and diagnostic functions for the central processors.
processor operations
The part of SA z/OS that monitors and controls processor (hardware) operations. Processor operations
provides a connection from a focal-point system to a target system. Through NetView on the focal-
point system, processor operations automates operator and system consoles for monitoring and
recovering target systems. Also known as ProcOps.
Processor Resource/Systems Manager (PR/SM)
The feature that allows the processor to use several operating system images simultaneously and
provides logical partitioning capability. See also logically partitioned mode.
ProcOps
See processor operations.
ProcOps Service Machine (PSM)
The PSM is a CMS user on a VM host system. It runs a CMS multitasking application that serves as
"virtual hardware" for ProcOps. ProOps communicates via the PSM with the VM guest systems that are
defined as target systems within ProcOps.
product automation
Automation integrated into the base of SA z/OS for the products CICS, DB2, IMS, IBM Workload
Scheduler (formerly called features).
program operator interface (POI)
A NetView facility for receiving VTAM messages.
program to program interface (PPI)
A NetView function that allows user programs to send or receive data buffers from other user
programs and to send alerts to the NetView hardware monitor from system and application programs.
protocol
In SNA, the meanings of, and the sequencing rules for, requests and responses used for managing the
network, transferring data, and synchronizing the states of network components.
Glossary 319
SA IOM
See System Automation for Integrated Operations Management.
SAplex
SAplex or "SA z/OS Subplex" is a term used in conjuction with a sysplex. In fact, a SAplex is a subset
of a sysplex. However, it can also be a sysplex. For a detailed description, refer to "Using SA z/OS
Subplexes" in IBM System Automation for z/OS Planning and Installation.
SA z/OS
See System Automation for z/OS.
SA z/OS customization dialogs
An ISPF application through which the SA z/OS policy administrator defines policy for individual z/OS
systems and builds automation control data.
SA z/OS customization focal point system
See focal point system.
SA z/OS data model
The set of objects, classes and entity relationships necessary to support the function of SA z/OS and
the NetView automation platform.
SA z/OS enterprise
The group of systems and resources defined in the customization dialogs under one enterprise name.
An SA z/OS enterprise consists of connected z/OS systems running SA z/OS.
SA z/OS focal point system
See focal point system.
SA z/OS policy
The description of the systems and resources that make up an SA z/OS enterprise, together with their
monitoring and automation definitions.
SA z/OS policy administrator
The member of the operations staff who is responsible for defining SA z/OS policy.
SA z/OS SDF focal point system
See focal point system.
SCA
In SA z/OS, system console A, the active system console for a target hardware. Contrast with SCB.
SCB
In SA z/OS, system console B, the backup system console for a target hardware. Contrast with SCA.
screen
Deprecated term for panel.
screen handler
In SA z/OS, software that interprets all data to and from a full-screen image of a target system.
The interpretation depends on the format of the data on the full-screen image. Every processor and
operating system has its own format for the full-screen image. A screen handler controls one PS/2
connection to a target system.
SDF
See status display facility.
SDLC
See synchronous data link control.
SDSF
See System Display and Search Facility.
secondary system
A system is a secondary system for an application if it is defined to automation on that system, but
the application is not normally meant to be running there. Secondary systems are systems to which
an application can be moved in the event that one or more of its primary systems are unavailable.
SA z/OS does not start the application on its secondary systems.
Glossary 321
for controlling the resources of various network configurations. The SNA network consists of network
addressable units (NAUs), boundary function components, and the path control network.
SNMP
See Simple Network Management Protocol.
solicited message
An SA z/OS message that directly responds to a command. Contrast with unsolicited message.
SSCP
See system services control point.
SSI
See subsystem interface.
start automation
Automation provided by SA z/OS that manages and completes the startup process for subsystems.
During this process, SA z/OS replies to prompts for additional information, ensures that the startup
process completes within specified time limits, notifies the operator of problems, if necessary, and
brings subsystems to an UP (or ready) state.
startup
The point in time that a subsystem or application is started.
status
The measure of the condition or availability of the resource.
status display facility (SDF)
The system operations part of SA z/OS that displays status of resources such as applications,
gateways, and write-to-operator messages (WTORs) on dynamic color-coded panels. SDF shows
spool usage problems and resource data from multiple systems.
steady state automation
The routine monitoring, both for presence and performance, of subsystems, applications, volumes
and systems. Steady state automation may respond to messages, performance exceptions and
discrepancies between its model of the system and reality.
structure
A construct used by z/OS to map and manage storage on a coupling facility.
subgroup
A named set of systems. A subgroup is part of an SA z/OS enterprise definition and is used for
monitoring purposes.
SubGroup entry
A construct, created with the customization dialogs, used to represent and contain policy for a
subgroup.
subplex
See SAplex.
subsystem
A secondary or subordinate system, usually capable of operating independent of, or asynchronously
with, a controlling system.
In SA z/OS, an z/OS application or subsystem defined to SA z/OS.
subsystem interface (SSI)
The z/OS interface over which all messages sent to the z/OS console are broadcast.
support element
A hardware unit that provides communications, monitoring, and diagnostic functions to a central
processor complex (CPC).
support processor
Another name given to a processor controller on smaller System/370 processors. See service
processor.
SVP
See service processor.
Glossary 323
System Display and Search Facility (SDSF)
An IBM licensed program that provides information about jobs, queues, and printers running under
JES2 on a series of panels. Under SA z/OS you can select SDSF from a pull-down menu to see the
resources’ status, view the z/OS system log, see WTOR messages, and see active jobs on the system.
System entry
A construct, created with the customization dialogs, used to represent and contain policy for a
system.
System Modification Program/Extended (SMP/E)
An IBM licensed program that facilitates the process of installing and servicing an z/OS system.
system operations
The part of SA z/OS that monitors and controls system operations applications and subsystems such
as NetView, SDSF, JES, RMF, TSO, ACF/VTAM, CICS, IMS, and OPC. Also known as SysOps.
system services control point (SSCP)
In SNA, the focal point within an SNA network for managing the configuration, coordinating network
operator and problem determination requests, and providing directory support and other session
services for end users of the network. Multiple SSCPs, cooperating as peers, can divide the network
into domains of control, with each SSCP having a hierarchical control relationship to the physical units
and logical units within its domain.
System/390 microprocessor cluster
A configuration that consists of central processor complexes (CPCs) and may have one or more
integrated coupling facilities.
Systems Network Architecture (SNA)
The description of the logical structure, formats, protocols, and operational sequences for
transmitting information units through, and controlling the configuration and operation of, networks.
T
TAF
See terminal access facility.
target
A processor or system monitored and controlled by a focal-point system.
target control task
In SA z/OS, target control tasks process commands and send data to target systems and workstations
through communications tasks. A target control task (a NetView autotask) is assigned to a target
system when the target system is initialized.
target hardware
In SA z/OS, the physical hardware on which a target system runs. It can be a single-image or
physically partitioned processor. Contrast with target system.
target system
In a distributed system environment, a system that is monitored and controlled by the focal-point
system. Multiple target systems can be controlled by a single focal-point system.
In SA z/OS, a computer system attached to the focal-point system for monitoring and control. The
definition of a target system includes how remote sessions are established, what hardware is used,
and what operating system is used.
task
A basic unit of work to be accomplished by a computer.
In the NetView environment, an operator station task (logged-on operator), automation operator
(autotask), application task, or user task. A NetView task performs work in the NetView environment.
All SA z/OS tasks are NetView tasks. See also message monitor task, and target control task.
telecommunication line
Any physical medium, such as a wire or microwave beam, that is used to transmit data.
Glossary 325
TSO console
From this 3270-type console you are logged onto TSO or ISPF to use the runtime panels for SA z/OS
customization panels.
TSO/E
See Time-Sharing Option/Extended.
TWS
See IBM Workload Scheduler (IWS).
U
unsolicited message
An SA z/OS message that is not a direct response to a command.
uniform resource identifier (URI)
A uniform resource identifier is a string of characters used to identify a name of a web resource. Such
identification enables interaction with representations of the web resource over the internet, using
specific protocols.
user task
An application of the NetView program defined in a NetView TASK definition statement.
Using
An RMF Monitor III definition. Jobs getting service from hardware resources (processors or devices)
are using these resources. The use of a resource by an address space can vary from 0% to 100%
where 0% indicates no use during a Range period, and 100% indicates that the address space was
found using the resource in every sample during that period.
V
view
In the NetView Graphic Monitor Facility, a graphical picture of a network or part of a network. A view
consists of nodes connected by links and may also include text and background lines. A view can be
displayed, edited, and monitored for status information about network resources.
Virtual Server
A logical construct that appears to comprise processor, memory, and I/O resources conforming to a
particular architecture. A virtual server can support an operating system, associated middleware, and
applications. A hypervisor creates and manages virtual servers.
Virtual Server Collection
A set of virtual servers that supports a workload. This set is not necessarily static. The constituents of
the collection at any given point are determined by virtual servers involved in supporting the workload
at that time.
virtual Server Image
A package containing metadata that describes the system requirements, virtual storage drives, and
any goals and constraints for the virtual machine {for example, isolation and availability). The Open
Virtual Machine Format (OVF) is a Distributed Management Task Force (DMTF) standard that describes
a packaging format for virtual server images.
Virtual Server Image Capture
The ability to store metadata and disk images of an existing virtual server. The metadata describes the
virtual server storage, network needs, goals and constraints. The captured information is stored as a
virtual server image that can be referenced and used to create and deploy other similar images.
Virtual Server Image Clone
The ability to create an identical copy (clone) of a virtual server image that can be used to create a
new similar virtual server.
Virtual Storage Extended (VSE)
A system that consists of a basic operating system (VSE/Advanced Functions), and any IBM supplied
and user-written programs required to meet the data processing needs of a user. VSE and the
hardware that it controls form a complete computing system. Its current version is called VSE/ESA.
Glossary 327
Z
z/OS
An IBM mainframe operating system that uses 64-bit real storage. See also Base Control Program.
z/OS component
A part of z/OS that performs a specific z/OS function. In SA z/OS, component refers to entities that are
managed by SA z/OS automation.
z/OS subsystem
Software products that augment the z/OS operating system. JES and TSO/E are examples of z/OS
subsystems. SA z/OS includes automation for some z/OS subsystems.
z/OS system
A z/OS image together with its associated hardware, which collectively are often referred to simply as
a system, or z/OS system.
z196
See IBM zEnterprise 196 (z196).
zAAP
See IBM System z Application Assist Processor (zAAP).
zBX
See IBM zEnterprise BladeCenter Extension (zBX).
zBX blade
See IBM zEnterprise BladeCenter Extension (zBX) blade.
zCPC
The physical collection of main storage, central processors, timers, and channels within a zEnterprise
mainframe. Although this collection of hardware resources is part of the larger zEnterprise central
processor complex, you can apply energy management policies to zCPC that are different from those
that you apply to any attached IBM zEnterprise BladeCenter Extension (zBX) or blades. See also
central processor complex.
zEnterprise
See IBM zEnterprise System (zEnterprise).
Index 329
AOFEXC05 exit 169 AOFSETSTATESCOPE 242
AOFEXC06 exit 169 AOFSHUTDELAY 226
AOFEXC07 exit 169 AOFSMARTMAT 226
AOFEXC08 exit 169 AOFSPOOLFULLCMD 226
AOFEXC09 exit 170 AOFSPOOLSHORTCMD 226
AOFEXC11 exit 170 AOFSTATUSCMDSEL 226
AOFEXC13 exit 170 AOFSUBSYS 225, 226
AOFEXC14 exit 170 AOFSYS 269, 270
AOFEXC15 exit 170 AOFSYSNAME 225
AOFEXC16 exit 170 AOFSYSPLEX 225
AOFEXC17 exit 170 AOFSYSPLEXGROUP 225
AOFEXC18 exit 171 AOFSYSTEM 225
AOFEXC19 exit 171 AOFUSSWAIT 226
AOFEXC20 exit 171 application
AOFEXC21 exit 171 adding to automation 1
AOFEXC22 exit 171 health status 35
AOFEXC23 exit 172 application monitor status 35
AOFEXC24 172 application monitoring 35
AOFEXC25 172 application type IMAGE, defining 139
AOFEXC26 172 application, VTAM, defining to SA z/OS 149
AOFEXDEF exit 162 applications, z/OS UNIX 95
AOFEXI01 exit 162 ARM 268
AOFEXI02 exit 162 ASCB chaining
AOFEXI03 exit 162 and global variables 235
AOFEXI04 exit 162 ASFUSER command 20
AOFEXI05 exit 162 assist mode
AOFEXI06 exit 163 for testing automation procedures 18
AOFEXINT exit 163, 173, 226 overview 18
AOFEXPLAIN_USER 226 assumptions, health monitoring with OMEGAMON 44
AOFEXSTA exit 164 asynchronous hardware commands, using pipes and
AOFEXX02 exit 165 ISQCCMD for 90
AOFEXX04 exit 165 AT actions, defining for message automation 24
AOFEXX05 165 AT build
AOFINITIALSTARTTYP 225 concept for message automation 28
AOFINITREPLY 226 message automation 28
AOFJESPREFX 225 AT load, message automation 28
AOFJRYCMD description 111 Autodiscovery Mapper Files 277
AOFLOCALHOLD 226 Autodiscovery Report Format 282
AOFMATLISTING 226 Autodiscovery, building configuration control data 223
AOFMSGST 30 Autodiscovery, Components Overview 212
AOFMSGSY 269 Autodiscovery, Extended Automated Modelling 220
AOFOPCCMDMSG 226 Autodiscovery, Finalizing the Target Policy 221
AOFPAUSE 226 Autodiscovery, Process Overview 213
AOFPFP 225 automated resources, z/OS UNIX Automation 97
AOFRESTARTALWAYS 226 Automated System Resource Discovery 211
AOFRJ3MN monitoring routine 54 Automatic Restart Manager
AOFRJ3RC monitoring routine 56 defining element name 267
AOFRMTCMDWAIT 226 MOVE group for 268
AOFRPCWAIT 226 automating
AOFRSA01 automation routine 185 auxiliary storage shortage recovery 142
AOFRSA02 automation routine 186 enqueues, long running 140
AOFRSA03 automation routine 187 IXC102A message 132
AOFRSA08 automation routine 189 IXC402D message 132
AOFRSA0C automation routine 191 Linux console messages 83
AOFRSA0E automation routine 194 Linux console messages, case sensitive 84
AOFRSA0G automation routine 194 Linux console messages, restrictions and limitations 84
AOFRSD01 automation routine 205 Linux console messages, security considerations 84
AOFRSD07 automation routine 196 long running enqueues 140
AOFRSD09 automation routine 197 message IXC102A 139
AOFRSD0F automation routine 198 message IXC402D 139
AOFRSD0G automation routine 200 USS resources 95
AOFRSD0H automation routine 201 automating processor operations controlled resources 81
AOFSENDALERT 226 automation
AOFSERXINT 226 adding an application to 1
Index 331
clone ID D
Automatic Restart Manager 267
clone ID, Automatic Restart Manager 226 DB2, writing SMF report to 78
CMD actions, defining for message automation 23 debugging
CNMCMDU member 17 automation procedures 17
coding information in automation status file 20 NetView facilities 19
command flooding recovery 131 z/OS UNIX Automation
command output redirection batch job 111 106
Command Receiver 107 defining
command, SDFCONF 262 actions for message automation 23
commands application type IMAGE 139
NetView 110 AT actions for message automation 24
processor operations 14 AT entry placement 24
use in automation procedures 7 captured messages for message automation 25
commands, defining for long running enqueues 141 CMD actions for message automation 23
commands, monitor resources 37 commands for long running enqueues 141
common automation items, defining 142 common automation items 142
common global variables 10, 225 conditions for AT entries 24
communication flow gateway sessions 146
alerts 67 handling of jobs for auxiliary storage shortage recovery
connecting 142
system to processor 137 IEADMCxx symbols for long running enqueues 141
connector IMAGE application type 139
active 127 local page data set for auxiliary storage shortage
failed persistent 127 recovery 142
continuous availability, couple data set logical partitions 136
enabling 137 logical sysplex 137
ensuring 125 message revision table entries 27
couple data set override for message automation 25
alternate CDS 125 physical sysplex 137
alternate CDS, recovery of 125 processor 136, 139
alternate, specifying 137 REPLY actions for message automation 23
CFRM 137 resources for long running enqueues 141
enabling continuous availability of 137 SDF focal point system 145
ensuring continuous availability of 125 SDF in automation control file 266
managing 125 snapshot intervals for long running enqueues 141
policy 125 started task job name 142
primary CDS 125 status messages for message automation 24
SYSPLEX 137 SYSPLEX policy item 137
coupling facility 127 system 137
coupling facility, managing 127 TAF fullscreen sessions 146
creating automation procedures 7 temporary data set HLQ 142
customization dialog exits VTAM application to SA z/OS 149
invocation 160 definitions for automation setup 96
customization of z/OS UNIX resources 95 definitions for z/OS UNIX resources 96
customize automation deletion of processed WTO(R)s from SDF 177
for processor operations 11 developing messages for automation procedures 14
for system operations 9 directory extent 126
customizing disability xvii
alternate CDS recovery 126 DISPEVT_WAIT 242
hung command recovery 132 DISPEVTS_WAIT 242
IXC102A message automation 132 DISPGW_COLUMNS 242
IXC402D message automation 132 DISPMTR_COLUMNS 242
LINUX target systems 92 DISPSTAT_COLUMNS 242
MVS target systems 92 DISPTRG_WAIT 242
proxy resource automation 82 drain processing prior to JES2 shutdown 177
SDF 251 DSIPARM data set 17
system logger recovery 127
system to use Parallel Sysplex enhancements 142
target systems 92
E
VM target systems 93 element name, Automatic Restart Manager
VSE target systems 93 defining 267
element names
in Automatic Restart Manager 267
Index 333
guest target systems (continued) INGIMS_CMDWAIT 242
MVS, NIP console 91 INGIMS_CORRWAIT 226
MVS, NIP messages 91 INGIMS_REQ 242
MVS, problem determination mode 91 INGINFO_WAIT 242
ProcOps Service Machine 91 INGKLUP_WAIT 242
VSE 91 INGLIST_COLUMNS 242
INGLIST_WAIT 242
INGLKUP_TIMEOUT 242
H INGMON_WAIT 242
hardware commands INGMON, programming techniques 41
asynchronous, using pipes and ISQCCMD for 90 INGMOVE_WAIT 242
synchronous, using pipes and ISQCCMD for 89 INGMSG01 30
HASP099 automation routine 203 INGMSGSA 30
health monitoring INGMTRAP monitor command 47
active 38 INGOMX API 45
event-based 40 INGOPC_MULTIPLIER 226
overview 36 INGPAC_SHOWNOLIMT 226
passive 40 INGPAC_WAIT 242
health monitoring, OMEGAMON exceptions INGPUSMF utility
introduction 48 introduced 76
health monitoring, OMEGAMON XE situations JCL 77
introduction 49 JCL, user options 77
health status return codes 38 output 76
health-based automation using OMEGAMON return codes 78
programming techniques 41 INGRCJSP automation routine 205
recommendations 49 INGRELS_SHOW 242
recovery techniques 38 INGRELS_WAIT 242
how to automate USS resources 95 INGREQ_BOOST 242
hung command recovery, customizing 132 INGREQ_EXPIRE 242
INGREQ_INTERRUPT 242
INGREQ_ORIGINATOR 226
I INGREQ_OVERRIDE 242
INGREQ_PRECHECK 242
IDENT 20
INGREQ_PRI 242
IEADMCxx symbols, defining
INGREQ_PRI.E2EMGR 242
for long running enqueues 141
INGREQ_REMOVE 242
IMAGE application type, defining 139
INGREQ_REMOVE.START 242
IMS automation, monitoring 57
INGREQ_REMOVE.STOP 242
IMS transaction recovery 177
INGREQ_RESTART 242
inbound gateway 146
INGREQ_SCOPE 242
INCLUDE statement 265
INGREQ_SOURCE 242
INGAMS_COLUMNS 242
INGREQ_TIMEOUT 242
INGAUTO_INTERVAL 242
INGREQ_TYPE 242
INGCF command 127
INGREQ_VERIFY 242
INGCICS_CORRWAIT 226
INGREQ_WAIT 242
INGDLG 160
INGRMJSP automation routine 203
INGEAXIT exit 165
INGRPT_WAIT 242
INGEI004 member 90
INGRTAPE automation routine 206
INGEVENT_WAIT 242
INGRUN_CMT 242
INGEX01 157
INGRUN_MULT 242
INGEX02 157
INGRUN_OVERRIDE 242
INGEX03 158
INGRUN_PERSISTENT 242
INGEX04 158
INGRUN_PRI 242
INGEX05 159
INGRUN_REQ 242
INGEX06 159
INGRUN_RUNMODE 242
INGEX07 159
INGRUN_RUNRES 242
INGEX08 159
INGRUN_SYSTEM 242
INGEXEC_RESP 242
INGRUN_TARGET 242
INGEXEC_SELECT 242
INGRUN_TYPE 242
INGEXEC_TIMEOUT 242
INGRUN_VERIFY 242
INGEXEC_WAIT 242
INGRUN_WAIT 242
INGGROUP_WAIT 242
INGRX740 automation routine 207
INGHIST_MAX 242
INGSCHED_WAIT 242
INGHIST_WIMAX 242
INGSET_VERIFY 242
Index 335
messages NetView automation table (continued)
automation 23 generic entries 31
classifications 29 integrating 30
developing for automation procedures 14 ISQEXEC 12, 85
trapping UNIX syslogd 105 ISQOVRD 12
minor resources ISQXLOC 12
resource name 167 ISQXMON 85
monitor command, INGMTRAP 47 ISQXUNL 12
monitor resources master automation tables 30
commands 37 merging entries 87
defining for CICS monitoring 52 multiple master automation tables 30
defining for OMEGAMON XE situations 50 production 87
monitor routine reloading tables 88
writing your own 35 sample entry 85
monitoring samples 29
applications 35 specifying entry placement 24
CICS health 52 structure 29
CICS link 52 user-written statements 30
CICSPlex 52 NetView commands
health with OMEGAMON 43 executing on a different NetView 111
health, active 38 submitting from a batch job 110
health, event-based 40 networks automation
health, overview 36 definition process 145
health, passive 40 new automation definitions
IMS automation 57 building 88
JES3 components 53 notification
observed status 35 alerts 67
using OMEGAMON XE situations 49 notifications 10
monitoring routines
AOFRJ3MN 54
AOFRJ3RC 56
O
monitoring routines for z/OS UNIX resources 96 observed status
MOVE group for Automatic Restart Manager 268 monitoring 35
MOVED status OMEGAMON
Automatic Restart Manager 267 assumptions 44
automation 267 exception analysis 43
MPF list 88 exceptions, health monitoring 48
MRT build health monitoring 49
concept for message automation 28 health monitoring with 43
MTR 35 health-based automation, programming techniques 41
MVS Automatic Restart Manager health-based automation, recommendations 49
clone ID 226 health-based automation, recovery techniques 38
element names 226 interaction 44
global variables 226 monitoring, overview 43
MVS guest target systems session management, INGMTRAP 47
NIP console 91 session management, INGOMX 45
NIP messages 91 usage scenario 48
problem determination mode 91 OMEGAMON XE situation monitoring
MVS target systems, customizing 92 defining monitor resources 50
MVSESA.RELOAD.ACTION minor resource 173 overview 49
MVSESA.RELOAD.CONFIRM flag 173 OMEGAMON XE situations, monitoring 49
MVSESA.RELOAD.CONFIRM minor resource 173 operator cascades 271
outbound gateway 146
N override
defining for message automation 25
NetView overview
generic automation table entries 31 alerts 67
Linux console connection to 84 message automation 23
testing and debugging facilities 19 monitoring with OMEGAMON 43
NetView automation table
adding processor operations messages to 84
AOFMSGSY 269
P
defining conditions for AT entries 24 panels
fragments 269
Index 337
SDF (continued) SYSPLEX couple data set 137
starting and stopping 260 Sysplex Failure Management 132
status descriptors 253 sysplex functions
tree structures 253 switching on and off 142
SDFCONF command 262 SYSPLEX policy item
second level systems, VM support 91 defining 137
security considerations, Linux console messages 84 system
serialize command processing 12 connecting to processor 137
session management defining 137
OMEGAMON, INGMTRAP 47 system log failure recovery 176
OMEGAMON, INGOMX 45 system logger
setting up z/OS UNIX directory extent 126
automation log stream 126
example 101 log stream data set 126
SFM 132 LOGR couple data set 126
shortcut keys xvii managing 126
shutdown considerations, proxy resource automation 83 recovery, customizing 127
shutting down z/OS Systems from GDPS environment 151 recovery, directory shortage 126
SMF data set processing 176 system operations control files 88
SMF report, writing to DB2 78 system removal
snapshot intervals, defining for long running enqueues 141 enabling 138
SPIN parameter 64 system-managed rebuild 127
spool monitoring, JES2 56
start definitions for z/OS UNIX resources 100
started task job name
T
defining 142 TAF fullscreen sessions
startup considerations, proxy resource automation 83 defining 146
status change commands 164 target systems, customizing 92
status command support, extended task global variables 10
introduced 26 TCP port monitoring, z/OS UNIX Automation 99
policy definitions 26 temporary data set HLQ
status descriptors defining 142
chaining to status components 254 Terminal Access Facility 146
propagating 256 testing
status information 9 automation procedures 17
status messages messages 87
defining for message automation 24 more information 20
stop definitions for z/OS UNIX resources 100 NetView facilities 19
structure testing exits 173
allocation 127 transaction recovery
automation procedures, of 7 IMS 177
deallocation 127 TRAP AND WAIT processing 90
duplexing 127 trapping UNIX syslogd messages 105
persistent 127
preference list 127
rebuild 127 U
system-managed rebuild 127
UNIX Automation
user-managed rebuild 127
automated resources 97
SUBSAPPL 20
debugging 106
SUBSJOB 20
file monitoring 100
SUBSTYPE 20
hints and tips 104
subsystem
process monitoring 97
adding to automation 1
setting up 95
up at initialization commands 173
setup example 101
SVC dump processing 176
TCP port monitoring 99
symbols
UNIX resources
use with message automation 23
customization of 95
synchronous hardware commands, using pipes and
definitions for 96
ISQCCMD for 89
monitoring routines for 96
syntax, batch job command statement 110
start and stop definitions 100
SYSLOG processing 176
UNIX syslogd messages, trapping 105
syslogd messages, trapping 105
UNIX System Services, integration 95
sysplex automation
user exits
enabling 125
V
VM second level systems support 91
VM target systems, customizing 93
VOST management, CICS monitoring 52
VSE guest target systems 91
VSE target systems, customizing 93
VTAM application, defining to SA z/OS 149
W
WTO(R)
automation routine
deletion of processed WTO(R)s from SDF 177
processed, deletion from SDF 177
WTO(R) buffer 128
WTOR processing 153
WTOR(R) buffer shortage
recovery, enabling 138
Z
z/OS systems, shutting down in a GDPS Environment 151
z/OS UNIX applications
infrastructure overview 95
z/OS UNIX Automation
automated resources 97
debugging 106
file monitoring 100
hints and tips 104
process monitoring 97
setting up 95
setup example 101
TCP port monitoring 99
z/OS UNIX resources
customization of 95
definitions for 96
monitoring routines for 96
start and stop definitions 100
z/OS UNIXSystem Services, integration of 95
Index 339
340 System Automation for z/OS : Customizing and Programming
IBM®
SC34-2715-01