Customization Guide
Customization Guide
Customization Guide
Customization Guide
IBM
SC27-2849-04
IBM Tivoli NetView for z/OS
Version 6 Release 2 Modification 1
Customization Guide
IBM
SC27-2849-04
Note
Before using this information and the product it supports, read the information in “Notices” on page 187.
This edition applies to version 6, release 2, modification 1 of IBM Tivoli NetView for z/OS (product number
5697-NV6 ) and to all subsequent versions, releases, and modifications until otherwise indicated in new editions.
This edition replaces SC27-2849-03.
© Copyright IBM Corporation 1997, 2015.
US Government Users Restricted Rights – Use, duplication or disclosure restricted by GSA ADP Schedule Contract
with IBM Corp.
Contents
Figures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
iv Customization Guide
Modifying Generic Code Point Tables . . . . . . . . . . . . . . . . . . . . . . . . . 100
Adding or Modifying Resource Types . . . . . . . . . . . . . . . . . . . . . . . . . 103
Chapter 10. Designing HTML Files for the NetView Web Server . . . . . . . . . . . 175
Referencing Files and Commands . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Understanding the Base URL . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175
Adding Tasks and Links to the Portfolio . . . . . . . . . . . . . . . . . . . . . . . . . 175
Using REXX to Generate HTML . . . . . . . . . . . . . . . . . . . . . . . . . . . . 176
Contents v
Appendix A. Color Maps for Hardware Monitor Panels. . . . . . . . . . . . . . . 177
Notices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187
Programming Interfaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Trademarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Privacy policy considerations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 189
Index . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 191
vi Customization Guide
Figures
1. Structural Overview of the Command Facility . . . . . . . . . . . . . . . . . . . . . . 9
2. Program Design Example for DST Function . . . . . . . . . . . . . . . . . . . . . . . 13
3. Excerpt from CNMKEYS Sample to Set PF Keys . . . . . . . . . . . . . . . . . . . . . 26
4. NetView Message Panel . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5. Example of Source for General Help Information . . . . . . . . . . . . . . . . . . . . . 32
6. Example of a REXX Program Requesting Values of Variables for a VIEW . . . . . . . . . . . . . 46
7. VIEWICCOL and VIEWICROW Examples . . . . . . . . . . . . . . . . . . . . . . . 51
8. Source for First Panel with Input-Capable Variables and Command Line . . . . . . . . . . . . . 53
9. Source for Second Panel with Command Line Only . . . . . . . . . . . . . . . . . . . . 53
10. Display Panel of Component with Variables Replaced by REXX Command List . . . . . . . . . . . 56
11. Display Panel of Component . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
12. RESDYN Command List Output Example . . . . . . . . . . . . . . . . . . . . . . . 61
13. CNMSRESP Source Panel Text . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
14. Example of Using the SHOWDATA Command to Locate Help Source Files . . . . . . . . . . . . 66
15. Example of Source for Message and Command Help Information . . . . . . . . . . . . . . . 67
16. Example of Using :IF DTYPE= and :LINK. . . . . . . . . . . . . . . . . . . . . . . . 69
17. Example of the HELPMAP . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
18. CNMB08B Sense Code Help . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74
19. Recommended Action Panel for Selected Event . . . . . . . . . . . . . . . . . . . . . 83
20. Sample BNJwwwww User-Defined Table . . . . . . . . . . . . . . . . . . . . . . . 86
21. Sample Generic Alert Record. . . . . . . . . . . . . . . . . . . . . . . . . . . . 94
22. Sample of Alerts-Dynamic Panel . . . . . . . . . . . . . . . . . . . . . . . . . . 95
23. Sample of Recommended Action for a Selected Event Panel . . . . . . . . . . . . . . . . . 96
24. Sample of Event Detail Panel (Page 1). . . . . . . . . . . . . . . . . . . . . . . . . 98
25. Sample of Event Detail Panel (Page 2). . . . . . . . . . . . . . . . . . . . . . . . . 98
26. VPD Focal Point NetView Program . . . . . . . . . . . . . . . . . . . . . . . . . 107
Intended audience
This publication is for system programmers who customize the NetView program.
Publications
This section lists publications in the IBM Tivoli NetView for z/OS library and
related documents. It also describes how to access Tivoli publications online and
how to order Tivoli publications.
x Customization Guide
v Program Directory for IBM Tivoli NetView for z/OS Enterprise Management Agent,
GI11-9446, contains information about the material and procedures that are
associated with installing the IBM Tivoli NetView for z/OS Enterprise
Management Agent.
Related publications
You can find additional product information on the NetView for z/OS web site at
http://www.ibm.com/software/tivoli/products/netview-zos/.
For information about the NetView Bridge function, see Tivoli NetView for OS/390
Bridge Implementation, SC31-8238-03 (available only in the V1R4 library).
For NetView for z/OS terms and definitions, see the IBM Terminology web site.
The following terms are used in this library:
NetView
For the following products:
v Tivoli NetView for z/OS version 6 release 2 modification 1
v Tivoli NetView for z/OS version 6 release 2
v Tivoli NetView for z/OS version 6 release 1
v Tivoli NetView for z/OS version 5 release 4
v Tivoli NetView for z/OS version 5 release 3
v Tivoli NetView for OS/390® version 1 release 4
v NetView releases that are no longer supported
CNMCMD
For the CNMCMD member and the members that are included in it using
the %INCLUDE statement
CNMSTYLE
For the CNMSTYLE member and the members that are included in it using
the %INCLUDE statement
DSIOPF
For the DSIOPF member and the members that are included in it using the
%INCLUDE statement
PARMLIB
For SYS1.PARMLIB and other data sets in the concatenation sequence
MVS™ For z/OS operating systems
MVS element
For the base control program (BCP) element of the z/OS operating system
VTAM®
For Communications Server - SNA Services
IBM Tivoli Network Manager
For either of these products:
v IBM Tivoli Network Manager
v IBM Tivoli OMNIbus and Network Manager
IBM Tivoli Netcool®/OMNIbus
For either of these products:
Unless otherwise indicated, topics to programs indicate the latest version and
release of the programs. If only a version is indicated, the topic is to all releases
within that version.
Note: If you print PDF documents on other than letter-sized paper, set the option
in the File > Print window that enables Adobe Reader to print letter-sized pages
on your local paper.
Ordering publications
You can order many Tivoli publications online at http://www.ibm.com/e-
business/linkweb/publications/servlet/pbi.wss
Accessibility
Accessibility features help users with a physical disability, such as restricted
mobility or limited vision, to use software products successfully. Standard shortcut
and accelerator keys are used by the product and are documented by the operating
system. Refer to the documentation provided by your operating system for more
information.
For additional information, see the Accessibility appendix in the User's Guide:
NetView.
Downloads
Clients and agents, and several free NetView applications can be downloaded from
the NetView for z/OS support web site:
http://www.ibm.com/software/sysmgmt/products/support/
IBMTivoliNetViewforzOS.html
Support information
If you have a problem with your IBM software, you want to resolve it quickly. IBM
provides the following ways for you to obtain the support you need:
Online
Access the Tivoli Software Support site at http://www.ibm.com/software/
sysmgmt/products/support/index.html?ibmprd=tivman. Access the IBM
Software Support site at http://www.ibm.com/software/support/
probsub.html.
IBM Support Assistant
The IBM Support Assistant is a free local software serviceability workbench
that helps you resolve questions and problems with IBM software
products. The Support Assistant provides quick access to support-related
information and serviceability tools for problem determination. To install
the Support Assistant software, go to http://www.ibm.com/software/
support/isa/.
Troubleshooting information
For more information about resolving problems with the NetView for z/OS
product, see the IBM Tivoli NetView for z/OS Troubleshooting Guide.
Additional support for the NetView for z/OS product is available through
the NetView user group on Yahoo at http://groups.yahoo.com/group/
NetView/. This support is for NetView for z/OS customers only, and
registration is required. This forum is monitored by NetView developers
who answer questions and provide guidance. When a problem with the
code is found, you are asked to open an official problem management
record (PMR) to obtain resolution.
Typeface conventions
This publication uses the following typeface conventions:
Bold
v Lowercase commands and mixed case commands that are otherwise
difficult to distinguish from surrounding text
v Interface controls (check boxes, push buttons, radio buttons, spin
buttons, fields, folders, icons, list boxes, items inside list boxes,
multicolumn lists, containers, menu choices, menu names, tabs, property
sheets), labels (such as Tip:, and Operating system considerations:)
v Keywords and parameters in text
Italic
v Citations (examples: titles of publications, diskettes, and CDs
v Words defined in text (example: a nonswitched line is called a
point-to-point line)
v Emphasis of words and letters (words as words example: “Use the word
that to introduce a restrictive clause.”; letters as letters example: “The
LUN address must start with the letter L.”)
v New terms in text (except in a definition list): a view is a frame in a
workspace that contains data.
v Variables and values you must provide: ... where myname represents...
Monospace
v Examples and code examples
v File names, programming keywords, and other elements that are difficult
to distinguish from surrounding text
v Message text and prompts addressed to the user
v Text that the user must type
v Values for arguments or command options
When using the Windows command line, replace $variable with %variable% for
environment variables and replace each forward slash (/) with a backslash (\) in
directory paths. The names of environment variables are not always the same in
the Windows and UNIX environments. For example, %TEMP% in Windows
environments is equivalent to $TMPDIR in UNIX environments.
Note: If you are using the bash shell on a Windows system, you can use the UNIX
conventions.
Symbols
The following symbols are used in syntax diagrams:
►► Marks the beginning of the command syntax.
► Indicates that the command syntax is continued.
| Marks the beginning and end of a fragment or part of the command
syntax.
►◄ Marks the end of the command syntax.
Parameters
The following types of parameters are used in syntax diagrams:
Required
Required parameters are shown on the main path.
Optional
Optional parameters are shown below the main path.
Default
Default parameters are shown above the main path. In parameter
descriptions, default parameters are underlined.
When you issue a command, spaces are required between the parameters unless a
different separator, such as a comma, is specified in the syntax.
In the following example, the USER command is a keyword, the user_id parameter
is a required variable, and the password parameter is an optional variable.
►► USER user_id ►◄
password
When examples of commands are shown, commas are also used to indicate the
absence of a positional operand. For example, the second comma indicates that an
optional operand is not being used:
COMMAND_NAME opt_variable_1,,opt_variable_3
You do not need to specify the trailing positional commas. Trailing positional and
non-positional commas either are ignored or cause a command to be rejected.
Restrictions for each command state whether trailing commas cause the command
to be rejected.
Abbreviations
Command and keyword abbreviations are listed in synonym tables after each
command description.
Syntax examples
The following examples show the different uses of syntax elements:
v “Required syntax elements”
v “Optional syntax elements”
v “Default keywords and values” on page xviii
v “Multiple operands or values” on page xviii
v “Syntax that is longer than one line” on page xviii
v “Syntax fragments” on page xviii
►► REQUIRED_KEYWORD required_variable ►◄
A required choice (two or more items) is shown in a vertical stack on the main
path. The items are shown in alphanumeric order.
►► REQUIRED_OPERAND_OR_VALUE_1 ►◄
REQUIRED_OPERAND_OR_VALUE_2
►► ►◄
OPTIONAL_OPERAND
A required choice (two or more items) is shown in a vertical stack below the main
path. The items are shown in alphanumeric order.
KEYWORD1 OPTION=*
►► COMMAND_NAME ►◄
KEYWORD1 OPTION= *
KEYWORD2 VALUE1
KEYWORD3 VALUE2
►► KEYWORD= ( ▼ value_n ) ►◄
,
▼ REPEATABLE_OPERAND_OR_VALUE_1
REPEATABLE_OPERAND_OR_VALUE_2
REPEATABLE_OPERAND_OR_VALUE_3
► OPERAND8 ►◄
Syntax fragments:
Some syntax diagrams contain syntax fragments, which are used for lengthy,
complex, or repeated sections of syntax. Syntax fragments follow the main
diagram. Each syntax fragment name is mixed case and is shown in the main
diagram and in the heading of the fragment. The following syntax example shows
a syntax diagram with two fragments that are identified as Fragment1 and
Fragment2.
Fragment1
Fragment2
Customization Areas
Customizing the NetView program takes place at various stages of network and
system implementation. These topics are described in several NetView books. See
Table 1 on page 3 for the NetView books that contain more information on the
listed topics.
Alias names are used to communicate across networks. You can use alias names to
resolve conflicts when duplicate resource names exist in multiple networks. With
alias names, the name of the resource, such as a logical unit (LU), a class of
service, a source LU (SRCLU), or a LOGON mode table from the sending network,
is translated to a name that is unique to the receiving network. See IBM Tivoli
NetView for z/OS Installation: Getting Started for more information about how to
define alias names.
Filtering controls the amount of data presented to operators. Filtering also controls
the amount of data recorded in the network log. The NetView automation table
allows you to control the types of messages that each of your network operators
receives, and the amount of data recorded to message logs. See the IBM Tivoli
NetView for z/OS Automation Guide for descriptions of automation statements and
descriptions of how to use automation statements to suppress (filter) messages.
You can also filter event data that network resources send to the hardware monitor.
Recording filters control the information that is recorded in the hardware monitor's
database. Viewing filters determine the records that appear on each network
operator's terminal. You can find more information about hardware monitor
filtering by referring to the IBM Tivoli NetView for z/OS User's Guide: NetView or the
IBM Tivoli NetView for z/OS Automation Guide for a description of how to use
automation statements to set recording filters for specific events. You can also see
the NetView online help for the SRF and SVF commands.
Focal point support enables the NetView program to be defined as either a focal
point node or a distributed entry point node. A focal point is a central network
node that receives information from distributed entry point network nodes. The
information forwarded from the entry points to the focal point can be messages,
alerts, or MSUs. For more information on NetView focal point support, see the
IBM Tivoli NetView for z/OS Automation Guide.
You can use automation to implement automatic responses to events that occur in
your network. See the IBM Tivoli NetView for z/OS Automation Guide for more
information about defining NetView automation statements to improve the
productivity of your system operators and your network operators. For additional
information the NetView program's automation, see the IBM Tivoli NetView for z/OS
Automation Guide.
National Language Support allows your operators to interact with the NetView
program in a language other than English. See IBM Tivoli NetView for z/OS
Installation: Configuring Additional Components for a description of how to write
your own message translations in any other supported language. The Japanese
National Language version provides a Japanese version of NetView panels and
messages.
You might need to consider operator control and security. To control who can gain
access to the NetView program and what effect an operator can have on your
network, you should consider some level of logon verification, command
authorization, and span of control. See the IBM Tivoli NetView for z/OS Security
Reference for a complete description of how to implement the different levels of
security verification available in the NetView program, how to limit the commands
an operator can issue (command authorization), and which part of the network's
resources an operator can control (span of control).
You can modify the color and format of the NetView command facility panel. See
Chapter 2, “Customizing the NetView Command Facility Panel,” on page 27 for
more information.
You can create or change panels for your online help, online message help,
NetView help desk, the hardware monitor, and any user-written, full-screen
applications. For a detailed explanation of how to create new panels or modify the
panels that are supplied with the NetView program for these components, see
Chapter 4, “Modifying and Creating Online Help Information,” on page 65 or
Chapter 6, “Customizing Hardware Monitor Displayed Data,” on page 77.
With sequential logging (sequential access method log support), you can write
variable length records to multiple user-defined logs. You can browse or print
these logs using your operating system facilities. For more information about
defining sequential log tasks, see the IBM Tivoli NetView for z/OS Installation:
Configuring Additional Components, IBM Tivoli NetView for z/OS Programming:
Assembler, or IBM Tivoli NetView for z/OS Programming: PL/I and C.
Session monitor data can be collected and kept in the session monitor database. To
control how much session data is collected and kept, customize several session
monitor definition statements. See theIBM Tivoli NetView for z/OS Installation:
Configuring Additional Components for more information. Defining performance
classes for the response time monitor (RTM) feature is also described in IBM Tivoli
NetView for z/OS Installation: Configuring Additional Components. Objectives and
boundaries are set for each performance class, and a performance class is then
chosen for a session.
2 Customization Guide
the operators' jobs easier. You can find information about writing code such as
command procedures and installation exits in IBM Tivoli NetView for z/OS
Programming: PL/I and C. Information on writing command processors, installation
exit routines, and user subtasks in assembler language can be found in IBM Tivoli
NetView for z/OS Programming: Assembler.
The NetView Resource Object Data Manager (RODM) is a data cache that stores
network configuration and status information about system resources. With
RODM, you can automate network management functions associated with the
resources defined to RODM. In addition, you can write RODM applications to
perform other network management and automation tasks. See the IBM Tivoli
NetView for z/OS Resource Object Data Manager and GMFHS Programmer's Guide for
more information.
Topic CGD GET OLH CLS PLC ASL AUT PIP ASR NUG ADV
Alias names X X
Command Facility
Screen Format X X X
Topic CGD GET OLH CLS PLC ASL AUT PIP ASR NUG ADV
Automation X X X
Generic alerts X X
National Language X
Support
Operator control:
Logon security X
Command security X
Span of control X
Panels:
Hardware monitor X X
Help X X
Help desk X X
User-written X X
Sequential logging X X X X
Suppressing:
Message X X X
Hardware monitor X
User-written functions:
Command lists X
User-written
programming X
(PL/I, C)
User-written X
programming X X
(assembler)
NetView Pipelines
4 Customization Guide
Table 1. Customization Topics and Documentation (continued)
Topic CGD GET OLH CLS PLC ASL AUT PIP ASR NUG ADV
Legend:
CGD IBM Tivoli NetView for z/OS Customization Guide
GET IBM Tivoli NetView for z/OS Installation: Getting Started
OLH NetView online help
CLS IBM Tivoli NetView for z/OS Programming: REXX and the NetView Command List Language
PLC IBM Tivoli NetView for z/OS Programming: PL/I and C
ASL IBM Tivoli NetView for z/OS Programming: Assembler
AUT IBM Tivoli NetView for z/OS Automation Guide
PIP IBM Tivoli NetView for z/OS Programming: Pipes
ASR IBM Tivoli NetView for z/OS Administration Reference
NUG IBM Tivoli NetView for z/OS User's Guide: NetView
ADV IBM Tivoli NetView for z/OS Installation: Configuring Additional Components
For information about customizing AON, see the IBM Tivoli NetView for z/OS User's
Guide: Automated Operations Network.
For information about customizing the NetView management console, see the IBM
Tivoli NetView for z/OS Programming: REXX and the NetView Command List Language.
For information about customizing the Tivoli NetView for z/OS Enterprise
Management Agent, see the IBM Tivoli NetView for z/OS User's Guide: NetView
Enterprise Management Agent.
Collecting Data
Typical sources for collecting data useful in customization procedures are:
v Installation exit interfaces provided in the NetView program
v System or NetView services that provide status, configuration, processing, or
authorization information
v Data files and network devices that are accessed using system or NetView
services
v Messages to operators indicating that important events are occurring in a system
or an application.
Installation Exits
Some NetView installation exits allow access to network management data.
Through these installation exits and user-written functions you can obtain the text
of operator commands, messages, and logons. Data that the NetView program
writes to VSAM files and to the SMF log, as well as data on the VTAM
communication network management (CNM) interface, can be accessed within
other NetView installation exits.
Reference: For more information about NetView installation exits, see the IBM
Tivoli NetView for z/OS Automation Guide, IBM Tivoli NetView for z/OS Programming:
Assembler, and IBM Tivoli NetView for z/OS Programming: PL/I and C.
Reference: See the IBM Tivoli NetView for z/OS Programming: Assembler for
information about macros such as DSIDATIM, DSICES, DSIFIND, DSIQOS,
DSIQRS, and DSIKVS. See the IBM Tivoli NetView for z/OS Programming: PL/I and C
for information on service routines such as CNMINFC, CNMNAMS, CNMSCOP,
and CNMVARS.
Data Files
The NetView program provides specialized disk services and VSAM data services
to access network management data files. In addition to these, functions written in
a high-level language (HLL), such as PL/I and C, can invoke system allocation and
access methods to read from NetView partitioned data sets and request VSAM
I/O. CNM interface services also provide access to data coming from devices in
the network.
Using the NetView PIPE command, you can read data files using the QSAM and <
(From Disk) stages. Through the pipe facility, you also have access to VSAM data
using DSIVSAM and DSIVSMX. See the IBM Tivoli NetView for z/OS Programming:
Pipes for information about DSIVSAM and DSIVSMX.
REXX command lists can make use of the EXECIO command to read from and
write to sequential data sets or partitioned data set members.
Reference: See the IBM Tivoli NetView for z/OS Programming: PL/I and C for
information about VSAM and CNM interface services.
For more information about pipes, see the IBM Tivoli NetView for z/OS
Programming: Pipes.
See the IBM Tivoli NetView for z/OS Programming: REXX and the NetView Command
List Language for information on REXX file input and output. See the IBM Tivoli
NetView for z/OS Programming: Assembler for information on using DSIDKS for read
access to NetView data sets or files, DSIZVSMS for VSAM I/O, and DSIZCSMS for
CNM data services.
Reference: See the IBM Tivoli NetView for z/OS Programming: REXX and the
NetView Command List Language for information on REXX and NetView command
list language message processing. See the IBM Tivoli NetView for z/OS Programming:
6 Customization Guide
PL/I and C for information on PL/I and C message processing. For more
information on writing automation options, see the IBM Tivoli NetView for z/OS
Automation Guide.
For permanent storage and for larger volumes of data, you can record certain
information in data files rather than naming it and storing it as a command list
variable. The NetView program allows you to record this data in a log. For
example, you can log activities of your applications along with system or network
activities that the NetView program is logging. You might want to produce a
separate log of data that you collect.
Reference: See the IBM Tivoli NetView for z/OS Installation: Configuring Additional
Components and “Choosing a Language” on page 14 in this book for information
on sequential logging.
Operator Presentation
You can customize or extend some of the NetView program's operator presentation
functions with the VIEW command or by modifying panels that some components
of the NetView system use to present data to operators. See Chapter 3, “Using the
VIEW Command,” on page 31 and Chapter 4, “Modifying and Creating Online
Help Information,” on page 65 for more information.
You can also use messages to present information to operators. With messages, the
data from user-written functions becomes subject to NetView automation
processing, allowing both automatic and manual operation of your functions.
Reference: See the IBM Tivoli NetView for z/OS Programming: Assembler for
information about DSIWCS, DSIMBS, DSIMQS, DSIPSS, and other message
services. See the IBM Tivoli NetView for z/OS Programming: PL/I and C for
information about using CNMSMSG. See the IBM Tivoli NetView for z/OS
Programming: REXX and the NetView Command List Language for descriptions of
REXX and NetView command list language write-to-operator (WTO) messages and
other message services.
You can also customize the NetView command facility panel. See Chapter 2,
“Customizing the NetView Command Facility Panel,” on page 27 for more
information.
Tasks
To write functional extensions to the NetView program, keep in mind that the
NetView design is based on z/OS.
Reference: The z/OS library is a good reference for explanations of how words
such as dispatch, task, and the names of various system services are used in this
section.
Each operator station task (OST) supports one NetView operator identified by a
unique name. The operator identifiers (OPIDs) are defined in the NetView
parameter library. OPIDs are assigned to an OST when an automated operator,
known as an autotask, is activated using the AUTOTASK command, or when an
operator logs on using a VTAM-connected terminal.
Each NetView-NetView task (NNT) also supports an operator. This type of task is
used when the operator logs on to the NetView program from another NetView
program rather than from a terminal. The other NetView program can be running
in a different machine but must be connected through VTAM. The operator logs on
from the other NetView program using the START DOMAIN command.
Each hardcopy task (HCT) supports a 3287 printer connected through VTAM to
provide a hardcopy log for operators. See Figure 1 on page 9 for a structural
overview of the command facility and its task structure.
8 Customization Guide
Main
Task
(MNT)
DST System
Consoles
VTAM
VSAM
There is only one primary program operator interface task (PPT) for each NetView
program. When VTAM is running, the PPT opens a special VTAM application
control block (ACB) for the VTAM programmable operator interface (POI) to
receive unsolicited data from VTAM.
Note: When the term VTAM is used in this book, it means the VTAM component
of the z/OS Communications Server.
Each optional task (OPT) must be defined by a TASK statement in the NetView
parameter library. The program module that runs for an OPT can be any program
that meets the specification for optional tasks described in “Adding Optional Tasks
to the NetView Program” on page 14.
Each data services task (DST) is a specific case of an optional task. See “Adding
Optional Tasks to the NetView Program” on page 14. The TASK statement for a
DST can name an initialization member in the NetView parameter library from
which statements are read to define parameters for the functions performed by the
specified DST.
Every NetView task has its own termination ECB and its own message queue ECB.
Some types of tasks (for example, OSTs or DSTs) can have additional ECBs in their
ECB lists. The additional ECBs represent processing that the task tests for and
performs when it is posted out of its WAIT state.
Data for a task can be placed in its message queue or another work queue, and the
task can be posted to perform that work at any time. The data can originate in
another NetView task. This can happen when a DST queues message data to an
OST to be displayed to an operator. The data can come into the NetView program
through an interrupt exit routine that is scheduled by an event such as the
completion of a VTAM RECEIVE request.
Immediate Commands
An immediate command starts processing as soon as an operator enters the
command. The requested function is performed immediately, even if the task is in
the middle of a large queue of work.
An immediate command runs under the OST and NNT subtask environments.
Unlike other commands, immediate commands can receive control with the
TVBINXIT bit set on. Immediate commands interrupt mainline processing and
cannot be interrupted by another command. Immediate commands can be
interrupted by other exits in asynchronous activity.
Long-Running Commands
A long-running command is a command that can suspend processing to allow
other activity, such as operator commands and data retrieval, and then resume
processing. All the NetView components are long-running commands. NetView
10 Customization Guide
command list language, REXX, PL/I, and C command procedures are also
long-running commands. The DSIPUSH macro allows an assembler command to
run as a long-running command.
Long-running commands run under an OST, NNT, PPT, or DST (logoff routines
only). Long-running commands can be:
v Invoked directly by operator input
v Called by a command list
v Called by another long-running command.
You can use long-running command processors to retrieve data from another task
or from another domain without allowing the calling function or calling command
list to proceed during the retrieval. When the retrieval is executing, the processor's
task can continue to receive messages and accept commands.
Reference: The programming interface details are provided in IBM Tivoli NetView
for z/OS Programming: PL/I and C and IBM Tivoli NetView for z/OS Programming:
Assembler. In designing user-written functions, you can use the installation exit
interface and the command processor interface in the NetView program to fit your
own programming into the overall structure of the NetView program.
Reference: For a summary of the NetView installation exits, see the IBM Tivoli
NetView for z/OS Automation Guide, IBM Tivoli NetView for z/OS Programming:
Assembler, and IBM Tivoli NetView for z/OS Programming: PL/I and C.
General installation exits are identified and invoked with preassigned module
names of DSIEXnn, and the DST exits are uniquely identified in the task DSTINIT
initialization statements.
You must link-edit PL/I, C, and assembler command processors into the NetView
load library (ddname STEPLIB), and define them to the NetView program. To define
command processors written in PL/I, C, or assembler to the NetView program, use
a CMDDEF statement in the CNMCMD member of DSIPARM. Command
processors are link-edited into the NetView load library.
You can implement parts of a function in multiple installation exit programs and
command processors. A common way of splitting a function across command
processors is to divide processing between OSTs and DSTs. Because OSTs receive
data from operator stations and return data back to them, a command processor is
written to:
v Be called when the command is entered by an operator
v Parse the command data and form a data services request
v Queue a command buffer containing the data services command to be processed
by the DST
v Return an error message or a command confirmation message to the operator
The DST completes the function in a separate command processor that is called
because of the command buffer that is built and queued by the first command
processor. Under the DST, functions requiring the special data services of VSAM,
external logging, or the VTAM CNM interface are performed and messages can be
returned to the operator task that queued the command. Figure 2 on page 13
shows a typical program design for a function that uses the CNM interface and
VSAM services.
12 Customization Guide
Figure 2. Program Design Example for DST Function
With long running commands, you can separate a complex function into a
sequence of separate transactions. Command processors can establish a named
stack entry where an anchor address is saved. A related command processor can
later retrieve this address and perform another phase of the same processing.
For an OPT, you must supply code for the subtask's initialization, installation exit,
message, and command processing functions and termination. Because some of
these elements are already provided in an existing DST, using the DST as a starting
point is more practical.
Reference: For more information on OPTs and DSTs in assembler language, see
the IBM Tivoli NetView for z/OS Programming: Assembler.
Choosing a Language
One application program interface might be more suitable than another for your
particular customization requirements. Consider the effects on performance, ease of
creation, and maintenance when determining the interface to use. This section
describes the languages available and lists reasons that you might choose one
language over another.
Reference: See the IBM Tivoli NetView for z/OS Programming: PL/I and C for
information about VSAM and CNM interface services. See the IBM Tivoli NetView
for z/OS Programming: Assembler for information about using DSIDKS for read
access to NetView data sets or files, DSIZVSMS for VSAM I/O, and DSIZCSMS for
CNM data services.
See the IBM Tivoli NetView for z/OS Programming: REXX and the NetView Command
List Language for information on REXX file input and output.
Performance
Write performance-critical applications in a compiled or assembled language.
Generally, compiled or assembled command procedures execute faster than
interpretive (REXX and NetView command list language) command lists.
14 Customization Guide
written in REXX perform somewhat better than those written in NetView
command list language. See “REXX Versus the NetView Command List Language.”
Additionally, the performance of REXX command lists can be improved by
compiling the REXX command list.
Preloading a REXX or NetView command list (see the NetView online help for the
LOADCL command) improves overall performance of the command list.
Reference: For details about compiling REXX command lists, see the IBM Tivoli
NetView for z/OS Tuning Guide.
For additional performance recommendations, see the IBM Tivoli NetView for z/OS
Installation: Configuring Additional Components and IBM Tivoli NetView for z/OS
Installation: Configuring Additional Components.
Stability
If you anticipate changes to your procedures as you gain more experience or as
your operating environment changes, you might want to use command lists to
implement the procedures initially. Changes are easier to make in command lists
because you can incorporate the changes and test them online without having to
restart the NetView program. You can translate procedures into a compiled
language when you become confident of their stability.
Testing
Testing capabilities for command lists include the ability to trace execution using
either operator commands or command list statements. A remote interactive
debugger (RID) that displays information to a NetView operator console can help
you in debugging PL/I and C user-written command processors and installation
exits. The NetView program does not provide any specific functions to help debug
assembler programs.
Speed of Implementation
Because command lists are easy to write, test, and put into production, they can be
an appropriate choice in addressing immediate operational needs.
REXX language skills can be used in environments other than the NetView
program. However, REXX procedures written for the NetView program probably
will not be transportable to other environments because of their function content.
In multiple environments, REXX is more useful because you can transfer REXX
programming skills to solve NetView problems without learning another language.
If your installation uses several operating systems, it is possible that some of them
support REXX and others do not. In this case, you can create bilingual command
lists that contain both REXX and NetView command list versions of your
Reference: For details about compiling REXX command lists, see the IBM Tivoli
NetView for z/OS Programming: REXX and the NetView Command List Language.
See the IBM Tivoli NetView for z/OS Programming: REXX and the NetView Command
List Language for more information about bilingual command lists.
Logging
The NetView program provides several ways to log information. Table 3 lists the
available features of the common logging methods.
Table 3. Features of NetView Logging Methods
External
External SMF User-Defined NetView
Feature Network Log Log Log Sequential Log
Access method VSAM VSAM Sequential BSAM
16 Customization Guide
Table 3. Features of NetView Logging Methods (continued)
External
External SMF User-Defined NetView
Feature Network Log Log Log Sequential Log
Device- No No Yes Yes
independent
Function Record all Service level User-defined Base service for
provided operator station verification and user-defined
activity accounting functions
API–PL/I and C CNMSMSG CNMSMSG CNMSMSG CNMSMSG
*
API–assembler DSIWLS DSIWLS DSIWLS DSIWLS
Begin recording START See IBM Tivoli See IBM Tivoli See IBM Tivoli
NetView for z/OS NetView for z/OS NetView for z/OS
Installation: Installation: Installation:
Configuring Configuring Configuring
Additional Additional Additional
Components. Components. Components.
Browse NetView No Operating Operating
BROWSE system browse system browse
Multiple log No No No Yes
tasks
Variable length No Yes Yes Yes
blocks and
records
Primary / Yes System No Yes
secondary data controlled
sets or files
SWITCH, Yes N/A No Yes
RESUME,
AUTOFLIP
Installation exits Many XITXL XITXL XITBN, XITBO
Reference: For information about the network log, see the IBM Tivoli NetView for
z/OS Automation Guide. For information about external logging using the system
management facility (SMF), a user-defined log, or sequential logging, see the IBM
Tivoli NetView for z/OS Installation: Configuring Additional Components.
Note:
1. If you are writing assembler-language command processors, see the IBM Tivoli
NetView for z/OS Programming: Assembler for the BUFHDR mapping within the
DSITIB mapping macro, the DSIIFR mapping macro, and the DSIAIFRO
mapping macro for exact field definitions.
Automation HLL
Table Service Control
REXX Condition Routine and Block
Function Description Item Options Field
ASID() NetView address space Not available CNMINFI ASID ASCBASID
identifier
CURSYS() Current® z/OS system CURSYS CNMINFC CURSYS CVTSNAME
name (MVS)
Date(USA) Current date Not available CNMINFC DATE
DOMAIN() Current domain name DOMAIN CNMINFC DOMAIN MVTCURAN
ECVTPSEQ() Product sequence number ECVTPSEQ CNMINFC ECVTPSEQ IHAECVT (MVS)
MVSLEVEL() Current z/OS system level MVSLEVEL CNMINFC MVSLEVEL CVTPRODN
(MVS)
NETID() VTAM network identifier NETID CNMINFC NETID ACB vectors
NETVIEW() NetView version and NETVIEW CNMINFC NVVER MVTVER
release identifier
OPSYSTEM() Operating system for OPSYSTEM CNMINFC OPSYSTEM DSISYS Compiler
which the NetView variable
program was compiled
Greenwich Mean Time Not available
STCKGMT() Store Clock Value CNMINFC CLOCK
8-byte value 8-byte value
SUPPCHAR() In the NetView program, Not available CNMINFC SUPPCHAR MVTSPCHR
the character that
suppresses the command
echo or the command's
message output
SYSPLEX() 1–8 character name of the SYSPLEX CNMINFC SYSPLEX ECVTSPLX
z/OS SYSPLEX where the
command list is running
TIME(option) Current time Not available CNMINFC TIME
VTAM() VTAM level if active VTAM CNMINFC VTAM
ACB vectors
MVTACB
ACBOPEN
VTCOMPID() VTAM component VTCOMPID CNMINFC VTCOMPID
identifier ACB vectors
MVTACB
ACBOPEN
18 Customization Guide
Table 4. Automation Variable Cross-Reference Table for System Data (continued). The data returned is about the
system. The same data is returned in every message for every task.
Automation HLL
Table Service Control
REXX Condition Routine and Block
Function Description Item Options Field
WEEKDAYN() Decimal number WEEKDAYN CNMINFI WEEKDAYN
representing day of week
Table 5. Automation Variable Cross-Reference Table for System Data. The data returned is about the system. The
same data is returned in every message for every task.
Automation HLL
Table Service Control
REXX Condition Routine and Block
Function Description Item Options Field
NetView program NVCLOSE CNMINFI CLOSING MVTCLOSE
termination indicator
APPLID() Application name of the Not available CNMINFC APPLID TVBAPID
current task
ARG() Input parameters for the Not available Not available
active command list
ATTENDED() Task information ATTENDED CNMINFI ATTENDED TVBSYSCN
TVBAUTOO
TVBDAUT
AUTCONID() MVS console name that is Not available CNMINFC AUTCONID TVBSYSCN
associated with an TVBCNAME
autotask. This MVS console
can issue NetView
commands to run under
this autotask.
AUTOTASK() Autotask indicator AUTOTASK CNMINFI AUTOTASK TVBAUTOO
COMPNAME() Component name that was Not available Not available
active when command list
invoked
CURCONID() MVS console name used by Not available CNMINFC CURCONID TVBMCSNU
a NetView task to issue
MVS commands and TVBMCSNA
receive MVS messages
DISTAUTO() Distributed autotask DISTAUTO CNMINFI DISTAUTO TVBDAUT
indicator
HCOPY() Hardcopy task for this task Not available CNMINFC HCOPY TVBHCTVB ->
TVBOPID
LU() Terminal name of the Not available CNMINFC LU TVBLUNAM
currently running task
NVCNT() Number of domains Not available Not available
available
NVID(n) Domain ID array Not available Not available
NVSTAT(name) Domain status Not available Not available
Automation HLL
Table Service Control
REXX Condition Routine and Block
Function Description Item Options Field
OPID() ID of currently running OPID CNMINFC OPID, or TVBOPID
task CNMINFC TASKNAME
PARMCNT() Number of input Not available Not available
parameters to the active
command list
TASK() Type of task TASK CNMINFC TASK CBHTYPE in
DSITVB
WTO.REPLY WTOR reply text Not available Not available
Table 6. Automation Variable Cross-Reference Table for Message Data. Data is different for each message or MSU.
The message ID is message data.
MSOLEN
ACTIONDL() Message deletion reason ACTIONDL CNMCAGA ACTIONDL
IFRAUDLO
IFRAUDTO
IFRAUNVD
IFRAUDFL
IFRAUDF2
ACTIONMG() Action message ACTIONMG CNMCAGA ACTIONMG IFRAUACN
AREAID() MVS area ID AREAID CNMGETA AREAID IFRAUWMA
CPOCAREA
MDBCAREA
AUTOTOKE() MPF automation token AUTOTOKE CNMGETA AUTOTOKE IFRAUTOK
MDBCAUTO
CART() 8-byte command and CART CNMGETA CART CPOCCART
response token
MDBCCART
DESC() 2 bytes of MVS descriptor DESC CNMGETA DESC IFRAUWDS
codes
CPOCDESC
MDBCDESC
GETMLINE Message text TEXT CNMGETD GETFIRST or
command CNMGETD GETNEXT
20 Customization Guide
Table 6. Automation Variable Cross-Reference Table for Message Data (continued). Data is different for each
message or MSU. The message ID is message data.
ORIG_MSG_TYPE contains
the message type only after
CNMGETD has been
issued.
IFRAUGMT() 8-byte hexadecimal Store None CNMGETA IFRAUGMT
Clock value when AIFR
was created
IFRAUIND() 2 bytes of automation IFR IFRAUIND(nn) CNMGETA IFRAUIND IFRAUIND
indicator flags
IFRAUIN3() 1 byte of indicator bits IFRAUIN3(nn) CNMGETA IFRAUIN3 IFRAUIN3
IFRAUI3X() 32-bit field of which IFRAUI3X CNMCAGA IFRAUI3X IFRAUI3X
IFRAUIN3 are the first 8
bits
IFRAUNVF MVS Retain Flags MVSRTAIN CNMGETA MVSRTAIN IFRAUNVF
IFRAUSDR() Original sender of a IFRAUSDR CNMGETA IFRAUSDR IFRAUSDR
message or MSU, whereas
HDRSENDR is unreliable
IFRAUSRB() 2-byte user field from the IFRAUSRB(nn), CNMGETA IFRAUSRB, IFRAUSRB
IFRAUSB2() AIFR. This user field can IFRAUSB2(n) CNMGETA IFRAUSB2
be referenced either as bits
or characters.
22 Customization Guide
Table 6. Automation Variable Cross-Reference Table for Message Data (continued). Data is different for each
message or MSU. The message ID is message data.
24 Customization Guide
Table 6. Automation Variable Cross-Reference Table for Message Data (continued). Data is different for each
message or MSU. The message ID is message data.
For View panels, if the VIEW application has not provided a value for CNMIMDL,
VIEW searches the global dictionaries (task, then common) for a variable named
CNMIMxxx, where xxx is the application name provided when VIEW was
invoked. If the CNMIMxxx variable is not found, VIEW searches for CNMIMVIEW
in the same dictionaries. This is similar to the way keys are set for VIEW
applications. Finally, if none of these variables is present, the text from message
BNH257I is used.
The PFKDEF command list (CNME1010) can assign one or more task global
variables from the target file to match the key settings for applicable NetView
applications. Figure 3 shows how you can set the PF keys for the Browse, Status
Monitor, and View panels.
26 Customization Guide
Chapter 2. Customizing the NetView Command Facility Panel
The NetView command facility panel can be customized. You can customize:
v The colors of fields on the panel
v The information that precedes the message text
v The default colors for held, action, normal, and immediate classes of messages
v The color of the command area
v How much of the panel area is set aside for held and action messages
Note:
1. Color and highlighting must be supported by your hardware and emulator. In
addition, you must log on to the NetView system with a query-type logmode.
2. When you replace an active screen format definition with a new screen format
definition, all definition statements are replaced. Any definition statement that
is not specified in the new screen format definition uses the value that is
supplied with the NetView program. The values that are supplied with the
NetView program for each definition statement are listed in IBM Tivoli NetView
for z/OS Administration Reference.
For example, a screen format definition has been activated with the DEFAULTS
command. Subsequently, operators activate customized screen format
definitions using the OVERRIDE command. The statements that were not
specified in an operator's screen format definition use the value that is supplied
with the NetView program rather than the value from the screen format
definition that was activated with the DEFAULTS command.
28 Customization Guide
Note: HELD, ACTION and NORMAL statements set default colors for
messages. If message color has been previously set, the default message
color will not take effect. See “Message Color and Highlighting” on page
30 for more information.
The NORMQMAX statement specifies how many normal messages are
queued for later display (excluding held and action messages). An example
of this is the number of messages kept while you are working in another
panel, or while the panel is locked.
When the NORMQMAX is exceeded, the NetView program automates and
logs (if required) incoming messages and then discards them, without
interrupting the operator. The oldest messages are discarded until the
number of queued messages is half the NORMQMAX value.
When the operator returns to the command facility (or the panel is
unlocked), message DSI593A indicates how many messages were
discarded.
The value of NORMQMAX can range from 0 to 2147483647; the default is
3000. The minimum value allowed is 100 messages, so if you specify less
than 100, it is rounded to 100. Specifying a NORMQMAX value of 0 means
an infinite queue, and is basically the same as specifying the maximum
value of 2147483647.
Attention: Setting the value of NORMQMAX too high might cause out of
storage conditions. Conversely, setting the value too low can prevent your
operators from seeing all of their messages even when message traffic rates
are low.
The NORMQMAX value also applies to hardcopy printers and to
OST-NNT cross-domain sessions. Hardcopy printers can get backlogged
because they are slow or because they run out of paper. An OST-NNT
session can get backlogged because the message traffic over the session
exceeds the send rate for that session.
▌10▐ Area for held and action messages
Use the HOLDPCNT statement in the SCRNFMT definition. The NetView
program uses 10 lines of the screen for the title line, immediate message
area, command area, and a warning held-message: DSI151I. Held messages
are not displayed in these 10 lines. You can use HOLDPCNT to specify
what percentage of the remaining lines you want to use for held messages.
For example, on a 24-line screen, setting HOLDPCNT to 100% will give
you 14 lines for held messages.
Specifying HOLDPCNT as 0 means that held messages are not displayed
on the screen. If HOLDPCNT is non-zero, the minimum number of lines
used for held messages is two.
You can use HOLDWARN to get a warning message that held messages
exist, even though they are not displayed on the screen.
Note: The NetView program will not display the control line of a held
message without the data line of the message. This helps prevent operators
from accidentally erasing a held message without seeing the text.
▌11▐ Indentation
Use the INDENT and MLINDENT statements in the SCRNFMT definition.
Note: Background color is not supported on most 3270 devices and emulators. In
this case, black is used for the background color.
The color and highlighting attributes for messages can be set in several places:
v In the automation table
v For MVS system messages, in the MVS MPF table
v In installation exits
v In a screen format definition
Of all of the options listed, the screen format definition takes the lowest
precedence. The following rules of precedence apply:
v MPF table color intensity and highlighting for MVS system messages override
the screen format definition for these attributes.
v Automation table specifications of color intensity and highlighting override the
following:
– The MPF table specified color intensity and highlighting
– Screen format definition of color intensity and highlighting
– DSIEX02A and DSIEX17 specification of color intensity and highlighting
(these exits are driven prior to automation).
v Installation exit specifications of color intensity and highlighting override the
MPF and the screen format definition for these attributes. In addition,
installation exit DSIEX16 (post-automation) can override the color intensity and
highlighting specified in the automation table.
30 Customization Guide
Chapter 3. Using the VIEW Command
This chapter documents general-use programming interface and associated
guidance information.
The VIEW command processor can be used to display full-screen panels from
user-written programs. With the VIEW command, users can design their own
panels and control the color and highlighting of panel text.
When the value of a variable in a panel definition is longer than the remaining
space in a display line, the value will be truncated and not continue to the next
line of a display.
Note: The space available in a display line is governed by 3270 device (emulator)
characteristics and the text indicator in a panel definition.
If your display consists of a sequence of lines or messages, you might find it easier
to use the WINDOW command for your full-screen panel. Use WINDOW to alter
its display and to define or redirect subcommands. For more information, refer to
the online help for WINDOW.
The NetView program provides a number of command lists that use the VIEW
command to display full-screen panels. Displaying a new panel by invoking VIEW
from a command list requires that you either modify an existing command list or
write a new one. When you modify a command list that is supplied by IBM, first
copy it into a user data set and change its name.
32 Customization Guide
Note: You can also use HELP CMD=’command_text’. See the following
description for ▌3▐.
▌3▐ Option Definitions
An optional list of selections the operator can choose. This list can contain
panel names or commands. You can add an optional comment after the
panel name or command. At least one blank must separate the panel name
or command from the comment. The list cannot exceed 49 entries. The list
is coded in the following format:
Column
1 3
n panel_name or CMD='command_text' comment
Where n is the character the operator enters to call the panel or issue the
command.
To produce a continuation panel, n is blank, as follows:
Column
1 3
panel_name comment
In this case, panel_name identifies the continuation panel.
▌4▐ Text Indicator
Three required asterisks separate the prologue, help, and panel definitions
from the displayed panel text. These asterisks can be followed by the
following options, which can be in any order and must be separated by at
least one blank.
v The AT1 option is attribute set 1 for color and highlighting attributes.
See Table 7 on page 34 and Table 11 on page 39 for more information.
v The AT2 option is attribute set 2 for color and highlighting attributes.
See Table 7 on page 34 and Table 11 on page 39 for more information.
v The SFD (screen-format default) option means that when the color or
highlighting for a field on a VIEW panel is either specified or else
defaults to X'00' (the default for 3270), then the color or highlighting
specified for the NCCF screen by the DEFAULTS SCRNFMT command
or OVERRIDE SCRNFMT command is used. IF SFD is not specified, or
if no active SCRNFMT member is in effect, X'00' is sent to the device. If
the VIEW panel field is interpreted as the input command line, the color
and highlighting specified by the SCRNFMT CMDLINE is used; for any
other field, the SCRNFMT NORMAL specification is used. Sample
CNMSCNFT contains additional information.
v The XVAR option provides variables that can contain up to 31
characters, including periods.
Without this option, variables can contain only 11 characters and cannot
contain periods. See Table 7 on page 34 and “Compound Symbols” on
page 45 for more information on the XVAR option.
v The OPTROW=optchar option can be used to specify that any row (line)
that begins with the character defined by optchar is an optional row. The
maximum number of optional rows is defined as the number of rows
supported by the terminal, minus 24 (which can be zero). Optional rows
defined on the panel that go beyond this maximum are not displayed.
Also, rows (regular or optional) that go beyond the terminal's limit are
not displayed.
For an optional row, all the characters are shifted left one position to
compensate for the optchar, and the resulting last position (column 80) is
treated as a blank.
Chapter 3. Using the VIEW Command 33
See the WINDOW command list (CNME1505) and its View panel,
CNMKWIND, as an example of how to use OPTROW.
v The WIDE option enables the entire line width to be used on terminals
that support more than 80 columns. When WIDE is specified, panel
variables that are the last non-blank specifications on their respective
lines are substituted. The variables are not truncated until the end of the
line, which is defined by the terminal.
See the WINDOW command list (CNME1505) and its View panel,
CNMKWIND, as an example of how to use WIDE.
Table 7. Examples of Using Text Indicator Options
Coding Results
*** AT1 v Attribute set 1
v English
v 11-character variable names, no periods
When three asterisks are followed by the AT2 option, attribute set 2 is used for
color and highlighting. For example:
v *** AT2 for English
v For attribute set 1, use *** or *** AT1
For attribute set 1 and variables as long as 31 characters, use *** AT1 XVAR for
English.
34 Customization Guide
with the NOINPUT option specified, a command line is defined by the
tilde (~) attribute symbol. The &CUR option identifies the cursor position
within the command line. Only one input field and only one &CUR option
is processed per panel. This option is useful for predefining a command in
the input field. Otherwise, the cursor defaults in the following order:
1. The last attribute variable that specified 'UY'
2. The first tilde field, if one is present
3. The first position in the upper-left corner
VIEW
NOINPUT COMPAT
►► VIEW compname pnlname ►◄
INPUT EXTEND
Where:
compname
Specifies the name (1–8 characters) that is used with PF key definitions by the
NetView program. The first character must be alphabetic. A distinct name must
be used for each separately rollable application.
pnlname
Specifies the name (1–8 characters) of the panel to be displayed.
NOINPUT
Specifies that the VIEW command does not return any information to the
procedure that invoked it. NOINPUT is the default. If the panel defines a
command line, the NetView program treats input as a command. With the
NOINPUT option, there is no need for your command procedure to invoke the
UNIQUE command.
See Figure 5 on page 32 for the PF keys provided by the NetView program
when you specify NOINPUT.
INPUT
Specifies that input values and AID information can be returned to the
procedure calling the VIEW command. INPUT also specifies that cursor
location can be received from and returned to the procedure calling the VIEW
command. When you use the VIEW command with the INPUT option, use the
UNIQUE command to enforce uniqueness (only one occurrence of the
command on the roll stack). See “Using the UNIQUE Command” on page 48
for more information.
COMPAT
Specifies that the functionality for this invocation of VIEW is compatible with
the behavior of VIEW for releases of the NetView program prior to Version 5
Release 1. Refer to the documentation for the prior release in which the
program using VIEW had been written for details of the functionality. The
COMPAT option is the default.
Usage Notes®
v This table summarizes the difference between VIEW with the EXTEND option
and VIEW with the COMPAT option:
Table 8. Comparison of VIEW with the EXTEND option and VIEW with the COMPAT option
Behavior using Behavior using
Functionality VIEW=EXTEND VIEW=COMPAT
Search order for variables v Locally defined Value retrieved from
v Control variables local or global
v Task global dictionary according
v Common global to how the variable
was defined in the
CLIST invoking
VIEW.
View interrupted with RC=0 when message Yes No
is trapped?
Changed value for global variable stored in Yes, if specified on Yes, if specified on
appropriate global dictionary? GLOBALV before GLOBALV before
VIEW VIEW
Changed value for global variable stored in Yes No, although this is
local dictionary? irrelevant for
NetView CLIST
language.
Note: All subsequent descriptions of VIEW in this book assume the extended
functionality introduced in Tivoli NetView for z/OS Version 5 Release 1.
However, in order to use this functionality, you must specify the EXTEND
option on the VIEW command.
v By specifying NOINPUT, you can use a command procedure to display online
help panels. See Chapter 4, “Modifying and Creating Online Help Information,”
on page 65, for more information on how to code help panel hierarchies.
v You can use the VIEW command to display data from messages obtained
through TRAP processing immediately upon receipt of the message. Updates are
also possible from non-message sources on a timed basis. For more information,
see “Dynamic Update Capabilities” on page 59.
v The VIEW command is intended to be used only from a command procedure. If
you use the VIEW command in command lists to display a panel, minimum
36 Customization Guide
processing should be done between exiting the view and the end of the
procedure. Operator input might be inhibited between the time the view is
ended and the end of the procedure.
v If a VIEW NOINPUT command is invoked with the same compname as a
previous VIEW command, then the previous VIEW command is canceled as well
as the command procedure that invoked that VIEW command.
SHOWCODE
►► SHOWCODE rc panelid ►◄
Where:
rc Is the name of the variable that contains the return code for which you want to
display a description.
panelid
Specifies the name of the panel that the VIEW command attempted to display
before issuing the return code. This parameter is only required for return codes
4, 8, 12, 28, 81, and 83.
Before issuing SHOWCODE from a command procedure, check to make sure that
the return code is not zero. See “Example of a REXX Command List to Update a
Panel” on page 60 for an example that uses SHOWCODE to display error
messages from VIEW.
Note: Color and highlighting depend on the terminal you are using.
38 Customization Guide
Attribute Symbols
You can specify attribute symbols on the source panel to color or highlight text.
Edit the source panel and replace the blank space before the text with an attribute
symbol selected from the second column of Table 11 or Table 12.
Variables are parsed only at the first level. Nested VIEW variables are substituted
but not parsed. Therefore, color attribute symbols that are located in nested
variables are displayed as data.
To assign the color blue to the REXX variable A so that its contents, G, are
changed to blue, do the following:
A = ’+G’
Without the pair of single quotation marks, the NetView program interprets the
plus sign as a continuation character.
When they are not used in a variable, the less-than and the greater-than symbols
are displayed as characters.
Attribute Variables
Attribute variables are assigned in the command procedure that drives the view
panel. An alternative to defining attribute symbols on the panel or within the
variable data is to define attribute variables that are associated with panel
variables. Attribute variables describe attributes associated with panel variables
and their text following on the same line. Using an attribute variable provides a
wider range for attribute selection and allows you to define input fields. When you
use an attribute variable, the contents of the associated panel variable are not
scanned for attribute symbols.
40 Customization Guide
An attribute variable name is formed by concatenating a dollar sign onto the front
of the panel variable name. For example, in NetView command list language, the
attribute for panel variable &V1 is defined in a variable called &$V1.
In REXX, PL/I, and C, the ampersand (&) is not used. For a PL/I or C program,
attribute variables must be set using CNMVARS in PL/I or Cnmvars in C.
where tv is the type value pair. Multiple pairs of the same type in one attribute
variable are allowed. The last pair is accepted and the previous pairs are ignored.
Note: The alarm specification applies only to the attribute variable for
the immediate message line ($CNMIMDL).
C =
Color
CB Blue
CD The default device color when a color value is not specified
CG Green
CP Pink
CR Red
CT Turquoise
CW White or neutral
CY Yellow
F =
Field
FA Protected; data cannot be entered on displayed panel; FA is the default
FI Unprotected; data can be entered on displayed panel
H =
Highlight
HB Flashing
HD The default extended highlighting when a highlighting value is not
specified
HR Reverse video
Notes:
1. If you do not want the cursor to be associated with a particular
variable, you can place the cursor in any row and column. Use the
VIEWICROW and VIEWICCOL variables in the procedure that calls
VIEW with the INPUT option. See “Full-Screen Input Capabilities”
on page 50 for more information on the VIEWICROW and
VIEWICCOL variables.
2. If you use the VIEWICROW and VIEWICCOL variables and also
specify UY on an attribute variable, the cursor is positioned by the
attribute variable.
3. If you do not use the VIEWICCOL and VIEWICROW variables or
specify a cursor for any attribute variable on a panel, the cursor is
placed at the beginning of the first input field.
Use one or more blanks to separate the type value pairs. The following is a NetView
command list language example where &V1 is defined as a protected field with
high intensity in red. &V2 is defined as a protected field in high intensity, in
turquoise, with the cursor placed in the field.
&$V1 = ’FA IH CR’
&$V2 = ’IN IH CT UY IH’
Attributes defined by attribute variables or attribute symbols apply until one of the
following is encountered:
v The explicit placement of an attribute symbol later in the line
v A variable later in the line that has one of the following:
– A valid corresponding attribute variable that specifies new attributes
– No valid corresponding attribute variable, but contains one or more attribute
symbols
v The end of the line (or the end of the panel, if this is the last line).
42 Customization Guide
Constants or variables defined on a panel can become part of an input field and
are updated only when you type over some portion of the input field. When you
enter data in an input field, the entire contents of the input field are assigned to
the panel variable.
The first byte of a field defined by a panel variable (the &) is used for attribute
specification, and is followed by the contents of the variable. If an attribute
variable corresponds to a panel variable, it takes effect at this first byte even if the
panel variable is not found (and is replaced by blanks).
Note: If an attribute variable contains a syntax error and the NetView log is active,
message CNM944I is written to the log.
If a variable name specified on the panel is not defined to any of the previous
environments, it is displayed as a string of blanks. Note that variables that are
defined as control or global variables can also be assigned in the calling command
procedure. The value assigned to it is displayed on the panel instead of the control
or global variable value.
Note: If the XVAR option is not coded on the panel text indicator line, use only 1
to 11 alphanumeric characters (A–Z and 0–9) for the variable names in VIEW panel
definitions. If the XVAR option is coded, variable names can be up to 31 characters
long and contain periods. See “Compound Symbols” on page 45 for more
information. Alphabetical characters must be in uppercase. Variable names also
must conform to any other variable naming conventions set by the language
invoking VIEW if the variable is to be referenced by that language. For example,
variable names used in PL/I, C, and REXX must start with an alphabetical
character.
Although global variables can be found and displayed using VIEW, they can also
be referenced by the command procedure prior to running the VIEW command.
Reference: Refer to IBM Tivoli NetView for z/OS Programming: REXX and the
NetView Command List Language or IBM Tivoli NetView for z/OS Programming: PL/I
and C for more information about global variables.
For the VIEW command to find local or attribute variables when invoked from a
high-level language program, the variable must be set using CNMVARS in PL/I or
Cnmvars in C.
A REXX user can update the values of global variables using the VIEW command
as long as the following tasks are performed for the variable varname before
starting VIEW:
1. Define the field used by the global variable on the VIEW panel as an input
field using an attribute variable.
2. Issue a GLOBALV DEFT (or DEFC) varname command to define the global
variable.
3. Ensure that varname is defined (having a non-null value) in the common or task
global dictionary. Use GLOBALV PUTT (or PUTC) varname to store a value, if
necessary.
If all the steps just listed are followed, the global variable varname is updated.
Otherwise, the REXX local variable varname is displayed and updated. When VIEW
accesses a global variable this way, any REXX local variable with the same name is
also modified by VIEW. In order to access the new value for a global variable, the
REXX user must issue a command such as GLOBALV GETT (or GETC) to get a
local copy of the value.
The following REXX example shows how you can use VIEW to update a global
variable:
/* */
’GLOBALV GETT XYZ’
IF LENGTH(XYZ) = 0 THEN
DO
XYZ = ’ ’
’GLOBALV PUTT XYZ’
END
$XYZ = ’FI’
’VIEW NAME1 TESTPANL INPUT EXTEND’
SAY ’XYZ IS NOW’ XYZ
EXIT
If the length of the value that is assigned to the variable exceeds the length of the
variable in the source panel, the following rules apply:
v If the variable is followed by alphanumeric or special characters in the panel
definition, such as !, ¢, \, ¦, @, #, $, %, ¬, &, ", +, the value is truncated.
v If the variable is followed by characters that are not alphanumeric, and are not
among the special characters, such as !, ¢, \, ¦, @, #, $, %, ¬, &, ", +, the
characters are overwritten by those of the value.
44 Customization Guide
v If the length of the value exceeds the space remaining in the line with line
length that is determined by 3270 device (emulator) characteristics and the text
indicator in the panel definition, for example, WIDE, the displayed value is
truncated at the end of the line. The NetView program will not use multiple
lines to display a value.
If the value assigned to the variable contains double-byte text, all the double-byte
text must be within DBCS shift-out and shift-in characters. If the panel cannot
display all the double-byte text within a pair of DBCS shift-out and shift-in
characters, VIEW displays all the text that fits and displays a period (.) to indicate
a truncated character.
04945494D4545444A4A4D444A4945450
E39363530343835323F373537373438F
If the panel definition allows fewer than 32 characters for the value of &DBCSTEXT,
or if the operator scrolls the text so that fewer than 32 characters can be displayed
on the panel, VIEW displays all characters that will fit. If VIEW can only display
one-half of a double-byte character, it substitutes a period (.) for the displayable
part of the character in the same way that BROWSE handles leading and trailing
double-byte text truncation for netlogs. In this example, if the first two bytes were
truncated, VIEW would substitute a shift-out (X'0E') for the non-displayable last
half of the first double-byte character (X'4399'). If the first three bytes were
truncated, VIEW would substitute a period and a shift-out character (X'4B0E') for
the entire second double-byte character (X'4356').
If an operator tries to display a VIEW panel that does not have properly defined
double-byte shift-out and shift-in pairs, a data stream that is not valid will be sent
to the device, and unpredictable results, such as the operator being logged off, will
occur. Examples of DBCS definitions in which the double-byte shift-out and shift-in
characters are improperly matched:
v A greater number of shift-out or shift-in characters (not paired)
v One pair split between two or more variables
v One pair split between a variable and a panel definition
v One pair split across more than one line of a panel
Compound Symbols
A compound symbol contains at least one period and at least one other character.
It cannot start with a digit or a period. If there is only one period, the period
cannot be the last character.
The name begins with a STEM (part of the symbol up to and including the first
period), which is followed by PARTs of the name (delimited by periods) that are
constant symbols, simple symbols, or null. A constant symbol starts with a digit
(0–9) or a period. A simple symbol contains no periods and does not start with
digits (0–9).
Implementation Maximum
All HLL and REXX variables are restricted to 31 characters when the panel text
indicator has the XVAR option; otherwise, the limit is 11. NetView command list
language does not support compound variables or variable names longer than 11
characters. It is important to note the differences between the way REXX displays
the string and the way VIEW displays the string.
Usage Notes
1. VIEW does not support mixed case symbols defined in REXX. For example, a.c
in Figure 6 is displayed as 5 in VIEW, but REXX will display it as Bill.
2. VIEW displays blanks for the value of the compound variable if the final value
is undefined, null, or not valid.
In Figure 6 a.a, c.a, and x.d.4 are displayed as blanks in VIEW.
3. VIEW does not distinguish unknown compound variable PARTs from those
with null values. When a PART is null or unknown, its NAME is used in
building the compound variable name. In Figure 6, VIEW searches for &X.D.4,
not &X..4, and thus cannot find Annie.
4. Enter *** XVAR in the text indicator section of your panel definition in order to
use compound variables. See Text Indicator for more information.
46 Customization Guide
Note: The BGNSESS FLSCN command is an exception because it allows a calling
procedure to complete before the session begins by using the MINOR option of
DSIPUSH. Refer to IBM Tivoli NetView for z/OS Programming: Assembler for
information about DSIPUSH.
To disassociate an unrelated command from the calling procedure, use the CMD
command. To illustrate this, assume that the variable cmdline contains an operator's
command that was entered on your panel. You can queue the cmdline command
asynchronously by issuing one of the following in your REXX command
procedure:
’CMD HIGH ’ cmdline
’CMD LOW ’ cmdline
The HIGH or LOW parameter of the CMD command indicates the priority at
which the command should be queued.
Note: Issuing the CMD command with the HIGH parameter usually interrupts
other processing, allowing the queued command to run.
Queuing, rather than calling a command, protects your procedure from any reset
condition the queued command encounters.
If you specify the NOINPUT option, VIEW handles the operator command
interface for you. If you specify the INPUT option on your VIEW command, VIEW
returns the operator input to your procedure in the form of named variables, one
or more of which might be treated as a command.
The commands contained in these variables must be in uppercase for the NetView
program. PL/I and C command procedures should verify that these command
strings are in uppercase before issuing CNMCMD. The NetView command list
language provides the UPPER command for translating the contents of a variable
to uppercase. REXX command lists can use the UPPER instruction to ensure that
commands are in uppercase.
UPPER
►► UPPER ▼ variable ►◄
Where:
variable
Specifies the 1- to 11-character name of the variable to be translated to
uppercase. The comma in the repeat separator indicates that you can optionally
specify more than one variable name on an UPPER command.
Example:
UPPER CMDLINE
CMD HIGH &CMDLINE
Usage Notes
1. Do not specify the leading ampersand (&) in front of the variable name.
2. If you specify more than one variable, all variables are translated, even if one of
the variables has an error condition (not found or the length is not valid).
3. The UPPER command is provided in the NetView command list language only.
A similar function is available to REXX command lists with the REXX UPPER
instruction.
4. The UPPER command should not be concatenated with other commands in a
command string.
Return Codes: The return codes for this command are as follows:
0 Successful completion of all specified variables
4 At least one variable not found, or at least one variable is not valid
8 At least one variable length not within range
12 At least one variable not found and at least one other variable length not
within range
16 Not invoked from a command procedure
20 No variables specified
48 Customization Guide
UNIQUE
CANCEL
►► UNIQUE ►◄
CANCEL
PROMOTE
Where:
CANCEL
Specifies to reset (CANCEL) the roll group containing the matching element on
the roll stack as the currently running component. CANCEL is the default.
(The issuing component remains on the roll stack.)
PROMOTE
Specifies to position (PROMOTE) the roll group containing the matching
element on the roll stack as the currently running component.
Usage Notes
1. The UNIQUE command is valid only when issued from a command list.
2. The NetView program allows an operator to start many copies of the same
command processor. You might not want more than one copy, as when
creating a NetView component. By using DSIPOP or DSIPUSH with the
PROMOTE option, assembler programmers guarantee the uniqueness of
long-running commands. Using the UNIQUE command guarantees
uniqueness in a command procedure.
3. Issuing UNIQUE from your procedure has no effect (and gives a return code
of 0) if the current copy of the procedure is the only one active. An active
long-running command or procedure is one that is in any stage of its
processing but is not yet complete. Active procedures include procedures that
are suspended (blocked) by some other long-running command. If another
copy of the same procedure exists under the same task, the UNIQUE
command affects the entire roll group that includes that copy.
4. When you use UNIQUE with the CANCEL option (the default format), the
calling procedure is temporarily suspended while the older copy is given
control with a reset condition. The NetView program suppresses the
cancellation messages normally issued when a procedure is reset. When the
canceled copy of the procedure and any others in its group complete, the
issuing copy resumes with the next line after the UNIQUE command. The
return code is set to 4.
5. Using the UNIQUE command with the PROMOTE option moves the previous
copy of the calling procedure and its roll group to the top of the roll stack,
ready to resume when the copy issuing UNIQUE completes. The return code
is set to 4. The procedure invoking UNIQUE should exit to allow the
promoted procedure to regain control. An exit code -5 is used to let the caller
know that it can now regain control.
6. When you use UNIQUE in NetView command list language, code a
suppression character (&SUPPCHAR) to suppress unwanted command echoes
that occur when the command has an error. Code SIGNAL ON HALT in your
REXX procedures to suppress the REXX cancellation message. The HALT
subroutine should return a -5 return code. When you code SIGNAL ON
ERROR in your REXX procedures, a return code of 4 signals the error label.
Return Codes: The return codes for this command are as follows:
0 The calling procedure is unique.
4 A matching procedure was found. Action successful.
12 Environment is not valid (not called from a procedure).
16 Syntax error, argument is not valid.
You specify this information with the INPUT keyword and by coding an attribute
variable with the FI type value pair.
When you use the INPUT option, an input field is available only if you defined an
attribute variable specifying FI. (See “Attribute Variables” on page 40 for
information on the type value pair.)
When the panel is displayed, it contains the variable values that you can modify
by typing over them. The modified variables are returned to the invoking
procedure when you press the AID key. Note that if a variable's value is originally
truncated for a display, the modified truncated value would be used to set the
variable at this time. Table 14 on page 51 describes the AID key and the variables
that are set on return to the calling command procedure.
50 Customization Guide
Table 13. Variables Specified in the Calling Command Procedure
NetView Command
REXX, PL/I, and C List Language Description
VIEWICCOL &VIEWICCOL The cursor location (column) set by the
command procedure that calls VIEW. Use
this variable with VIEWICROW to position
the cursor any place on the panel. An
acceptable value is a positive or negative
integer less than or equal to the number of
columns on the panel. A positive integer
positions the cursor relative to the left side;
a negative integer, relative to the right side.
If you specify an integer greater than the
number of columns on the panel, the cursor
is placed at the beginning of the first input
field. See Figure 7.
VIEWICROW &VIEWICROW The cursor location (row) set by the
command procedure that calls VIEW. Use
this variable with VIEWICCOL to position
the cursor any place on the panel. An
acceptable value is a positive or negative
integer less than or equal to the number of
rows on the panel. A positive integer
positions the cursor relative to the top; a
negative integer, relative to the bottom. If
you specify an integer greater than the
number of rows on the panel, the cursor is
placed at the beginning of the first input
field. See Figure 7.
The cursor is placed in the second column from the left, second row from the top.
VIEWICCOL = -2
VIEWICROW = -2
The cursor is placed in the second column from the right, second row from the bottom.
VIEWICCOL = 82
VIEWICROW = 22
The cursor is placed at the beginning of the first input field because one of the variables
specifies a value that is greater than the panel size.
The contents of the VIEWAID variable are defined as PF1 through PF24, PA1, PA2,
PA3, or the ENTER key.
If you press PA1, PA2, or PA3, only the AID (VIEWAID) information is returned to
the invoking procedure. The cursor row, column locations, and any input fields
defined on a panel are not returned.
Note: If you press the ATTN key on an SNA terminal, VIEW with
INPUT/NOINPUT ends.
52 Customization Guide
/**********************************************************************/
/* FIRST PANEL DISPLAYED */
/**********************************************************************/
*** AT2
+PANEL1
$ X====================================================================X
$ | |
$ | |
$ |% PPPPPPP AAAAAAA NN NN EEEEEEEE LL 111 $ |
$ |% PP PP AA AA NNN NN EE LL 11 11 $ |
$ |% PPPPPPPP AAAAAAAAA NN NN NN EEEEEEEE LL 11 $ |
$ |% PP AA AA NN NNN EE LL 11 $ |
$ |% PP AA AA NN NN EEEEEEEE LLLLLLLL 11111111$ |
$ |--------------------------------------------------------------------|
$ | INPUT VARIABLE 1 = &VARIN1 $|
$ | INPUT VARIABLE 2 = &VARIN2 $|
$ | |
$ | You entered: &VAROUT1 |
$ | You also entered: &VAROUT2 |
$ X====================================================================X
$
$Enter a command on the command line OR...
$Enter NEXT or press PF8 to view the next panel.
$
%Action==> &COMMAND %
$ PF2= End
$ PF6/PF18= Roll PF8=Next
Figure 8. Source for First Panel with Input-Capable Variables and Command Line.
Source for First Panel with Input-Capable Variables and Command Line
/**********************************************************************/
/* SECOND PANEL DISPLAYED */
/**********************************************************************/
*** AT2
+PANEL2
$ X====================================================================X
$ | |
$ | |
$ |% PPPPPPP AAAAAAA NN NN EEEEEEEE LL 22222222 $ |
$ |% PP PP AA AA NNN NN EE LL 22 $ |
$ |% PPPPPPPP AAAAAAAAA NN NN NN EEEEEEEE LL 22222222 $ |
$ |% PP AA AA NN NNN EE LL 22 $ |
$ |% PP AA AA NN NN EEEEEEEE LLLLLLLL 22222222 $ |
$ | |
$ |--------------------------------------------------------------------|
$ | |
$ | |
$ | |
$ | |
$ | |
$ X====================================================================X
$
$Enter a command on the command line OR...
$Enter BACK or press PF7 to view the previous panel.
$
%Action==> &COMMAND %
$ PF2= End
$ PF6/PF18= Roll PF7= Previous
54 Customization Guide
When viewaid = ’PF7’ then return /* Previous panel PF7*/
When viewaid = ’PF6’ then ’CMD HIGH ROLL ’ /* Roll if PF6 */
When viewaid = ’ENTER’ then
SELECT
When COMMAND = ’BACK’ then return
/*******************************************************************/
/* Assume any other input given on command line is */
/* to be issued to NCCF */
/*******************************************************************/
when COMMAND ¬= ’ ’ then
DO
’CMD HIGH’ COMMAND
END
otherwise nop
END
OTHERWISE nop
End /* select */
End /* Do forever */
RETURN
ERROR:
EXIT -1 /* -1 means "FATAL ERROR IN NESTED PROCEDURE" */
HALT:
EXIT -5 /* -5 means "CANCEL REQUESTED" */
Figure 10 on page 56 is an example of the first panel created from this command
list. See Figure 8 on page 53 for the source for this panel. The variables VARIN1
and VARIN2 are replaced with the actual values INITIALIZE 1 and INITIALIZE 2,
respectively. The attribute specification is defined by $VARIN1 and $VARIN2 (see
“Attribute Variables” on page 40 for more information).
The following attributes are for VARIN1 where the length of the input field
continues until the next attribute symbol is encountered. In this case, the attribute
symbol is %.
The following attributes are for VARIN2 where the length of the input field
continues until the end of the line.
Action==> _
PF2= End
PF6/PF18= Roll PF8=Next
Figure 10. Display Panel of Component with Variables Replaced by REXX Command List.
Figure 11 shows a second display panel from the command list. See Figure 9 on
page 53 for the source for this panel.
PANEL2
X====================================================================X
| |
| |
| PPPPPPP AAAAAAA NN NN EEEEEEEE LL 22222222 |
| PP PP AA AA NNN NN EE LL 22 |
| PPPPPPPP AAAAAAAAA NN NN NN EEEEEEEE LL 22222222 |
| PP AA AA NN NNN EE LL 22 |
| PP AA AA NN NN EEEEEEEE LLLLLLLL 22222222 |
| |
|--------------------------------------------------------------------|
| |
| |
| |
| |
| |
X====================================================================X
Action==> _
PF2= End
PF6/PF18= Roll PF7= Previous
56 Customization Guide
The tilde definition defines an input field that is returned to the NetView program
as a command. An &CUR coded after the tilde on the same line determines where
the cursor is positioned.
If more than one is defined on the panel, the last &CUR is processed and previous
ones are ignored. If more than one tilde (~) is defined on the panel, the first tilde is
processed and any subsequent ones are changed to a percent (%) sign.
If you specify INPUT for the NetView program, code the command line as you
would code any other input-capable field. Do not use the &CUR and tilde
definitions. The procedure that displays the panel issues the commands. See
“Issuing Commands from Command Procedures” on page 46 for information on
issuing CMD HIGH.
Reference: Refer to the PFKDEF command in the IBM Tivoli NetView for z/OS
Administration Reference for more information.
For example, you might call VIEW with an error message in CNMIMDL and a
default message in CNMDIMD, with $CNMIMDL set to CR and $CNMDIMD set
to CG. The error message will be displayed in red, but if the user presses a
RETRIEVE key or delay-type key, for example, the red message is replaced by the
default message, in green.
The REXX command WINDOW is a good example of coding VIEW panels to set
PF keys. Enter BROWSE WINDOW to see the REXX source for this command.
Notes:
1. VIEW-input applications that do steps 1 and 2 always have their VIEWAID
variable set to ENTER after invoking VIEW, because other keys are converted
as if the user typed the command text and pressed ENTER.
58 Customization Guide
2. The &CNMIMDL variable is nulled out when control is returned to the
command list from VIEW, if VIEW detected that the immediate message area
was overwritten by the NetView program after the VIEW panel was output (for
example, by an immediate command entered by the operator).
3. The special variables CNMIMDL and CNMDIMD are supported in
VIEW-noinput as well as VIEW-input. CNMCMDL only has special meaning in
VIEW-input.
While a panel is displayed, automation from timers, messages, or alerts can drive
command procedures that update some of the variables substituted into the
displayed panel. Any processing under the OST where the panel is displayed
causes a dynamic update of the panel with new values for any variables that have
changed.
To make information on the panel easier to see, and make it easier to enter
information on the panel while a panel is dynamically updated, assign values to
attribute variables for all variables on the panel that can be changed dynamically.
This enables VIEW to send only the updated information to the screen without
rewriting the entire screen for each update.
When VIEW detects certain changes to common, task, and local variables or their
associated attribute variables, VIEW must rewrite the entire panel.
If the entire screen is redisplayed, changes typed by the operator on the screen
being redisplayed are lost. Following is a list of these changes:
v The attribute variable for a given data variable has changed to indicate that a
field has been changed from protected to unprotected or vice versa.
v An attribute variable for a given data variable now has a valid value. It either
did not exist or it had a value that is not valid.
return
/* ----------- Obtain data for RESDYN display (option 12) ----------- */
/* Notice that the stem variable "out." is in our local variable */
/* dictionary. VIEW could always read these value; */
/* we will have an opportunity to update them while VIEW is active. */
/* --------------------------------------------------------------- */
fillVars:
ARG xtraStg /* use extra first time only */
’PIPE (NAME RESDYN END %)’,
’| NETVIEW RESOURCE’,
60 Customization Guide
’| SEPARATE DATA’, /* No use for DSI386I title line */
’| STC: FANOUT’, /* MAYBE need extra copies */
’| EDIT SKIPTO /=/ 2.* STRIPL 1 ’,
’| COLOR WHITE’,
’| $STEM OUT.’,
xtraStg
TM = date() time()
$TM = ’CB HR’
return
Figure 13 is the source panel text that displays the previous panel (Figure 12).
VIEW manages the PF keys and the command line without the intervention of the
RESDYN command list.
62 Customization Guide
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
(&BDATALINE
%CMD==>~&BCOMMAND $
&CNMIMDL
The first type of help is view-based help, which is displayed by using the VIEW
command. The second type is window-based help, which is displayed by using the
WINDOW command.
This chapter explains how you can add, delete, or modify help information and is
arranged in the sequence you use to accomplish this. The sequence follows:
1. Locate the help source file.
2. Copy and change the source file.
3. Store the copy.
4. Display the help to test your changes.
Notes:
1. Japanese help source files are stored in the NETVIEW.V6R2M1.SCNMPNL2
data set.
2. Copies of the command and message help are stored on the web server. If you
customize the command and message help in NetView data set members, you
may want to make the same changes to the web server files.
Verify that your organization has not changed the library name.
Before you create a new help source, try to locate an existing online help that is
similar to the one you want to create. Generally, when you have a help source file
displayed, the file name is in the upper left corner.
For command help information, you can locate the source file you want to change
by browsing the HELPMAP. Window-based help files are prefixed with the <
character. See “HELPMAP Facility” on page 70 for more information on the
HELPMAP. Help information for groups of messages is stored as members of the
PDS, one member for each group. The member name is determined by truncating
the message ID prior to the last numeric digit. For example, help for messages
DSI001I and DSI002I is stored in member DSI00. Help for message EKGV68001I is
stored in member EKGV6800.
If a message or command help panel is currently being displayed, you can use the
SHOWDATA command to locate the source file. Figure 14 on page 66 displays the
information returned after entering SHOWDATA on the command line.
Figure 14. Example of Using the SHOWDATA Command to Locate Help Source Files
View-Based Help
The source file contents include the text of the displayed panel and the definition
statements associated with the panel. A definition statement includes:
v A prologue
v The help panel name
v The continuation panel name
v A list of associated help panels
Where panelid is the name that is displayed in the upper-left corner of the source
for the help. For additional information, see “Creating Full-Screen Panels” on page
31.
Window-Based Help
Figure 15 on page 67 is an example of the source format of the Window-based help
information. Descriptions of each numbered field follow the figure.
66 Customization Guide
*** EUYRET 5697-B82 (C) Copyright IBM Corp. 2011 ▌1▐
* All Rights Reserved.
* CHANGE ACTIVITY:
*
============== REPEAT RFIND ▌2▐
REPEAT (BROWSE) ▌3▐
>>--REPEAT--><
:H2. IBM-Defined Synonyms
+-----------------------------------+----------------------------------+
| Command or Operand | Synonym |
+-----------------------------------+----------------------------------+
| REPEAT | R or RFIND |
+-----------------------------------+----------------------------------+
The REPEAT command reissues the last FIND command while you are browsing
the network log or a member of a partitioned data set. Since this
command is sensitive to the current position of the cursor, it is
normally entered using a PF key.
By repeatedly pressing the PF key set to REPEAT, you can find successive
occurrences of a specified character string. After the first occurrence
of a character string has been found, the REPEAT key will find the next
occurrence. After the last occurrence of a character string has been
found, the REPEAT key can be used to continue the search, wrapping
around from the bottom line to the top line (or from the top line to the
bottom line if the FIND command included the PREV parameter.)
============== RETURN RET
▌2▐
RETURN (BROWSE, HELP, HELPDESK, NCCF, NLDM, NPDA, STATMON, VIEW)
:H2. Syntax
>>--RETURN--><
:H2. IBM-Defined Synonyms
+-----------------------------------+----------------------------------+
| Command or Operand | Synonym |
+-----------------------------------+----------------------------------+
| RETURN | RET (for BROWSE, HELP, HELPDESK, |
| | STATMON, and VIEW) |
| | |
| | R (for NLDM and NPDA) |
+-----------------------------------+----------------------------------+
The RETURN command returns you to the previous component or the last
selection panel that you used.
Figure 15. Example of Source for Message and Command Help Information.
▌1▐ Prologue
An optional section for programmer comments.
▌2▐ Message or Command
The message or command to which the text applies. If the help information
68 Customization Guide
.
.
.
============== COLLECT
COLLECT (NLDM,PIPE)
:IF DTYPE=PANEL
Select To Get Information About
:LINK.(A)HELP NLDM COLLECT
A NLDM COLLECT Use Session Monitor to collect response time data
:LINK.(B)HELP PIPE COLLECT
B PIPE COLLECT A Pipe stage which collects messages in a pipe
:LINK.(C)HELP PIPE STEM
C If you use the COLLECT command following a STEM command, see the
:LINK.(C)HELP PIPE STEM
description of the COLLECT operand of the STEM command. Enter C.
:ENDIF
:IF DTYPE=MSGS
Enter HELP NLDM COLLECT for help on the Session Monitor COLLECT command
Enter HELP PIPE COLLECT for help on the COLLECT pipe stage
:ENDIF
.
.
.
If you find a comparable panel, copy it using a screen editor. Change the panel by
typing over the existing text or by adding text. If you cannot find a similar online
help file, use a screen editor to build a new one.
If you want to modify or create a help source file while the NetView program is
running, define your panel data set without secondary extents. Otherwise, a panel
can be filed in a new extent, requiring that you close and restart the NetView
program to use the panel.
The conventions for structuring a new panel are the same as those for modifying
an existing panel. All help source files must have a fixed-length blocked record
format and a logical record length of 80 bytes (RECFM=FB, LRECL=80), unless you
are using a fully qualified data set name listed in the HELPMAP. See “HELPMAP
Facility” on page 70 for more information. Null characters are also counted within
this 80-byte record. In addition, you might need to change a command list or
another panel that is affected by your new panel.
You can customize the HELPDESK to include topics specific to your installation.
The NetView program provides a template file, CNMHDSKU, that can be edited to
create these topics.
1. Add the new topics to CNMHDSKU.
2. Add the new topic identifiers to the table of contents in file CNMHDSK0.
Store all help source files that you create or modify. Two methods for storing help
files follow:
v Concatenate the user partitioned data set that contains the modified help file to
the CNMPNL1 DD statement in the NetView startup procedure before the data
set NETVIEW.V6R2M1.CNMPNL1. If the Support Center modifies the panel,
those changes will not be added to your help file.
v Include your modified help file into a System Modification Program (SMP)
USERMOD and apply the USERMOD so that SMP stores the modified panel in
NETVIEW.V6R2M1.CNMPNL1. SMP automatically notifies you of any future
changes that the Support Center makes to the panel you modified. For more
information on how to use an SMP USERMOD, refer to the System Modification
Program library.
Note:
1. The default data set for the Japanese version of the product is
NETVIEW.V6R2M1.SCNMPNL2.
2. English help source files are stored in the NETVIEW.V6R2M1.CNMPNL1 data
set. Verify that your organization has not changed the library name.
HELPMAP Facility
The HELP command scans the HELPMAP for the required command help member
name using the arguments as search targets. HELP uses the arguments in the
following manner:
v With no arguments
When you enter HELP without supplying any arguments, you get
component-level HELP for the component you are in.
If the target arguments are not found in the table, HELP searches for a pair of
parentheses () and uses the associated panel name.
v With one argument
When one argument is supplied, HELP attempts to resolve the argument as a
command synonym, if possible.
v With two or three arguments
When two or three arguments are supplied, the search target is constructed by
concatenating the arguments with commas. For example:
ONE,TWO,THREE
70 Customization Guide
HELPMAPU is a specific HELPMAP for user-defined help files created for
commands. A %INCLUDE statement contained in HELPMAP embeds HELPMAPU
that provides the mapping for those help files created by the user.
Note: Do not map user-defined help files to HELPMAP. These changes interfere
when IBM applies maintenance to HELPMAP.
A portion of CNMHELPF is shown in Figure 17 to show how the help names are
listed. Those that are prefixed with the < character are window-based help files;
others are view-based help files.
***********************************************************************
* 5697-B82 (C) COPYRIGHT IBM CORPORATION 2014 *
* ALL RIGHTS RESERVED. *
* NAME(CNMHELPF) SAMPLE(CNMHELPF) RELATED-TO(HELPMAP) *
* DESCRIPTION: NETVIEW HELP MAPPINGS FOR *
* FULL BASE FUNCTION. *
* *
***********************************************************************
CNMKNEEW ()
<EUYACQ ACQ
<EUYACT ACT
<EUYACION ACTION NPDA,ACTION
.
.
.
<EUYMENU MENU NLDM,MENU NPDA,MENU
<EUYMEAGE MESSAGE
<EUYMONIT MONIT STATMON,MONIT
<EUYMOOFF MONOFF STATMON,MONOFF
<EUYMONON MONON STATMON,MONON
<EUYMRENT MRECENT MR NPDA,MRECENT NPDA,MR
<EUYMSG MSG
<EUYSLIST MVS
<EUYMVS NCCF,MVS COMMAND,MVS
<EUYSTART MVS,START
CNMKNCCF NCCF DSINCCF
.
.
.
You can add fully qualified data set names within single quotes to the HELPMAP.
See the following example as a guide:
< ’USER.CNMPNL1(MYCMDHLP)’ MYCOMAND
Note: Any modifications you make to existing DSIPARM CNMBxxx members may
be replaced by maintenance or another release of the NetView product. You can
update the comments at the beginning of the DSIPARM CNMBxxx members to
document your changes, and store any members you create or modify in a data set
concatenated before the DSIPARM data set that is supplied with the NetView
program. This helps keep your modifications from being overlaid by subsequent
maintenance or product changes.
Examples
Following are some examples of adding and modifying sense code description
members in DSIPARM:
v To add additional help for sense code 08B2 or 08B20000, change the help that is
supplied with the NetView program in the following way:
74 Customization Guide
$$$KEY 08B2????
Data transmission failure: the data transmission between
an application program in an SNA MS entry point and an
application program in a subentry point was incomplete,
causing abnormal termination of the function. Bytes 2
and 3 following the sense code contain sense code
specific information.
The SNA MS entry points currently defined are SYSTEM1
and SYSTEM2.
Note the two lines of help information added for this installation-specific sense
code.
v To add help for a new sense code 08B3 or 08B30000, add the following
information immediately after the information that is supplied with the NetView
program for sense code 08B2. For example:
$$$KEY 08B3????
This sense code is generated by application XYZ when a
failure occurs between components of the application.
Note the two lines of help information added for this installation-specific sense
code.
v To add help for a new sense code 08B60002, add the following information
immediately after the information that is supplied with the NetView program
for sense code 08B60001. For example:
$0002
During link activation on a switched link, it
was discovered that the partner node does not
permit sessions with this partner.
Note the three lines of help information added for this installation-specific sense
code.
v To add help for a new sense code 08C1xxxx, create a new member in DSIPARM
named CNMB08C, and include the following statements:
$$$KEY 08C1????
This sense code is generated by application ABC when a
failure occurs in a component of the application.
The third and fourth bytes of the sense code identify
the failing component ID.
Note the four lines of help information added for this installation-specific sense
code.
Note: Color maps for hardware monitor help panels and command description
panels are available only in prior releases of the NetView program.
If your panels or alert messages have been translated into a language that requires
double-byte characters, take care to preserve the integrity of the double-byte
character set (DBCS) strings.
You can make changes to the panel text, and these changes are reflected in all its
aliases. You can also make changes to a panel alias, resulting in the creation of a
new panel under the former alias name.
78 Customization Guide
DC CL3’023’
DC CL3’03E’
DC CL3’036’
DC CL3’037’
DC CL3’038’
DC CL3’04A’
DC CL3’04B’
DC CL3’04C’
DC CL3’04D’
DC CL3’04E’
DC CL3’04F’
DC CL3’043’
DC CL3’044’
DC CL3’047’
DC CL3’048’
DC CL3’049’
DC CL3’057’
DC CL3’47C’
TABEND EQU *
LENG EQU 3 ENTRY BYTE LENGTH
END BNJBLKID
The changes apply to all event conditions that use the panel or any of its aliases.
A new actual panel is created under the name that was formerly the alias.
Reference: For more information about z/OS utilities and JCL, refer to the z/OS
library.
Reference: For more information on z/OS utilities and JCL, refer to the z/OS
library.
80 Customization Guide
v Enter a new panel using an editor, such as ISPF/PDF, and copy an existing
panel that is similar to the desired panel. Then, change the copied panel.
v Add the new panel name or an alias, using the utility IEBUPDTE.
In this sample, panel_dsname is the name of the data set where the panel is stored,
and vsnum is the volume serial number on which the data set resides. Although
the sample defines only one new alias, up to 15 aliases are valid.
Reference: For more information on z/OS utilities and JCL, refer to the z/OS
library.
Reference: For the syntax of DSIMDS, refer to IBM Tivoli NetView for z/OS
Programming: Assembler for the text you want to change.
8. Save the changed CSECT.
9. Reassemble the CSECT, and link edit the CSECT into the load module of the
same name.
82 Customization Guide
N E T V I E W SESSION DOMAIN: CNM01 OPER1 05/17/10 14:40:53
NPDA-45A * RECOMMENDED ACTION FOR SELECTED EVENT * PAGE 1 OF 2
CNM01 CENTRAL LN08PTP PU32768
+--------+ +--------+
DOMAIN | COMC |----LINE----| CTRL |
+--------+ +--------+
???
CMD==>
I-number and E-number actions do not have associated panels that are supplied
with the NetView program. However, the NetView program allows users to
overlay I-numbers and E-numbers with action numbers, to create panels that are
specific to the sending product.
You can do this by modifying either table BNJDNUMB, which correlates a Product
Set ID with action numbers, or table BNJDNAME, which correlates a Product
Common Name with action numbers. BNJDNUMB is searched before BNJDNAME.
BNJDNUMB
BNJDNUMB correlates a product-set identification (PSID) with a unique file or
PDS member (BNJwwwww) that contains the action numbers to use for this
product. To modify BNJDNUMB, use an editor such as ISPF/PDF.
Note: If the NetView program receives a generic alert whose PSID does not exist
in BNJDNUMB and whose product common name does not exist in BNJDNAME,
the default I-number or E-number is not modified.
Where:
Determining the PSID: Because the sending product can be either a hardware
product or a software product, the PSID is defined as follows:
v For hardware products, the PSID is defined with the four numeric characters
identifying the machine type found in the X'00' subfield, Hardware Product
Identifier (located in the first X'11' subvector of the first X'10' subvector in the
generic alert).
v For software products, the PSID is defined with the nine uppercase
alphanumeric characters of the serviceable component identifier in the X'02'
subfield, software product serviceable component identifier (located in the first
X'11' subvector of the first X'10' subvector in the generic alert).
Note: If the X'02' subvector does not exist, use the seven uppercase
alphanumeric characters of the licensed program number in the X'08' subvector,
software product program number (located in the first X'11' subvector of the first
X'10' subvector in the generic alert).
Two methods are available to determine the PSID of a generic alert that is logged
to the hardware monitor database:
v Select sel# C from Alerts-Static, Alerts-History, or Most Recent Events panels to
display a message containing the PSID.
v Make a selection from the Event Detail menu to display page 1 of the PSID
panel. This panel displays the sending PSID.
BNJDNAME
BNJDNAME correlates a product common name with a unique file or PDS
(BNJwwwww) that contains the action numbers to use for this product. To modify
BNJDNAME, use an editor such as ISPF/PDF.
Where:
xxx Specifies the number of entries in BNJDNAME. This number must begin in
column 1 and must be three characters long with leading zeros, if
necessary.
84 Customization Guide
yyy...y Specifies up to 30 characters representing the software product common
name or up to 15 characters specifying the hardware common name.
BNJwwwww
Is the name of the PDS member beginning in column 32, that contains
generic alert recommended action code points and associated action
numbers. Names such as BNJDNUM2, BNJDNUM3, and so forth, are
recommended. However, you can use any unique name. The name
BNJDNUM1 is already used for generic alerts produced by the hardware
monitor.
comment
Comments must start in column 45.
The NetView program provides the following data in this PDS member:
Determining the Product Common Name: Because the sending product can be
either hardware or software, the product common name is defined as follows:
v For hardware products, the hardware common name is defined by the EBCDIC
characters found in the X'0E' subfield, Hardware Product Common Name
(located in the first X'11' subvector of the first X'10' subvector in the generic
alert).
v For software products, the software common name is defined by the EBCDIC
characters found in the X'06' subfield, Software Product Common Name (located
in the first X'11' subvector of the first X'10' subvector in the generic alert).
To determine the product common name of a generic alert that is logged to the
hardware monitor database, make selection 2 from the Event Detail menu. This
selection will display the common name (hardware or software) of the sending
product.
BNJwwwww
Each BNJwwwww member contains generic alert recommended action code points
and associated action numbers. To create the BNJwwwww files or members
specified in table BNJDNUMB, use an editor such as ISPF/PDF. Each BNJwwwww
PDS member should be stored in the first data set in the concatenation string for
the DD statement BNJPNL2. This DD statement is in the NetView startup
procedure.
Avoid defining your panel data set with secondary extents when modifying or
creating a panel while the NetView program is running. If a secondary extent is
defined while the NetView program is running, a secondary extent failure can
occur causing error recovery and loss of a single instance of a request. If a second
attempt is made to execute the request, error recovery might succeed in the
execution of the request. However, recycling the NetView program would be
required for a full data set.
You can place blanks in the alert ID field, along with specific alert IDs, for a
particular action code point.
1002 D562
1002 93987791 D890
1002 D2556B79 D777
For alert D2556B79, the code point 1002 uses D777 as its action number. For alert
93987791, code point 1002 uses D890 as its action number. For all other alerts from
this sending product, code point 1002 uses D562 as its action number.
Note: Changing the length of any attribute, row placement, or column placement
yields unpredictable results.
For any string of display text that is preceded by a blank, you can modify up to
four attributes as follows:
Color Text is red, yellow, blue, white, green, turquoise, or pink.
Highlighting
Text is underscored, blinking, or in reverse video.
Intensity
Text is more intense (monochrome terminals only).
Alarm Text causes an audible alarm at the user's terminal.
86 Customization Guide
You can change these attributes for specific displays or for all displays. For
example, you can select a single color for prompt lines on all displays.
The procedure for modifying these attributes begins with a color map. A color map
is a table that embeds characters, representing the various attributes, in a color
buffer. These characters in the color buffer control the appearance of the text.
The automation table can also be used to set or change the color and highlighting
of specific alerts for hardware monitor display.
Reference: For more information, refer to theIBM Tivoli NetView for z/OS
Automation Guide.
After you identify the color map you need, edit the map using an editor such as
ISPF/PDF. The color maps are contained in the PDS named
NETVIEW.V6R2M1.BNJPNL2 (unless the name is changed during installation). The
member name is the color map name.
Note: If you want a particular attribute to apply to the same portion of each panel,
modify the color map BNJOVERW, which overwrites all other panel-specific color
maps. Be sure to test the results of BNJOVERW on each panel before putting it into
your production system. This map can produce unexpected results.
Each map element specifies, for a particular display row, the attribute, the
attribute's placement in the row, and the length in characters. Each item in the map
is followed by a comma, except for the last one, which is followed by a period.
Note: Changing any attribute's length, row placement, or column placement can
yield unpredictable results.
▌1▐ The first item in the color map represents the number of subsequent lines of
data, or map elements. A map can have any number of map elements. The sample
map has 13 map elements.
▌2▐, ▌3▐, and ▌4▐ describe the three types of map elements as follows:
▌2▐ This type of map element contains attribute information in the following
format:
v The first item is the number of attributes in the map element. This can be a
value from 1 to 4.. A map element might have only one set of attributes, for
example, pink color, or any combination of attributes, such as pink color and
underscoring. The sample map element has one attribute, the color blue (BLU).
v The second item is the number of the display row that reflects the attribute. In
the sample, the attribute is to appear in row 1.
v The third item is the number of the display column that contains the attribute
character. In the sample, the attribute character is to be placed in column 1.
Consequently, the displayed text will begin in column 2.
Note: Be sure that the display text you want to modify is preceded by a blank
space. Otherwise, the character representing the attribute in the color buffer
overwrites some of the display text, and some characters are replaced with
blanks. For example, in the following string you cannot make the colon a
different color from the text:
EVENT DESCRIPTION:PROBABLE CAUSE
v The fourth item is the maximum character length of the attribute. In the sample,
the specified attribute covers 79 characters on the display, or columns 2–80.
v The last item is the attribute or sequence of several attributes. In the sample, the
color blue is the specified attribute. You can specify up to four attributes, but
only one from each category. If you want multiple attributes to apply to the
same character or string, you must specify the attributes for each category in this
order:
1. Alarm: ALM produces an audible alarm.
2. Intensity:
– HIG intensifies the color.
– NOH returns the color to normal intensity.
3. Highlighting:
– UND underlines the character or string.
– BLI causes the character or string to blink.
4. Color:
– RED produces red.
– YEL produces yellow.
– BLU produces blue.
– WHI produces white.
– GRE produces green.
– TUR produces turquoise.
– PIN produces pink.
88 Customization Guide
This map element makes the text in row 1, columns 2–80, blue. As the map
element's corresponding comment confirms, this blue string of text is the display
header.
▌3▐ This type of map element uses the repetition factor option to copy the attribute
or attributes specified for a particular row onto subsequent rows. A repetition map
element uses the following format:
v The number 99 signals the repetition of an element.
v In SIZE-x-y:
– SIZE represents the total number of rows in the panel. Use the word SIZE as
shown; do not replace it with a number.
– x is the number of unused or blank lines between the end of the panel data
and the prompt line. In the sample, no blank or unused lines occur between
the end of the panel data and the prompt line.
– y is the number of the starting row that is to copy, or repeat, the attribute or
attributes from the preceding row. In the sample, attributes from row 6 are to
be repeated on the subsequent rows, starting with row 7.
v The last item (2) is the number of attributes on row 6 that are repeated. In the
sample, the two attributes specified in the map for row 6 are to be repeated.
This map element copies the two attributes specified for row 6 onto subsequent
rows starting at row 7, and continues to the prompt line.
▌4▐ This type of map element uses the variable row placement option to specify
the row that contains the attribute. This option uses the following format:
v The first item (1) is the number of attributes in the map element. This number
can be 1–4. In the sample, the map element has one attribute, the color blue
(BLU).
v The second item (SIZE-x) indicates the display row that reflects the attribute,
where:
– SIZE represents the total number of rows in the display. Use the word SIZE as
shown; do not replace it with a number.
– x is the number of lines preceding the command line. For example, for the
Alerts-Static display:
- SIZE-4 is the first prompt line.
- SIZE-3 is the second prompt line.
- SIZE-2 is the message line.
- SIZE-1 is the NetView status line.
- SIZE-0 is the command line.
In the sample, the attribute is to appear on the first prompt line.
Note: Be sure that the command line is defined on byte 80 of the NetView
status line. Otherwise, some bytes can be overwritten.
v The third item (1) is the number of the display column that contains the
attribute character. In the sample, the attribute character is placed in column 1.
Consequently, the displayed text begins in column 2.
Note: Be sure that the display text you want to modify is preceded by a blank
space. Otherwise, the character representing the attribute in the color buffer
overwrites some of the display text, and some characters are replaced with
blanks.
This sample map element makes the text in the first prompt line, columns 2–51,
blue.
The table is read into storage at initialization. You can redefine the prompt
highlight tokens or add new ones, up to a maximum of 25. You receive a message
if the table is not successfully read at initialization.
90 Customization Guide
Using NMVT Support for User-Written Programming
Network management vector transport (NMVT) support enables user-written
programs to report errors to the hardware monitor through generic alerts. Prior to
generic alerts, Recommended Action panels, Event Detail panels, and alert
messages were stored at the host in the NetView program. Each nongeneric alert
had a unique set of panels and messages.
Note: The original NMVT encoding contains many SNA major vectors including
Alerts. Subsequent encoding such as MDS_MU and CP_MSU contains many of the
same major vectors and are covered under the term NMVT in this section.
Coded generic alerts are contained in the NMVT. Generic alert code points are
used to dynamically build the hardware monitor panels. Nongeneric alerts are
used mainly for migration purposes. You should create new user-defined alerts
using generic alerts.
This section contains a sample generic alert and the associated panels that are built
by the hardware monitor. (See Figure 21 on page 94 through Figure 25 on page 98.)
This section also describes how each panel is built.
The hardware monitor allows a 1-byte alert description code within the basic alert
(X'91') subvector of the NMVT. This code lets you further qualify the alert. Put
your alert description code in the second byte of the 2-byte Alert Description Code
field. The hardware monitor ignores the first byte of that field.
NMVT-to-Panel ID Mapping
Using the block ID derived from the software product program number and the
alert description code, the hardware monitor maps the NMVT to the following:
v 14-line panel
A 14-line panel appears on the Recommended Action panel of the hardware
monitor for the NMVT. The PDS member name for this 14-line panel is in the
range between BNIF00xx and BNIF0Fxx, where the range of block IDs is from
X'F00' to X'F0F', and xx is the hexadecimal value of the alert description code.
The lines can be up to 80 characters long.
v 7-line panel
A 7-line panel appears on the hardware monitor's event detail panel for the
NMVT. The 7-line panel's PDS member name is in the range between BNKF00xx
and BNKF0Fxx, where the range of block IDs is from X'F00' to X'F0F', and xx is
the hexadecimal value of the alert description code.
Panel Formats
For each new Recommended Action panel or Event Detail panel, use the same
format as in the existing panels to add a panel to the NetView panel library or a
concatenated user library.
For each new 48-byte alert description CSECT, use the same format as an existing
BNJVMxxx CSECT. BNJVMxxx CSECTs are coded using the macro DSIMDS. No
variable substitution is permitted for 48-byte alert descriptions.
Coded data is maintained in code point tables which can be customized (For more
information on customizing code point tables, see “Modifying Generic Code Point
Tables” on page 100). The text strings indexed by the code points, and the display
of textual data that was sent in the alert, are in the same format no matter which
product sent the alert. Also, the same terminology is used to define similar
problems within different products because each product uses terminology defined
by Tivoli.
Generic alerts produce the same Alerts, Recommended Action, and Detail panels as
the hardware monitor's nongeneric alert support, but the panels are built
dynamically rather than using stored panels. Code points index into the tables
defined by Tivoli and the user.
The alert description and probable cause code points are used to build the
hardware monitor Alerts-Dynamic, Alerts-Static, Alerts-History, Event Detail, and
Most Recent Events panels. The user cause, install cause, failure cause, and
recommended action code points are used to build the hardware monitor
Recommended Action panel. The detail data code points are used to identify the
qualifiers that can appear on the hardware monitor Recommended Action or Event
Detail panel. Products use the same set of architected product-independent
terminology to define their Alert, Recommended Action, and Detail panels. Text
data transported in the NMVT is displayed on the Event Detail panel.
The NetView program ships generic code point tables that can be customized (for
more information on customizing code point tables, see “Modifying Generic Code
Point Tables” on page 100.). The generic code point tables shipped by the NetView
product are:
v BNJ92TBL—Alert description code points
92 Customization Guide
v BNJ93TBL—Probable cause code points
v BNJ94TBL—User cause code points
v BNJ95TBL—Install cause code points
v BNJ96TBL—Failure cause code points
v BNJ81TBL—Recommended action code points
v BNJ82TBL—Detail data code points
v BNJ85TBL—Detailed data code points, subfield X'85'
v BNJ86TBL—Actual action code points.
94 Customization Guide
Alerts-Dynamic Panel
???
CMD==> _
▌1▐ The RESNAME and TYPE come from the last name and type pair in the X'05'
subvector. The sample display shows a RESNAME of PU9999 and a TYPE of LINE.
▌2▐ The * indicates that the RESNAME preceding the TYPE does not belong to the
TYPE. The TYPE is always associated with the last name in the hierarchy, but the
name depends on how the X'05' is coded. The Do Not Display Resource Name
Indicator bit is set to 1 for the last name and type pair (subvector X'05', subfield
X'10', second name and type pair, eighth byte, second bit).
▌3▐ The ALERT DESCRIPTION is derived from code point X'1603' in the X'92'
subvector. The code point provides an index into a table containing the alert
description text messages. The sample shows an ALERT DESCRIPTION of COMM
SUBSYSTEM FAILURE.
▌4▐ The PROBABLE CAUSE is derived from code point X'0403' in the X'93' subvector.
The code point provides an index into a table containing the probable cause text
messages. The sample shows a PROBABLE CAUSE of COMM SUBSYSTEM CTRL.
▌5▐ The + is included because the X'93' subvector in Figure 22 contains more than
one probable cause code point. The + indicates that more probable causes can be
seen on the Event Detail panel.
???
CMD==> _
The Recommended Action panel is built from a number of subvectors (X'94', X'95',
and X'96') and subfields (X'01', X'81', X'82', and X'83').
▌1▐ The resource names (PU9999 and LINE04) are taken from the X'05' hierarchy
names list subvector. In Figure 21 on page 94, only names from the X'05' subvector
are used because the Hierarchy Complete Indicator bit (byte 2 bit 0) in the
indicator bit X'05' subvector is set to X'0'. If this bit was set to 1, the NetView
program would concatenate the names in the X'05' subvector to the names
supplied by VTAM.
▌2▐ The resource types (PU and LINE) are derived by converting the type codes in
the X'10' subfield of the X'05' subvector (X'F1' and X'F9') into displayable resource
types. For more information on changing resource types, see “Adding or
Modifying Resource Types” on page 103.
▌3▐ The X'94' subvector (NONE) carries user-caused information. Because the X'94'
subvector is not included in Figure 21 on page 94, user-caused information is not
displayed.
are built from code points (X'1502' and X'13E1') in the X'01' subfield within the
X'95' subvector. The E in the X'13E1' code point indicates an X'83' subfield is
needed to complete the install cause.
96 Customization Guide
▌5▐ The qualifier on the install cause (ACF/IBM) is displayed because of the X'83'
subfield of the X'95' subvector. The X'83' subfield contains the value X'91'
indicating that the qualifier is taken from the product ID subfield (X'06' Software
Product Common Name) of the first product identifier subvector (X'11').
are taken from code points (X'0101' and X'1504') in the X'81' subfield of the X'95'
subvector.
are taken from code points (X'0503' and X'33C2') in the X'01' subfield of the X'96'
subvector. The C in the X'33C2' code point indicates that two detail data subfields,
either X'82' or X'85' subfields, are needed to complete the failure cause. This
example uses X'82' subfields. While either X'82' or X'85' subfields can be used here,
a combination of the two would not be valid. Within a subvector, all of the detail
qualifiers must be X'82' subfields or X'85' subfields.
▌8▐ Indicates the ADAPTER NUMBER 04 is broken down from the first X'82' subfield in
the X'96' subvector. The number can be:
00 No information is taken from the PSID subvector
61 A code point for adapter number
00 Hexadecimal data follows
04 Hexadecimal data to be displayed
▌9▐ LINE ADDRESS RANGE 00 - 1F is broken down from the second X'82' subfield in
the X'96' subvector. The range can be:
00 No information is taken from the PSID subvector
53 A code point for line address range
11 EBCDIC data follows
F0F0406D40F1C6
EBCDIC data to be displayed
are taken from the code points (X'0611', X'0500', X'3110', and X'00E1') in the X'81'
subfield of the X'96' subvector. The E in the X'00E1' code point indicates that an
X'83' subfield is needed to complete the failure cause.
▌11▐ The qualifier on the failure cause (9999) is displayed because of the X'83'
subfield of the X'96' subvector. The X'83' subfield contains the value X'21',
indicating that the qualifier is taken from the first hardware PSID subfield (X'00')
of the PSID subvector (X'11').
QUALIFIERS:
1) 9999 COMMUNICATION CONTROL UNIT 0004 ▌7▐
???
CMD==> _
QUALIFIERS (CONTINUED):
2) EVENT CODE 22
3) REASON CODE 00DC
???
CMD==> _
The Event Detail panel is built from subvectors X'92', X'93', X'98', X'01', X'31', and
X'48', and subfield X'82'.
98 Customization Guide
▌1▐ The resource names (PU9999 and LINE04) are taken from the X'05' hierarchy
names list subvector. In Figure 21 on page 94, only names from the X'05' subvector
are used because the Hierarchy Complete Indicator bit (byte 2, bit 0) in the X'05'
subvector is set to X'0'. If this bit was set to 1, the NetView program would
concatenate the names in the X'05' subvector to the names supplied by VTAM.
▌2▐ The resource types (PU and LINE) are derived by converting the type codes in
the X'10' subfield of the X'05' subvector (X'F1' and X'F9'), into displayable resource
types. For more information on changing resource types, see “Adding or
Modifying Resource Types” on page 103.
▌3▐ The DATE/TIME RECORDED is the time the record is logged to the hardware
monitor database. The created field shows the time the record was created by the
sending product. It is taken from the X'10' subfield of the X'01' subvector.
▌4▐ EVENT TYPE is derived from byte 4 (Alert Type) the X'92' subvector.
▌5▐ DESCRIPTION is derived from the code point (X'1603') in the X'92' subvector, as
is the description on the Alerts panel. However, a longer version of the text is
displayed on this panel.
▌6▐ PROBABLE CAUSES are taken from the code points (X'0403' and X'2012') in the
X'93' subvector. A longer version of the text is displayed on this panel than was
displayed on the Alerts panel. Also, all of the probable causes are displayed.
▌7▐ QUALIFIERS are derived from either X'82' or X'85' subfields. The NetView
program ignores X'01' subfields and associated sub-subfields (including X'82' and
X'85') in a X'98' subvector.
While either X'82' or X'85' subfields can be used here, a combination of the two
would not be valid. Within a subvector, all of the detail qualifiers must be X'82'
subfields or X'85' subfields.
This example uses X'82' subfields, and the qualifiers are decoded as follows:
Page 2 of the Event Detail panel (see Figure 24 on page 98) contains the following
information:
▌8▐ CONTROL PROGRAM TEXT is the text title displayed because of the subfield X'21' of
subvector X'31'. The text itself is taken directly from subfield X'30' of the X'31'
subvector and displayed on the screen.
▌9▐ The CORRELATION FOR SUPPORTING DATA is displayed from the X'48' subvector.
Subfield X'60' specifies that the network-qualified procedure correlation identifier
be used to uniquely identify a session.
Either X'82' or X'85' subfields are used for supporting data. This example uses two
X'82' subfields to identify the supporting data.
While either X'82' or X'85' subfields can be used here, a combination of the two is
not valid. Within a subvector, all of the detail qualifiers must be X'82' subfields or
X'85' subfields.
▌10▐ The product ID (ACF/IBM) is taken directly from the first product identifier
(X'11') subvector in the first PSID (X'10') subvector. Figure 21 on page 94 uses the
Software Product Serviceable Component Identifier (X'02') subfield.
▌11▐ The alert ID number (1A2B3C4D) is taken from subvector X'92' bytes 7–10.
Table Formats
Each table contains a different type of code point. The tables are:
v BNJ92TBL: Alert description code points
v BNJ93TBL: Probable cause code points
v BNJ94TBL: User cause code points
v BNJ95TBL: Install cause code points
v BNJ96TBL: Failure cause code points
v BNJ81TBL: Recommended action code points
v BNJ82TBL: Detail data code points
v BNJ85TBL: Detail data code points, X'85' subfield
v BNJ86TBL: Actual action code points.
The fourth and fifth characters of the table name identify the subvector or subfield
that contains the code points.
The first entry in the code point table is the control entry. Columns 1 and 2
represent the subvector number which specifies which of the code point tables is
being created or updated. Acceptable values are 92, 93, 94, 95, 96, 81, 82, 85, or 86.
During initialization, this number must match the table name. Column 3 must be
blank and all remaining columns are unused and are ignored. (You should not use
The format of each subsequent entry in the code point table is:
v Columns 1–4 contain the 4-character hexadecimal code point number. Valid
characters are 0–9 and A–F. The code point range from X'E000' to X'EFFF' is
reserved for your use. To use code points outside this range, contact the Tivoli
Support Center.
If a code point is defined more than once in a given table, the first entry is used,
subsequent entries are ignored, and an informational message is generated.
v Column 6 contains the embed flag (Y) indicating that qualifier data associated
with the X'82', X'83', or X'85' subfield is placed before the code point's text,
embedded within the code point's text, or follows on the same line after the
code point's text. Any character other than Y indicates that the embed flag is off.
If the embed flag is turned on, the embed information included in the generic
alert is embedded at the point marked by a dollar sign ($). Embedded text is
only supported for BNJ81TBL, BNJ86TBL, BNJ94TBL, BNJ95TBL, and BNJ96TBL.
Because no variable substitution is allowed for probable cause and alert
description, an embed flag is ignored in BNJ92TBL and BNJ93TBL.
v Columns 8–72 contain the text description for this code point. The maximum
length of the text varies as follows:
– Probable cause: 40 characters for the first entry of a given code point, 20 for
the second. (See ▌4▐ in “Example of BNJ92TBL Code Points Table” on page
102 for an explanation of the second entry.)
– Alert description: 40 characters for the first entry of a given code point, 25 for
the second. (See ▌4▐ in “Example of BNJ92TBL Code Points Table” on page
102 for an explanation of the second entry.)
– Detail data: 40 characters
– Others: 108 characters.
Start in column 2 when continuing the text on the next line.
v Columns 73–80 are ignored and can be used for optional sequence numbers.
Note:
1. Code points in table BNJ82TBL must be left-justified and padded with zeros.
For example, you enter code point 12 as 1200.
2. The text for the code point entries added to the NetView BNJ81TBL code point
table should begin with Ennn. The text for the code point entries added to the
NetView BNJ86TBL code point table should begin with Rnnn. The use of Ennn
and Rnnn allows the code points to be supported by the ACTION command
list (for more information on the ACTION command list, refer to the NetView
online help). The action text in BNJ81TBL and BNJ86TBL should begin this way.
Otherwise, when BNJDNUMB is used to generate recommended action
numbers, it overlays the first 4 bytes of the recommended action text.
3. The hardware monitor searches the tables for the specific code points. If a
match is not found, the hardware monitor searches some tables for a general
code point.
A general code point is the code point with the last 2 bytes set to zero. For
example, if the specific code point is 1620, the general code point is 1600. If a
general code point is found, its text is returned as if it matched the original
code point. A general code point contains text that is valid for all specific code
You can choose to have one main table for each code point type. This table can
contain the code points shipped with the NetView program and %INCLUDE
statements for user-defined subtables and subtables defined by other products.
BNJxxTBL (where xx is the table number) are tables Tivoli does not recommend
modifying. Use these tables as main tables for each code point. If customization of
these tables is required, use the BNJxxUTB (where xx is the table number) file
which is included by the main table (BNJxxTBL) for this purpose.
▌2▐%INCLUDE BNJ92UTB
▌3▐ ▌4▐
0100 SIMPLE CODE POINT TEXT;
▌5▐E123 THIS TEXT IS EXACTLY FORTY CHARS LONG XX;
E123 THIS IS THE SAME IN 25 XX;
▌6▐FFFF
▌2▐ Code point tables can use %INCLUDE statements to embed other files into the
code point table.
▌3▐ The code point (0100) is a 4-character hexadecimal number, starting in column
1.
▌4▐ The text description in columns 8–72 appears on the hardware monitor
displays.
▌5▐ The hardware monitor has different panel formats that allow different length
text for alert descriptions (92) and probable causes (93). The maximum length of
the text for either entry is 40 characters. Abbreviated text is required, if the text
exceeds 25 characters for alert descriptions or 20 characters for probable causes.
Errors occur for text entries greater than 40 characters.
▌6▐ Any entries in the table with code point FFFF and no text are ignored (to allow
for migration). Entries with code point FFFF and text are treated as any other code
point.
▌1▐ Code point tables can use %INCLUDE statements to embed other files into the
code point table.
▌2▐ The embed flag (Y in column 6) indicates that qualifier data is embedded at the
point marked by a dollar sign ($).
▌3▐ Start in column 2 when continuing text on the next line. The text on the first
line starts in column 8 and continues through column 72.
▌4▐ Because this code point has already been defined in the table, this entry is
ignored and an informational message is generated.
▌2▐ The four characters in columns 4–7 are taken as the resource type. Valid
characters are 0–9, A–Z, and any printable special characters. A resource type of
▌3▐ An optional comment can begin anywhere after the resource type.
If BNJRESTY is modified while the hardware monitor task BNJDSERV is active, the
new resource types are not recognized. Use STOP TASK=BNJDSERV followed by
STARTCNM NPDA so that the NetView program can recognize any new resource
types or use the RTTBL command to activate a modified BNJRESTY member.
If the NetView program finds an entry that is not valid in BNJRESTY during
activation of the NetView program or when the RTTBL command is invoked, an
error message appears on the command facility console and the NetView program
uses the resource types that are supplied by IBM.
Reference: Refer to the IBM Tivoli NetView for z/OS Administration Reference for
information on the record formats. Refer to the NetView online help for
information about the command lists that are provided with the NetView program.
Any device that supports the REQUEST/REPLY PSID architecture can report VPD
to the NetView program. An attempt to solicit VPD from a device that does not
support the architecture can cause the keyboard to lock or extraneous data to
appear on the screen. You may need to press the RESET key or clear the screen,
but these actions do not affect the VPD collection in the NetView program.
The following examples are some physical units (PUs) that support the
REQUEST/REPLY PSID architecture:
v 3720/NCP
v 3725/NCP
v 3745/NCP
v 3174 that reports data for itself and many types of attached devices such as
various models of 3191, 3192, and 3194 display stations.
Reference: Instructions for entering VPD for a device are located in the user's
guides for that device.
Network asset management provides the VPDCMD command to solicit VPD from
a given device and the VPDLOG command to build and log a record to an external
logging facility (such as SMF). You can use Service Level Reporter (SLR) to view
the data interactively or to generate reports, or the VPDALL command to generate
VPDPU and VPDDCE command entries for all devices within a NetView domain.
If you have any resources that require switched lines, be sure that the switched
lines are active before collecting VPD.
Reference: Refer to IBM Tivoli NetView for z/OS Administration Reference for the
record formats and the NetView online help for descriptions of VPD command
lists. Refer to IBM Tivoli NetView for z/OS Automation Guide for additional
information.
Note: To collect data from the entire domain, the configuration member must
contain the definitions for all the resources in the domain.
3. You can modify VPDACT by adding or deleting resource names.
4. When the VPDACT command list is executed, VPDLOGC is called to generate
a START record. VPDACT then calls the VPDPU and VPDDCE command lists
and, after they are complete, calls the VPDLOGC to generate an END record.
The following steps describe the procedures for the collection of VPD for the
sample focal point NetView program shown in Figure 26.
1. During installation, NV1 sets the common global variable SMFVPD to 200.
NV2 sets the common global variable to 250.
Reference: For more information, refer to the IBM Tivoli NetView for z/OS
Installation: Configuring Additional Components.
3. Start DSIELTSK from the focal point NetView NV1.
4. NV1 establishes a direct OST-to-NNT session with NV2 using the START
DOMAIN command.
5. NV1 issues START VPDTASK.
6. NV1 issues ROUTE NV2, START VPDTASK.
7. NV1 issues ROUTE NV2, VPDACT. This causes the VPDACT command list in
NV2 to run under an NNT.
8. In NV2, VPDACT verifies that it is running under an NNT, and generates the
following message:
MSG OPID X$S VPDLOG 250 ’1 STRING1 10 STRING2...’
Reference: Refer to IBM Tivoli NetView for z/OS Automation Guide for
additional information about the VPXDOM command list.
10. When VPDXDOM is entered, the message string is as follows:
DSI039I MSG FROM OPID : X$S VPDLOG 250 1 STRING1...
11. VPDXDOM verifies that NV1 set SMFVPD as a common global variable and
changes SMFVPD from 250 (NV2) to 200 (NV1).
12. VPDLOGC logs the data records under NV1's SMF record number 200.
13. Be sure that the cross-domain session stays active until after the VPD
solicitation is completed.
Customization Considerations
You can customize the VPD command lists that are provided with the NetView
program to suit your requirements.
Reference: Refer to IBM Tivoli NetView for z/OS Programming: Assembler for
information about command processors.
If you are changing the SMF record format, you cannot use record number 37. You
must globally define the SMF record number within the user-defined range of
128–255. If you are using SLR, you must write the SLR table to match your
modified SMF record format.
Reference: Refer to NetView online help and IBM Tivoli NetView for z/OS
Programming: REXX and the NetView Command List Language for limitations on the
use of &WAIT and RESET, and for considerations regarding the issuance of a
second network asset management command list and network asset management
command while a previous network asset management command list is running.
The environment that the E/AS is started from (either the MVS system console or
the UNIX System Services command shell) determines certain operational
characteristics of the E/AS as follows:
v The location of default configuration files.
v Whether certain startup parameters can be specified.
v The default output logs for trace/error data.
All other operational characteristics of the E/AS are the same regardless of the
startup environment.
For information about installing and starting the E/AS, see the IBM Tivoli NetView
for z/OS Installation: Configuring Additional Components.
E/AS modification commands are discussed fully in the IBM Tivoli NetView for
z/OS Command Reference Volume 1 (A-N).
Either format can be used from either startup environment unless otherwise noted
in the information that follows. However, to pass the option/value format to the
IHSAEVNT startup procedure, the list of options and values must be encoded into
a single parameter/value format. The IHSAEVNT startup procedure provides the
following parameter to accomplish this:
OELINE
Use single quotes to surround the options and values passed with the OELINE
parameter.
The global initialization file is used to change configurable settings that are
required by all the services. Each of the other configuration files are used to change
configurable settings that are specific to the services. The statements within these
files must all be contained on one line. Each of these files can have comments.
Comment statements begin with the number sign (#).
If the E/AS is started from the IHSAEVNT startup procedure, by default the
8–character PDS name specified is used to locate the file. The file must be in a data
set specified by the IHSSMP3 data set definition statement from the IHSAEVNT
startup procedure. If the E/AS is started from the UNIX System Services command
shell, by default the HFS name specified is used to locate the file.
For more information about the configuration file statements, see the IBM Tivoli
NetView for z/OS Administration Reference.
There is an output log associated with each of the three services, and an output log
associated with the entire E/AS address space. If output log wrapping is disabled,
these output logs are physically represented by one system file. If output log
wrapping is enabled, these output logs are physically represented by two system
files — a primary file and a secondary file.
When wrapping is disabled, all output log data is written to the primary file.
When wrapping is enabled, the wrap size is used to limit the total amount of bytes
that can be written to either the primary or the secondary file. When this wrap size
is exceeded, the current file being used for output log output (either the primary or
secondary file) is closed, and the file that was not previously in use (either the
primary or the secondary) is opened for further logging. Whenever an output log
is opened, all data that was previously in the log is destroyed. Therefore, the
maximum amount of output log data available is 2 times the wrap size (both the
primary and secondary files are full), and the minimum amount of output log data
available is the wrap size (a switch has just occurred to either the primary or
secondary file, destroying all data previously in that file).
For more information about setting output log wrapping, refer to the OUTSIZE
parameter in “Customizing the Event/Automation Startup Parameters” on page
115.
If output log wrapping is disabled, the data set definition for the secondary file
does not need to be present in the IHSAEVNT startup procedure, but it is a good
practice to leave it in. The data set definition for the primary file must always be
present.
Note: There is no restriction placed on the type of file that you specify in the data
set definition statements in the IHSAEVNT startup procedure. However, it is
recommended that you do not define a PDS member as an output log file due to
synchronization problems that may occur when trying to write data to the PDS
member. You also should use a different file for each data set definition statement.
Unless you have been instructed to run with tracing enabled by a Tivoli service
representative, it is recommended that you use the default SYSOUT data sets that
are specified in the sample IHSAEVNT startup procedure and do not enable
output log wrapping.
When the E/AS is started using IHSAC000 in the UNIX System Services command
shell, the names of the output log files are defined as follows:
v The files must be HFS files. By default, the path of the files is /tmp. This path
can be changed using the -E startup option. Refer to this option on page “-E
path” on page 117.
v controlp.log (primary file) and controls.log (secondary file) are the names of the
output log files for the E/AS address space. These names cannot be changed.
v alertp.log (primary file) and alerts.log (secondary file) are the names of the
output log files for the alert adapter service. These names cannot be changed.
v calertp.err (primary file) and calerts.err (secondary file) are the names of the
output log files for the confirmed alert adapter service. These names cannot be
changed.
v alrttrpp.log (primary file) and alrttrps.log (secondary file) are output error log
files for the alert-to-trap adapter service.
v trapalrtp.log (primary file) and trapalrts.log (secondary file) are output error log
files for the trap-to-alert service.
v messagep.log (primary file) and messages.log (secondary file) are the names of
the output log files for the message adapter service. These names cannot be
changed.
v cmessagep.err (primary file) and cmessages.err (secondary file) are the names of
the output log files for the confirmed message adapter service. These names
cannot be changed.
v eventrcvp.log (primary file) and eventrcvs.log (secondary file) are the names of
the output log files for the event receiver service. These names cannot be
changed.
The E/AS creates these output log files if they do not exist.
Note: Unless you have been instructed to run with tracing enabled by a Tivoli
service representative, it is recommended that you do not enable output log
wrapping.
Error data is composed of MVS system console messages and output log only
messages. In general, any error condition detected by the E/AS results in an MVS
console message. This console message is also written to E/AS output. To aid in
problem determination, additional messages may also be written to E/AS output.
These output log only messages that were not issued to the MVS system console
may give more detail concerning the problem.
The combination of system console and output log only messages should allow
you to resolve most E/AS problems without the aid of a Tivoli service
representative.
Not all MVS console messages describe error conditions. There are a number of
informational messages that are also issued by the E/AS and sent to E/AS output
logs.
The following example shows the header for the message adapter service primary
output log file, assuming that the E/AS was started from the IHSAEVNT startup
procedure:
IHSM Fri Feb 20 10:45:55 2011
All other E/AS output data is composed of a header followed by the specific data.
In this example, the console message IHS0075I was issued from the reported E/AS
module at the specified time and date.
Note: Module and line numbers are for use by a Tivoli service representative if
additional problem determination is needed.
If you run more than one E/AS, the E/AS PPI mailbox name must be unique for
each. All other configurable settings can be shared between the E/AS invocations.
However, you should consider changing the following configurable settings
between each E/AS invocation:
v If you use more than one event receiver service, only one should register with
the PortMapper. Others should specify a port number and disable the use of
PortMapper. If more than one event receiver attempts to use the PortMapper,
only the last event receiver to access PortMapper is actually registered; all other
registrations for the other event receivers are lost. A warning message is written
to the MVS system console when the event receiver PortMapper registration is
overwritten.
v The E/AS output log files should be unique for each E/AS invocation.
Otherwise, data from one E/AS are interleaved in the same output log file as
data from another E/AS. If you are using the IHSAEVNT startup procedure to
execute the E/AS, and the output log files are to SYSOUT data sets, then these
data sets are automatically unique for each E/AS invocation.
The translation files used by the services of the E/AS have two different formats.
The alert adapter, confirmed alert adapter, alert-to-trap, trap-to-alert and event
receiver services use a class definition statement (CDS) translation file. The
message adapter service and confirmed message adapter service uses a message
format translation file.
For additional information about SNMP traps, see the appropriate z/OS
documentation for SNMP agent.
Note: The event receiver service, alert-to-trap service, and trap-to-alert service
further processes the EIF event that is produced using these class definition
statements to turn it into an alert or SNMP trap. See “Event Receiver Post-CDS
Processing” on page 141 for more information about creating alerts from event
servers. See “Alert-to-Trap Post-CDS Processing” on page 165 for more information
about creating traps from alerts. See “Trap-to-Alert Post-CDS Processing” on page
158 for more information about creating alerts from SNMP traps.
A CDS file is composed of one or more CDS's. Each CDS can include a SELECT,
FETCH and a MAP segment that specifies the rules for mapping data into an EIF
event. These rules allow for selecting an event class based on the incoming data,
fetching additional data for creating the console event, and mapping the
information collected from the incoming event into event attributes for the
outgoing EIF event.
The CDS file also supports comment lines beginning with the comment sign (#).
For the alert adapter service, each class of event defined in the .baroc file of the
service on an event server must match one or more CDS in the CDS file. The CDSs
specify how to map incoming data to the class and event attributes of the outgoing
EIF event instance. If you change or add classes or event attributes in the CDS file,
you must make a corresponding change to the .baroc file on the event server.
For the event receiver service, the outgoing EIF event is never sent to an event
server; it is a pseudo-event that is processed further to create an alert. Therefore,
there is no corresponding .baroc file on an event server for any EIF events created
from the event receiver's CDS file.
Each CDS is evaluated in the order it appears in the CDS file. An incoming event
is mapped to the class specified by the first CDS whose SELECT segment is
evaluated successfully. When more than one CDS is provided for a given class of
event, the CDS with the most restrictive SELECT segment should appear first in
the CDS file.
The name part of the attribute is a text string. There are two types of names -
generic and keyword.
Keywords have the format $keyword. Data that is commonly provided in the
incoming datastream to the service is usually coded into keywords rather than
generic names. The actual keyword name is never derived from the incoming data,
but rather is defined by the service.
The main difference between keywords and generic names is how the names are
used in processing the CDS file. Keywords provide faster data lookup during CDS
file processing. Otherwise, keywords and generic names are nothing more than
data tags, with keywords prefaced with $.
The value part of the attribute is also a text string. Again, the service will assign
this text string based on data in the raw event.
The value for the severity event attribute is determined by mapping an alert type
(or event type) to a severity. The following table shows this mapping. The
hexadecimal byte is the alert type field from the generic alert data subvector.
Table 16. Alert Types and Severities
Alert Type Severity
0x01, PERMANENT CRITICAL
0x02, TEMPORARY HARMLESS
0x03, PERFORMANCE WARNING
0x04, INTERVENTION REQ'D CRITICAL
0xNN, CUSTOMER APPLICATION MINOR
0xNN, END USER GENERATED MINOR
0xNN, SUMMARY HARMLESS
0xNN, INTENSIVE MODE REC HARMLESS
0x09, AVAILABILITY CRITICAL
0x0A, NOTIFICATION WARNING
0x0B, ENVIRONMENT CRITICAL
0x0C, INSTALLATION WARNING
0x0D, OPERATION/PROCEDURE WARNING
The alert-to-trap service has access to the alert-adapters keyword attributes, and
these can be used in SELECT, MAP and FETCH statements. However, not all alert
adapter attributes are applicable to SNMP traps.
The CLASS names in class definition statements are not used in the traps built by
the alert-to-trap servicer. However, the CLASS name is still required to satisfy CDS
syntax rules, and it is useful when you document the trap you are constructing.
The following table lists the keyword attributes created by the trap-to-alert service.
The following table lists the generic attributes created by the trap-to-alert service
from the SNMP trap data that is not a variable binding. All data is converted to a
character string before assigning it to the generic attribute name.
The variable binding data is created directly from the variable binding data. The
variable binding name becomes the name of the generic attribute, and the variable
binding data is converted to a character string if it is not already a character string
and assigned to the generic attribute. When more than one variable binding within
an SNMP trap contains the same name, the name and index are appended to the
name to create the generic attribute name. For example, if the variable binding
name
1.3.6.1.4.1.2.2.1.3.1.0
occurred 3 times within the same SNMP trap, the generic attribute names that are
created as a result would be as follows:
1.3.6.1.4.1.2.2.1.3.1.0
1.3.6.1.4.1.2.2.1.3.1.0<1>
1.3.6.1.4.1.2.2.1.3.1.0<2>
The following example of an ATTR expression looks for a generic name that is
equal to user1. If the service has provided an attribute named user1, the ATTR
expression will be satisfied.
ATTR(=,"user1")
The following example of an ATTR expression looks for a keyword that is equal to
$ORIGIN. If the service has provided an attribute named $ORIGIN, the ATTR
expression will be satisfied.
ATTR(=,$ORIGIN)
VALUE
This expression is optional. For the attribute in the attribute list that
matches the associated ATTR expression, the value of the attribute is
subjected to a match based on the information in the VALUE expression.
<v_op>
Modifies the VALUE expression and can have one of the following values:
= Specifies that the VALUE expression in <v_op_value> must match
the value of an attribute in the attribute list.
PREFIX
Specifies that the VALUE expression in <v_op_value> must be a
prefix of the value of an attribute in the attribute list.
SUFFIX
Specifies that the VALUE expression in <v_op_value> must be a
suffix of the value of an attribute in the attribute list.
!= Specifies that the VALUE expression in <v_op_value> must not be
equal to the value of an attribute in the attribute list.
<v_op_value>
Specifies the value of an attribute. By default, <v_op_value> is a string.
However, <v_op_value> can also be a variable.
When specified as a string, <v_op_value> must be enclosed in double
quotation marks (") if the string contains a blank character or if it is all
digits (0 through 9). The following examples show possible <v_op_value>
strings:
The following example of a VALUE expression looks for an attribute with a value
that is prefixed with Serial:
VALUE(PREFIX,"Serial")
This statement uses the value of the variable $V2, as assigned from
<select_statement> number 2, and assigns the substring represented by the first 4
characters of $V2 to the variable $F1.
The output of the FETCH segment is the set of fetch variables $Fn.
In this example, the origin event attribute would be given the value of the SELECT
segment variable $V2. The hostname event attribute would be given the value of
the $HOSTNAME keyword. Assuming the value of the variable $V2 is
NV390SP/SP, the msg event attribute would be given the value "The origin is
NV390SP/SP" (the double quotes are not included in the value).
The output of the map process is a list of event attribute name/value pairs that are
used to generate the outgoing EIF event that is either sent to the event server or
used for post CDS-file processing.
In some cases, you may want to put CDSs into more than one CDS file and have
them all be used by a service. To enable this, an extension to normal CDS file
processing has been added for the E/AS services. The %INCLUDE statement
allows additional CDS files to be embedded within the current CDS file. The
%INCLUDE keyword cannot be preceded by blank characters, and it must be
followed by a separator of one blank character. Following the separator is the file
name of the CDS file to be opened. This file name is either a 1 to 8 character PDS
member name that is associated with the IHSSMP3 data set definition, or a
complete file name that is preceded by the backslash ('\') character. The maximum
number of CDS file members that can be opened at the same time is 20; this
represents the maximum number of nested %INCLUDE statements that are valid.
The following example shows the %INCLUDE statement syntax. Assume that the
file named IHSAACD1 contains the single statement:
sub_origin = $SUB_ORIGIN;
In this example:
MAP_DEFAULT //Statements from IHSAACDS
source = NV390ALT;
origin = $ORIGIN;
%INCLUDE IHSAACD1 //New file with sub_origin statement
hostname = $HOSTNAME; //Continuation of IHSAACDS
adapter_host = $ADAPTER_HOST;
END
The following sections describe the syntax of the message and confirmed message
adapter service format specifications and how format specifications are mapped
into events.
Like a CDS file, the job of the FMT file is to allow the user to customize the
outgoing console event based on the incoming message data. This method does not
encode the data into attributes; however, there are certain event attribute names
that receive default information from the incoming message data.
The following table lists each of the default event attribute names and their
corresponding default values. If the value for the event attribute is not actually
present in the incoming data, then the default event attribute value will be the null
string. ANY event attribute that is listed in the map rules portion of a format
specification statement has a default value; if it is not provided in the incoming
data, its default value is the null string ("").
Default event attributes and values can also be assigned by users in the NetView
address space. Refer to the IBM Tivoli NetView for z/OS Automation Guide for more
information about customizing messages forwarded from the NetView program.
Using this method, any attribute name/value pair can be created and used by the
FMT file process.
Format Specifications
The FMT file is made up of 1 or more FSS. An FSS has the following three parts:
v The format header has the keyword FORMAT followed by the class name. This
is optionally followed by the FOLLOWS keyword and a previously defined
FORMAT class name. If the incoming message matches this FSS, the class name
following the FORMAT keyword is used on the outgoing EIF event.
v The format content has a format string optionally followed by a list of map
rules. The format string performs a function similar to the SELECT segment of a
CDS file; that is, it matches the incoming message to a particular FSS. The map
rules perform a function similar to the MAP segment in the CDS file; that is,
they assign values to event attributes.
v The END keyword completes the FSS.
The format header, the format string, each map rule, and the END keyword must
begin on a new line.
The FOLLOWS relationship is used to enable a specific FSS to be built from more
generic ones. When format B follows format A, B inherits all of the map rules (but
not the format string) from A. Format B can define any additional map rules, but
any map rules redefined by B are not inherited from A. Format B can override
inherited map rules by redefining them.
Messages that are forwarded by the NetView program typically have a common
format consisting of a message identifier and message-specific text. These message
components can be represented in the format string using a component specifier
The following format string describes the entire class of messages that are
produced by the NetView automation table:
%s*
Input messages are tokenized into constants and blanks. A constant is any
consecutive string of non-blank characters. Component specifiers allow the
constants and blanks to be grouped into more complex "tokens" when trying to
match an FSS against a specific message. The current allowable component
specifiers are:
%lengths Matches one constant in the input message
%lengths* Matches zero or more constants in the input message
%lengths+ Matches one or more constants in the input message
The optional length is a decimal number of any size that truncates the constant if
the actual length is greater than the specifier length. For the specifiers that can
match multiple constants, each constant in the accumulated string is truncated.
Also, the string itself terminates on a constant that is less than the specifier length.
The format string DSI%s %s* is taken from the default message adapter FMT file
shipped with the E/AS, and is used in the following discussion to demonstrate the
usage of format strings.
The DSI002I message has some constant parts and some variable parts. That is,
certain parts of the message (constant parts) will be the same for any DSI002I
message that is generated. The constant parts of the message are:
DSI002I INVALID COMMAND: ’ ’
Note that the first constant part of the message goes all the way to the first single
quote (') in the message. The second single quote is the beginning of the second
constant part of the message, which also happens to be the last character in the
message. The data inside of the single quotes is all variable.
In this case, the variable part is composed of two words and a space -- WORSE
COMMAND.
Using the previously described DSI002I message, the component specifiers and
matches are as follows:
DSI DSI
%s 002I
INVALID COMMAND: ’INVALID COMMAND: ’
%s* WORSE COMMAND
’ ’
The blank characters that separate the words of a message must also be present in
the format string. A single space character in the format string will match any
number of blank characters in the message.
Suppose the space between the colon (:) and the quote (') is deleted in the
specialized DSI002I format string given previously:
DSI %s INVALID COMMAND:’%s*’
In this example, the format string would no longer match DSI002I messages.
However, in the following example, the NetView message would match the format
specification, since all consecutive blanks from both the input message and the
format specification are boiled down to a single blank character:
DSI %s INVALID COMMAND: ’%s*’
Care should be taken when using arbitrary length repeater component specifiers
(%s* and %s+ ). The following format string does not make much sense:
This is not a good format %s* %s*
The first %s* matches everything through the end of the message, and the second
%s* will never match anything. It might appear that this does not matter, but the
importance becomes obvious when map rules are discussed in “Map Rules.”
The first %s* matches everything up to the first colon (:), and the second %s*
matches everything through the end of the message.
From the examples here, you can see that you can specialize a generic format to
match a more specific event by either replacing component specifiers with
constants or by restricting the arbitrary length repeater specifiers to a fixed length
by using constants to terminate the specifier.
Map Rules
The service translates incoming message data into an event class with event
attribute name/value pairs, and sends this information to an event server. As with
the alert adapter service, a .baroc file at the event server must be present to match
the outgoing EIF events created by the message adapter service. This is not
required for the confirmed message adapter service.
The map rule portion of the format string consists of zero or more lines that
contain a .baroc file event attribute name followed by a value specifier. The value
specifiers are one of four types:
v $i , where i indicates the position of a component specifier in a format string.
Each component specifier is numbered from 1 to the maximum number of
component specifiers in the format string. For example, in the specialized format
specification for the DSI002I message given previously, the %s* component
specifier would be referred to in the map rules as $2. The value of a $i value
specifier, also referred to as a variable value specifier, is the portion of the input
message that was consumed by the component specifier. These variables are
very similar to the variables output from the SELECT and FETCH segments in
the CDS file.
v A constant string. The value of the event attribute is the specified string. If the
string is a single constant, it can be specified without surrounding double quotes
("). Otherwise, double quotes must be used.
v A PRINTF statement. This mechanism allows you to compose more complex
event attributes from other event attributes. The PRINTF statement consists of
the keyword PRINTF followed by a C-style printf() format string and a list of
event attribute names. The printf() format string currently only supports the %s
conversion specifier. The values of the event attributes that are used in the
PRINTF statement must also have been derived from either the $i value
specification or a constant string value specification. They cannot be derived
from another PRINTF value specification. The value of the argument event
attributes will be used to compose a new constant string according to the
printf() format string. This constant string becomes the value of the event
attribute. This value specifier is very similar to the PRINTF MAP segment
format in the CDS file.
v DEFAULT. This keyword indicates that the adapter should use its internal logic
to derive the value of the indicated event attribute. For example, the incoming
message data contains the hostname (netid.nau) where the message originated. If
the hostname event attribute is therefore set to the value DEFAULT, netid.nau
will be the value of the hostname event attribute. This is similar to the use of
keywords in the alert adapter service.
If the incoming message does not provide a specific value for a slot, the
DEFAULT value is the null string (""). The DEFAULT value for non-specified slot
names can be overridden. An additional value specifier, delimited with a colon
(:), may follow the DEFAULT value specifier. This value specifier will be used to
provide the DEFAULT value of the slot only if a slot value is not provided in the
incoming message.
Only constant string and $i variable specifiers can be used to provide DEFAULT
overrides.
For example, the following assigns the slot numericslot with the DEFAULT value
from the incoming message:
numericslot DEFAULT : 0
If the incoming message does not contain a value for numericslot, a value of 0 is
assigned rather than a null string.
Note that because DEFAULT is a keyword, a constant map whose value is the
string DEFAULT must be specified in double quotes ("").
There can be attributes in the incoming message that do not directly correspond to
any .baroc file event attributes. However, the service might need to use these
values to compose PRINTF style constant strings. This data needs to be assigned
to temporary event attributes, which can then be used in the PRINTF value
specification but does not allow the event attribute to be sent over to the event
server as an independent event attribute name/event attribute value pair.
Temporary event attributes are designated with a minus sign (-) immediately
preceding the event attribute name in the map rule. These temporary event
attributes are not .baroc file event attributes. Do not use the minus sign (-) when
referring to the temporary event attribute in the PRINTF specification.
%INCLUDE Statements
The %INCLUDE statement allows additional FMT files to be imbedded within the
current FMT file. The %INCLUDE keyword cannot be preceded by blank
characters, and it must be followed by a separator of one blank character.
Following the separator is the file name of the FMT file to be opened. This file
name is either a 1 to 8 character PDS member name that is associated with the
IHSSMP3 data set definition, or a complete file name that is preceded by the
backslash ('\') character. The maximum number of FMT file members that can be
opened at the same time is 20; this represents the maximum number of nested
%INCLUDE statements that are allowed.
Format File Example: The following sample is used to demonstrate the concepts
discussed previously; this example was taken (and modified somewhat) from the
message adapter services default message format file (IHSAMFMT):
FORMAT NV390MSG_Event
%s*
source NV390MSG
origin DEFAULT
desctext "This string will be overridden"
END
FORMAT NV390MSG_NetView_NCCF FOLLOWS NV390MSG_Event
DSI%s %s*
sub_source "NetView NCCF"
msgnumber $1
temp1 $2
desctext PRINTF("Got a DSI message: %s", temp1)
END
%INCLUDE MOREFMTS
Using this format file, assume that the following message is received by the
service:
DSI002I INVALID COMMAND: ’A BAD COMMAND’
With this match, the source event attribute will be assigned the string value
NV390MSG. The origin event attribute will be assigned whatever default the event
adapter associates with this event attribute. The desctext event attribute will be
assigned the string This string will be overridden initially. These event
attributes are all assigned with the more generic NV390MSG_Event FSS, from which
the NV390MSG_NetView_NCCF FSS follows.
The sub_source event attribute will be assigned the value of NetView NCCF. The
msgnumber event attribute will be assigned the value 002I (which was dissected
from the input message on the first %s* specification). The -temp1 temporary event
attribute will be assigned the string INVALID COMMAND: ’A BAD COMMAND’ (which
was dissected from the input message on the second %s* specification). This
temporary variable is then used with the PRINTF value specifier to override the
desctext event attribute with the string Got a DSI message: INVALID COMMAND: ’A
BAD COMMAND’.
All of the event attributes, with the exception of the -temp1 event attribute, will be
used to build the outgoing EIF event. The classname for the event will be
NV390MSG_NetView_NCCF , the name of the most specifically matched FSS.
For an example of using FSS, refer to the IHSAMFMT sample (message adapter
service or the IHSANFMT sample (confirmed message adapter service) that is
shipped with the Event/Automation Service.
To do this, the processing of the CDS file by the event receiver will be modified
slightly from the processing that is done on the file by the alert adapter service or
the confirmed alert adapter service. Syntactically, all of the information that is
discussed in “Class Definition Statement Files” on page 123 is still true for the
event receiver CDS file. The event receiver treats the event that is output by the
CDS file process as a pseudo event; that is, the event is not meant to be sent to an
event server, but rather is parsed for certain specific event attributes that are
encoded into the NMVT.
An example:
CLASS SV05_1
...
END
CLASS SV05_2
...
END
CLASS SV05_3
...
END
...
In this example, the SELECT segments (not shown) in each CDS statement will
cause a different subvector 05 to be built. The class name for the SV 05 that is
eventually built will have a unique name that identifies it as an SV 05. Again, this
information is used only for visual organization and debugging.
SV event attribute
This event attribute is the main vehicle for creating the subvectors that are to be
placed into the NMVT.
The event attribute name must be prefixed with SV; the rest of the event attribute
name can be any character string. SV05, SVAA and SVNONSENSE are all recognized as
SV event attributes. Again, for clarity and debugging, it is recommended that the
event attribute names contain the number of the subvector being created -- SV05,
SV92, SV05_1.
An SV event attribute value contains the full subvector (including the length and
subvector key). The values that are assigned to SV event attributes in the MAP
segment of a CDS are interpreted as character strings; the event receiver will
decode the numeric character string into the hexadecimal values that are to be
used in the alert. An example of a subvector event attribute from the sample CDS
file:
SV05 = "0B0509100004E3C5C30040";
The value in the SV05 is a character string with hexadecimal characters. The event
receiver translates this character string into true numeric format for inclusion in the
NMVT. The event receiver does not validate this subvector. The subvector that is
placed into the NMVT is similar to the following:
0B0509100004E3C5C30040
Following the general CDS file syntax, if the event attribute value contains only the
digits in the range of 0–9, the value must be enclosed within double quotations to
be interpreted as a string. The previous example has alphabetic characters
(representing the hexadecimal values A-F) in it, so it was not necessary to enclose
To specify the string TEC directly within the event attribute value, enclose the string
within <> braces. The braces must have escape characters preceding them; the
escape character is # . Using this convention, for example, the string is as follows:
SV05 = "0B0509100004#<TEC#>0040"
This event attribute value would produce exactly the same NMVT subvector as the
first example, as follows:
0B0509100004E3C5C30040
The braces indicate to the event receiver that the data enclosed within the braces is
not a hexadecimal string number that needs to be converted, but the string is to be
placed directly into the NMVT.
Extending the SV 05 example introduced previously, assume that the string TEC is
the value of the $V2 variable generated by a SELECT segment. To produce an
identical SV 05 for the NMVT, enter the following:
SV05 = PRINTF("0B0509100004#<%s#>0040", $V2);
Using the PRINTF syntax, the %s format specifier is substituted with the value of
the $V2 variable, which is TEC. The escaped braces tell the event receiver not to
translate the TEC string into numeric format, and again the following subvector
produced is identical to that produced in the first two examples:
0B0509100004E3C5C30040
Any time you need to assign data that came from the original EIF event to the
output subvector, you will likely need to use the PRINTF syntax with string
translation disabled. However, it is possible that the incoming event has, as an
event attribute value, the string E3C5C3 instead of the string TEC. In this case, use
the following string to produce the desired NMVT subvector:
SV05 = PRINTF("0B0509100004%s0040", $V2);
The length of the subvector was coded directly into the string. Because there is no
variable information in the subvector, the length is coded directly into the event
attribute value within the CDS MAP segment. The length of the subvector might
not be known when the CDS file is created if variable data is used.
Consider the following example that inserts attribute list data into the subvector:
SV05 = PRINTF("0B0509100004#<%s#>0040", $V2);
In this example, the value of the $V2 variable was TEC; therefore, it has a length of
3. This was used to calculate the total subvector length (0B), the subfield 10 length
(09), and the resource name length (04). In reality, the length of the value of the
$V2 variable will be unknown until the event arrives.
To enable the event receiver to calculate the length of a portion of the subvector
string, use curly braces {} around that portion of the string. The curly braces must
be escaped with the escape character #. The curly braces are removed from the
string when the length is calculated, but the opening curly brace is the place
holder in the subvector string for the length field.
Where the ellipsis represents all data yet to be translated into the subvector. Next,
the segment #{TEC#} is used to calculate the length of the resource name entry.
The first #{ is replaced with the length of the segment, the matching #} is
removed. Next, the segment #{100004TEC0040#} is used to calculate the length of
the subfield 10 entry.
Again, the #{ is replaced with the length of the segment, the matching #} is
removed. Finally, the segment #{05091000100004TEC0040#} is used to calculate the
length of the entire subvector 05.
If any single slot/value pair is larger than what an SV 31 will allow, the slot/value
string is continued in additional SV 31s. The last character of a continued SV 31
will contain a + (plus sign) to indicate that it is continued into the next SV 31. The
+ (plus sign) must be in character position 255 of the SV 31 to signify continuation;
otherwise, the + (plus sign) is interpreted as part of the text message.
CONTINUE Slot
This event attribute is used to enable the matching of multiple CDSs to create a
single pseudo event. A full description of this multiple pass process on the CDS
file is given in “Matching Multiple CDSs to Create the Pseudo Event” on page 147.
This event attribute can have a value of either NEXT or GROUPxxx, where xxx is
a value in the range of 000–999.
The value of this event attribute is used to update the value in the $CDS_GROUP
keyword. This keyword defaults to a value of GROUP001. If the value of a
CONTINUE event attribute is NEXT, $CDS_GROUP is updated by adding a 1 to
the three numeric digits at the end of the value. If the current value of
$CDS_GROUP is GROUP001, and a CONTINUE event attribute with a value of
NEXT is encountered in a MAP segment, the new value of the $CDS_GROUP
keyword will be GROUP001.
If the value of the CONTINUE event attribute is GROUPxxx, this value is used to
replace the $CDS_GROUP value only if the numeric digits in the event attribute
value are greater than the numeric digits in the current $CDS_GROUP value.
SF21 Slot
This event attribute is used to override the code point in any Subfield 21s that are
in the SV 31s used to send the original EIF event. The value of this event attribute
must be as follows:
attributeName=codepoint
Where attributename is the name of any generic attribute in the input attribute
list, and codepoint is a 2-digit hexadecimal string that defines the value to be
placed in the SF 21 that is associated with the SV31 for the named generic
attribute.
Like the SV event attribute, the SF21 must only be prefixed with the string SF21;
any characters after this prefix are ignored.
One-Pass Method
The event adapters will run through all of the statements in a CDS file until either
one statement is matched or the end of the file is reached without a match. The
MAP segment of that single matching CDS is then used to create the event
attribute/value pairs that will go into the outgoing EIF event.
Although this same one-pass process can be used to create any of the pseudo
events that will be translated into an alert, it can result in a cumbersome CDS file.
To illustrate this, consider the following example.
From an incoming event, create an alert that has various combinations of SV 05s
and SV 92s based on event attribute/value pairs in the event. For the SV 05
creation, you look for the presence of two event attributes -- resource1 and
resource2. The following four CDSs map the SV 05:
CLASS SV05_1
SELECT
1: ATTR(=,resource1);
2: ATTR(=,resource2);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0084#{#<%s#>#}0040#}#}", $V1, $V2);
END
CLASS SV05_2
SELECT
1: ATTR(=,resource1);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0084#}#}", $V1);
END
CLASS SV05_3
SELECT
1: ATTR(=,resource2);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0040#}#}", $V1);
END
CLASS SV05_4
SELECT
1: ATTR(=,$CLASSNAME);
MAP
SV05 = "#{05#{1000#{#<NONE#>#}0084#}#}";
END
To produce the four different event attributes, different SELECT segments must be
used to inspect for the presence of these event attributes; therefore, there will be 4
different CDSs in the CDS file. Only one of these SV 05s will be in the pseudo
event. The last CDS uses the $CLASSNAME keyword as a default. This keyword
will always be present, so the last CDS will be selected if none of the other CDSs
are matched.
CLASS SV92_3
SELECT
1: ATTR(=,severity), VALUE(=,HARMLESS);
MAP
SV92 = "0B92010002FE0300000000"
END
CLASS SV92_4
SELECT
1: ATTR(=,$CLASSNAME);
MAP
SV92 = "0B92010012FE0300000000"
END
Again, this requires 4 different CDSs to produce one and only one of these 4
different event attributes.
To produce a single pseudo event that can have any combination of the previous
SV 05s and SV 92s using one pass through the CDS file requires 16 different CDS
statements. The multiplication of the 4 statements needed to produce a unique
SV05 and the 4 statements needed to produce a unique SV 92. Each of the 16 MAP
segments has a single SV 05 and SV 92, representing all of the combinations that
can occur. The four CDSs that represent both resources in combination with the
various SV 92s are:
CLASS SVBOTH_1
SELECT
1: ATTR(=,resource1);
2: ATTR(=,resource2);
3: ATTR(=,severity), VALUE(=,FATAL);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0084#{#<%s#>#}0040#}#}", $V1, $V2);
SV92 = "0B92010001FE0300000000"
END
CLASS SVBOTH_2
SELECT
1: ATTR(=,resource1);
2: ATTR(=,resource2);
3: ATTR(=,severity), VALUE(=,WARNING);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0084#{#<%s#>#}0040#}#}", $V1, $V2);
SV92 = "0B92010011FE0300000000"
END
CLASS SVBOTH_3
SELECT
1: ATTR(=,resource1);
2: ATTR(=,resource2);
3: ATTR(=,severity), VALUE(=,HARMLESS);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0084#{#<%s#>#}0040#}#}", $V1, $V2);
SV92 = "0B92010002FE0300000000"
END
When other subvectors that need to be placed in the same output NMVT are
added, the number of needed CDSs and the duplication of event attribute
mappings in the MAP segment grows considerably.
Multiple-Pass Method
To alleviate this problem, the event receiver makes multiple passes though the CDS
file and collects separate mappings from each segment that it matches for the one
pseudo event that is created. The $CDS_GROUP keyword and the CONTINUE
event attribute are used to control the multiple pass method.
Each pass starts at the beginning of the CDS file. If a CDS is matched that contains
a valid CONTINUE event attribute, at least one more pass will be made through
the CDS file. If a CDS is matched that does not have a CONTINUE statement, or
no CDS is matched, that pass will be the last pass through the CDS file and all of
the event attributes collected to this point are used to create the pseudo event.
EVERY CDS SELECT segment MUST have one statement that looks for the
$CDS_GROUP keyword to be equal to a string in the range of
GROUP001–GROUP999. By default, the initial value of the $CDS_GROUP keyword
is GROUP001, so the first CDS statement matched must look for this keyword to
be equal to GROUP001.
When a CDS is matched, the CONTINUE event attribute definition in the MAP
segment of that CDS controls whether another pass will be made to match another
CDS. The CONTINUE event attribute will cause the value of the $CDS_GROUP
keyword to change to a specific value (CONTINUE = GROUP004) or to the next
numeric value (CONTINUE = NEXT). If a specific value is given, it must be greater
than the current value of the $CDS_GROUP keyword.
To illustrate the usage of the $CDS_GROUP keyword and the CONTINUE event
attribute, using the previous example, fill in the keyword and event attribute as
follows:
CLASS SV05_1
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,GROUP001);
2: ATTR(=,resource1);
3: ATTR(=,resource2);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0084#{#<%s#>#}0040#}#}", $V2, $V3);
CONTINUE = NEXT;
END
CLASS SV05_2
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,GROUP001);
2: ATTR(=,resource1);
MAP
SV05 = PRINTF("#{05#{1000#{#<%s#>#}0084#}#}", $V2);
CONTINUE = NEXT;
END
CLASS SV05_4
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,GROUP001);
MAP
SV05_4 = "#{05#{1000#{#<NONE#>#}0084#}#}";
CONTINUE = NEXT;
END
CLASS SV92_1
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,GROUP002);
2: ATTR(=,severity), VALUE(=,FATAL);
MAP
SV92 = "0B92010001FE0300000000"
END
CLASS SV92_2
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,GROUP002);
2: ATTR(=,severity), VALUE(=,WARNING);
MAP
SV92 = "0B92010011FE0300000000"
END
CLASS SV92_3
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,GROUP002);
2: ATTR(=,severity), VALUE(=,HARMLESS);
MAP
SV92 = "0B92010002FE0300000000"
END
CLASS SV92_4
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,GROUP002);
MAP
SV92 = "0B92010012FE0300000000"
END
When an EIF event arrives to be translated, the first subvector created is the SV 05
subvector. Because the initial value of the $CDS_GROUP keyword is GROUP001,
the SELECT segments for all of the CDSs that create the SV 05 will look for this
value. If none of the first three CDSs in this group are selected, the fourth will be
selected by default. Because these CDSs define a CONTINUE event attribute with
a value of NEXT, the value of the $CDS_GROUP keyword will be updated to
GROUP002, and another pass will be made through the CDSs to attempt to match
on another CDS.
All of the SV 05 CDSs will now be ignored, because the $CDS_GROUP keyword is
another value. Without this gate, the same SV 05 CDS would continue to be
matched indefinitely. An SV 92 CDS will be matched next. The GROUP002 value
for the $CDS_GROUP keyword determines this. Because none of the SV 92 CDSs
have a CONTINUE event attribute, this will be the last pass made through the
CDS file.
Each SV 31 contains an element of the original event: the class name, an event
attribute/value pair, or the END designator. Formatted on an NPDA screen, a
simple CDS example follows (assuming that the original event had a class name of
SAMPLE):
ORIGINAL T/EC EVENT:
SAMPLE;
resource1=FIRSTRES;
resource2=SECNDRES;
severity=WARNING;
END
You can change which SV 31 is associated with the alert description or probable
causes using the SF21 event attribute. This event attribute contains the name of an
attribute from the input attribute list (which must be an event attribute value from
the incoming EIF event), followed by an equal (=) sign, followed by a one byte
hexadecimal codepoint. For example, if you want to associate an event attribute
called eventdetail from the incoming event with the alert description, code the
following CDS:
CLASS SF21_1
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,"GROUP001");
2: ATTR(=,eventdetail);
MAP
SF21_1 = PRINTF("%s=21",$N2);
END
When the SV 31 list is built, the data in the event attribute/value pair named by
eventdetail will be associated with the alert description.
Alert or Resolve
The value of the $NMVT_TYPE keyword indicates whether the NMVT will be an
alert NMVT (type 0000) or a resolve NMVT (type 0002). This keyword defaults to
an alert NMVT. If the NMVT_TYPE event attribute is set within any matched CDS,
the value of the $NMVT_TYPE keyword is set to this event attribute.
If the same event attribute name is used more than once, the value of the last one
is used as the value of the event attribute. Therefore, if you need multiple
subvectors of the same type, name the event attributes with this subvector data
uniquely. Using SV10 as the event attribute name for more than one SV 10 is not
valid, because all preceding event attributes will be overwritten in the event
attribute list. Use unique names such as SV10_1, SV10_2, and so forth.
The names for subvector event attributes do not necessarily correspond to the
subvector. The value of an event attribute that you name as SV10_1 can contain
data for a completely different subvector. The value of the subvector event
attribute determines the subvector type, not the name of the event attribute.
Example
The following example uses the default event receiver service CDS file
(IHSAECDS) provided in the Event/Automation Service.
Assume that the following EIF event was received by the event receiver:
SNA_Performance_Degraded;source=NV390ALT;origin=B3088P2;
sub_origin=TX12/DEV;hostname=USIBMNT.NTVED;adapter_host=NMPIPL06;
date=OCT 29 16:32:52;severity=WARNING;msg=PERFORMANCE DEGRADED:
CONTROLLER;adapter_host_snanode=USIBMNT.NTVED;
event_type=NOTIFICATION;arch_type=GENERIC_ALERT;
product_id=3745;alert_id=00000009;
block_id=’’;action_code=’’;alert_cdpt=4000;
self_def_msg=[ALRTTXT2];event_correl=[N/A];
incident_correl=[N/A];adapter_correl=E7735930A;END
The first group in the CDS file is GROUP001; these CDSs determine the NMVT
type. Because there is not a status event attribute in the incoming EIF event, the
NMVT_TYPE event attribute and the $NMVT_TYPE keyword are set to the value
ALERT. Because CONTINUE=NEXT is specified in the MAP segment, the $CDS_GROUP
keyword is set to GROUP002.
The next group in the CDS file defines the SV 93. None of the information in the
original event determines the value of the SV 93; the value of this subvector is as
follows:
0493FE03
The next group in the CDS file defines the SV 05. The example event will match on
the class SV05_4, it has a host name, origin, and source event attribute, but not a
probe event attribute. After PRINTF and translation, the value of this subvector
follows:
2A052810000EE4E2C9C2D4D5E34BD5E3E5C5C4008408C2F3F0F8F8D7F200F509D5E5F3F9F0C1D3E30040
The next group in the CDS file defines the SV 10. None of the information in the
original event determines the value of the SV 10; the value of this subvector
follows:
1C10001911040506C7C5D40908F5F6F9F7C2F8F3080FE3C9E5D6D3C9
The next group in the CDS file defines the SV 92. The example event will match on
the class SV92_4, it has severity=WARNING and the $NMVT_TYPE is set to ALERT.
The value of this subvector follows:
0B92010011FE0300000000
The alert ID portion of this subvector (the last 4 bytes) will be calculated and filled
in by the event receiver. CONTINUE=NEXT is specified in the MAP segment. The
$CDS_GROUP keyword is set to GROUP006.
The next group in the CDS file defines the SV 97. The example event will match on
the class SV97_1, the $NMVT_TYPE is set to ALERT. The value of this subvector
follows:
0A970881200035003000
The last group in the CDS file defines another SF 21. The example event will match
on this last CDS, the severity event attribute is present in the event. The value of
this subfield override follows:
severity=22
The $BUILD_SV31LIST keyword is still set to YES. The NMVT built from the
previous process follows:
03D800002B310602028000000512C5D5E40321001B30E2D5C16DD7859986969994819583
856DC4858799818485845E22310602028000000512C5D5E40321001230A296A49983857E
D5E5F3F9F0C1D3E35E4A310602028000000512C5D5E40321003A309699898789957EC2F3
F0F8F8D7F261E2D76BD5C1D761E3D76BC4C5C3D5C5E361E3C5D9D46BD9C1D3E5F461C4C5
E56BE3E7F1F261C4C5E55E26310602028000000512C5D5E40321001630A2A4826D969989
8789957EE3E7F1F261C4C5E55E29310602028000000512C5D5E403210019308896A2A395
8194857EE4E2C9C2D4D5E34BD5E3E5C5C45E28310602028000000512C5D5E40321001830
81848197A385996D8896A2A37ED5D4D7C9D7D3F0F65E27310602028000000512C5D5E403
210017308481A3857ED6C3E340F2F940F1F67AF3F27AF5F25E23310602028000000512C5
D5E40321221330A285A5859989A3A87EE6C1D9D5C9D5C75E36310602028000000512C5D5
E4032121263094A2877ED7C5D9C6D6D9D4C1D5C3C540C4C5C7D9C1C4C5C47AC3D6D5E3D9
D6D3D3C5D95E35310602028000000512C5D5E4032100253081848197A385996D8896A2A3
6DA29581959684857EE4E2C9C2D4D5E34BD5E3E5C5C45E2A310602028000000512C5D5E4
0321001A3085A58595A36DA3A897857ED5D6E3C9C6C9C3C1E3C9D6D55E2A310602028000
000512C5D5E40321001A30819983886DA3A897857EC7C5D5C5D9C9C36DC1D3C5D9E35E22
310602028000000512C5D5E4032100123097999684A483A36D89847EF3F7F4F55E243106
02028000000512C5D5E4032100143081938599A36D89847EF0F0F0F0F0F0F0F95E1E3106
02028000000512C5D5E40321000E3082939683926D89847E7D7D5E213106020280000005
12C5D5E403210011308183A38996956D839684857E7D7D5E22310602028000000512C5D5
E4032100123081938599A36D838497A37EF4F0F0F05E2A310602028000000512C5D5E403
21001A30A28593866D8485866D94A2877EADC1D3D9E3E3E7E3F2BD5E2531060202800000
0512C5D5E4032100153085A58595A36D8396999985937EADD561C1BD5E28310602028000
000512C5D5E4032100183089958389848595A36D8396999985937EADD561C1BD5E2B3106
02028000000512C5D5E40321001B3081848197A385996D8396999985937EC5F7F7F3F5F9
F3F0C15E15310602028000000512C5D5E40321000530C5D5C40493FE032A052810000EE4
E2C9C2D4D5E34BD5E3E5C5C4008408C2F3F0F8F8D7F200F509D5E5F3F9F0C1D3E300401C
10001911040506C7C5D40908F5F6F9F7C2F8F3080FE3C9E5D6D3C90B92010011FE030000
00000A970881200035003000
If you want to use the original ASCII string value of the generic keyword in the
outgoing alert, the ASCII string 414243 needs to be converted back to the character
Within the value encoding, inside the double quotes for the value of the subvector
event attribute (whether in a PRINTF or not), this escape set is used to delimit data
that is considered to be the character representation of hex data that, in turn, is
ASCII character data. Data delimited in this way is turned into EBCDIC character
data and placed within the value of the subvector event attribute. For example, if
you had the following event attribute assignment in a Class Definition Statement:
SV05 = "0B0509100004#[414243#]0040"
The encoding of this event attribute value into an actual hexadecimal alert
subvector would produce:
0B0509100004C1C2C30040
If data within the range delimited by the escape sequences turns out not to be
character representations of hex data that are ASCII characters, then the conversion
to EBCDIC will fail, and the translation of the trap (and thus, building of the
alert/resolve) is terminated and the trap is discarded. Note that if other escape
sequences occur following "#[" and before "#]" is encountered, they are simply
treated as characters that are put into the subvector, which would later fail
conversion to hex then EBCDIC, because they aren't character representations of
hex digits. Also, if "#[" or "#]" occur following the "#<" escape sequence, which
"turns off" translation of character representations of hex digits to hex data in the
subvector, and before "#>", which "restores" that translation mode, then "#[" and
"#]" are simply treated as untranslated character data, and not escape sequences.
As an example, suppose that the data type of a value in the trap was found to be
that of an IP address. The trap-to-alert conversion task would turn this into a
string which was the IP address. The following data types can be assigned to data
in an SNMP trap, and the corresponding string to which it is translated.
integer
signed decimal number string. The integer 30 becomes the EBCDIC string
"30"
null a pair of single quotes in EBCDIC. This becomes the EBCDIC string """.
octet string
hexadecimal data string. The hex string 313233 becomes the EBCDIC string
"313233".
object identifier
ASN.1 data in dotted decimal notation format. The object 2C010306
becomes the EBCDIC string "1.4.1.3.6".
printable string
an EBCDIC string
When the value is not one of the data types listed, then that value is treated as if it
had a data type of octet string. Also, if the data type of the value in the binding is
a complex structure like SEQUENCE OF (something that should not happen), then
the value is treated as if it had the null data type.
The following example uses the default trap-to-alert service CDS file (IHSATCDS)
supplied with the Event/Automation Service. Assume that the following trap data
is received by the trap-to-alert conversion task (words separated for readability).
303B0201 00040670 75626C69 63A42E06
0C2B0601 14011203 01020101 03400449
B5203F02 01050201 00430100 300F300D
06082B06 01120108 07000201 30
Also assume that the IP address and port associated with the agent originating the
trap is 9.50.20.8 and 161, respectively.
The trap data is first coded into corresponding keyword and generic attributes for
the input attribute list. The encoded string attributes are:
$ORIGIN_ADDR 9.50.20.8
$ORIGIN_PORT 161
$SNMP_VERSION 0
community public
enterpriseOID
1.3.6.1.20.1.18.3.1.3.1.1.3
agent_address 73.181.32.63
generic_trap 5
specific_trap 0
timestamp 0
1.3.6.1.18.1.8.7.0 30
The first group in the CDS file is GROUP001; this CDS determines the NMVT type
and BUILD_SV31LIST setting. Since this trap is not a Multi-System Manager trap,
the generic formatting done by the CDS file IHSATALL is used. The NMVT_TYPE
event attribute (and therefore, the $NMVT_TYPE keyword) is set to the value
ALERT. The BUILD_SV31LIST event attribute (and therefore, the
$BUILD_SV31LIST keyword) is set to the value YES. Since CONTINUE=NEXT is
specified in the MAP segment, the $CDS_GROUP keyword is set to GROUP002.
The next group in the CDS file defines the SV 92. The value of this subvector is:
0B92080012FE0000000000
The next group in the CDS file defines the SV 05. After PRINTF and translation,
the value of this subvector is:
22050E100009F7F34BF1F8F14BF300811211000DF7F34BF1F8F14BF3F24BF6F30081
The next group in the CDS file defines the SV 10. The value of this subvector is:
5A1000281103030000220EE261F3F9F040D78199819393859340C595A3859997
9989A28540E28599A585992F11040804F0F1F0F3F0F01B06E389A596938940D5
85A3E58985A64086969940D6E261F3F9F00908F5F6F9F7C2F8F2
The next group in the CDS file defines another SV 10, which contains information
about the resource reporting the trap. The value of this subvector is:
2C10000F1109030000090EA495929596A6951A110C0E02F0F0F0F0F0F0F0F0F0
F0F0F00906A495929596A695
The next group in the CDS file defines the SV 93 and SV 97. The values of these
subvectors are:
0493FE000
A970401210004810000
The last group in the CDS file defines the SV 98. The enterpriseOID, specific trap,
and generic trap values are added as information in this subvector. The value of
this subvector is:
severity=22
The $BUILD_SV31LIST keyword is still set to YES, the actual NMVT built from the
previous process is:
027B000029310602028000000512C5D5E40321001930D6D9C9C7C9D56DC1C4C4D97EF94B
F6F74BF5F04BF1F85E23310602028000000512C5D5E40321001330D6D9C9C7C9D56DD7D6
D9E37EF1F0F3F45E21310602028000000512C5D5E40321001130E2D5D4D76DE5C5D9E2C9
D6D57EF05E29310602028000000512C5D5E4032100193083969494A49589A3A87EF7F0F7
F5F6F2F6C3F6F9F6F35E3C310602028000000512C5D5E40321002C308595A38599979989
A285D6C9C47EF14BF34BF64BF14BF2F04BF14BF1F84BF34BF14BF24BF14BF14BF35E2D31
0602028000000512C5D5E40321001D3081878595A36D8184849985A2A27EF7F34BF1F8F1
4BF3F24BF6F35E21310602028000000512C5D5E40321001130878595859989836DA39981
977EF55E22310602028000000512C5D5E40321001230A2978583898689836DA39981977E
F05E1E310602028000000512C5D5E40321000E30A3899485A2A38194977EF05E28310602
028000000512C5D5E40321001830F14BF34BF64BF14BF1F84BF14BF84BF74BF07EF4F85E
0B92080012FE00331AA4A122050E100009F7F34BF1F8F14BF300811211000DF7F34BF1F8
F14BF3F24BF6F300815A1000281103030000220EE261F3F9F040D78199819393859340C5
95A38599979989A28540E28599A585992F11040804F0F1F0F3F0F01B06E389A596938940
D585A3E58985A64086969940D6E261F3F9F00908F5F6F9F7C2F8F22C10000F1109030000
Since port 162 is a "well-known" port for SNMP managers, and there may be
multiple SNMP manager applications that are interested in trap data, this sort of
port assignment can cause a conflict. To help resolve any conflicts, there is also a
sample datagram forwarding daemon, IHSAUFWD, and an associated sample
configuration file, IHSAUCFG, that are shipped with the Event/Automation
Service. The daemon receives data on a datagram socket and forwards that data to
the destinations given in the configuration file.
Most SNMP agents are set to forward traps to the trap manager at port 162.
IHSAUFWD can use this port to receive the trap data for all interested managers
and then forward this data to the managers. These managers can be on the local
system or at any IP address on the network.
For more information about how to use and customize the forwarding daemon, see
the comments in the IHSAUFWD sample.
Generally, you will need to know something about the information the SNMP trap
contains in order to parse the trap and transfer the most useful of the information
to the alert NMVT so that the processing of the alert NMVT will be the most
effective. Documentation associated with the entities emitting the SNMP traps may
contain this kind of information. It may also be obtained by a trace that is active
when the SNMP trap flows, such as the IP data trace of the Event/Automation
Service or a z/OS Communications Server packet trace.
Knowing what information to expect in the SNMP trap, you then create the class
definition statements necessary to extract the interesting information from the trap
and construct the alert NMVT. Of course, if you are also using Multisystem
Manager's IP management functions, you will want to ensure that your new
definitions are integrated so that Multisystem Manager's IP management functions
still work. The class definition statements in this example are designed so that
theycan be placed in sample member IHSATUSR and work with the sample
definitions provided by the NetView program in IHSATCDS and the other
members it includes.
This example starts with an SNMP trap that is emitted for an uninterruptible
power supply problem. The data is shown in hex and has been separated and
annotated to make the trap contents more clear.
*
* Outermost constructor for the trap (tag and length)
*
30820127
* SNMP version (00 = SNMPv1)
020100
* Community name (public)
04067075626C6963
* Trap PDU
A4820118
* Enterprise object ID (1.3.6.1.4.1.12270)
06072B06010401DF6E
* Agent address (10.71.225.20)
40040A47E114
* Generic trap code (6 = enterprise specific)
020106
* Specific trap code (32 in decimal)
020120
* Timeticks
430402A2D49D
* Variable bindings "container"
308200F9
* Variable binding 1
3015
* Variable 1 (1.3.6.1.4.1.12270.200.2.1.1.1)
060D2B06010401DF6E814802010101
* Value 1 (octet string "1493")
040431343933
* Variable binding 2
3019
* Variable 2 (1.3.6.1.4.1.12270.200.2.1.1.2)
060D2B06010401DF6E814802010102
* Value 2 (octet string "/L20/O50")
Knowing that this type of SNMP trap will always contain these variable bindings
and that the values, at least of the interesting variables, will always be the same
kind of data, you can use these class definition statements provide a way to
convert the SNMP trap to an alert NMVT. These sample statements contain
additional commentary to explain the trap data transferred to the NMVT.
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,"GROUP001");
2: ATTR(=,specific_trap), VALUE(=,"32");
MAP
#
# |-- First pass sets desire for alert NMVT
NMVT_TYPE = ALERT;
#
# |-- For this, we don’t want SV x’31’ set
# | We’ll build our own SV x’31’ later
BUILD_SV31LIST = NO;
#
# |-- Alert description code-point
# | I chose X’1501’ LOSS OF EQUIPMENT COOLING
# | to illustrate.
SV92 = "#{92080001150100000000#}";
#
# Hardware and software information for alert builder
# (basically hard-coded and uses our software product name,
# because E/AS is building the alert NMVT)
#
# Note that the line beginning SV10_1 and the line beginning SV10_2 should be
# coded on continuous lines up to and including the semicolon character
SV10_1 = "#{1000#{1103#{0000#}#{0E#<S/390 Parallel Enterprise Server#>#}#}#
{1104#{02#<5697-ENV0000#>#}#{04#<050200#>#}#{06#<Tivoli NetView for z/OS#}#}#}";
SV10_2 = "#{1000#{1109#{0000#}#{0E#<UPS system#}#}#{110C#{02#<000000000000#>#}#
{06#<unknown#}#}#}";
#
# |-- Probable cause code-point
# | x’0301’ COOLING FAN chosen to illustrate.
# |
SV93 = "#{930301#}";
#
# |-- Failure cause code-point
# | X’0301’ COOLING FAN chosen to illustrate
# |
# | |-- Recommended action code-point
# | | X’0300’ CHECK FOR DAMAGE and
# | | X’1800’ REPLACE DEFECTIVE EQUIPMENT
# | | to illustrate
SV96 = "#{96#{010301#}#{8103001800#}#}";
#
# |-- Keep going to next pass (GROUP002, for example)
CONTINUE = NEXT;
END
#
# Second pass for our UPS trap - defer to third pass, where we will
# use the generic subvector X’05’ (hierarchy/resource list)
# construction from member IHSATALL.
#
CLASS IHSATUSR_UPS2
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,"GROUP002");
2: ATTR(=,specific_trap), VALUE(=,"32");
MAP
# |-- Tells trap to alert to continue to third pass
CONTINUE = NEXT;
END
#
# Defer subvector X’05’ definition to GROUP003 generic CLASS
SELECT
1: ATTR(=,$CDS_GROUP), VALUE(=,"GROUP004");
2: ATTR(=,generic_trap);
3: ATTR(=,specific_trap), VALUE(=,"32");
4: ATTR(=,"1.3.6.1.4.1.12270.200.2.1.1.1");
5: ATTR(=,$ORIGIN_ADDR);
6: ATTR(=,$ORIGIN_PORT);
7: ATTR(=,community);
8: ATTR(=,enterpriseOID);
9: ATTR(=,agent_address);
10: ATTR(=,timestamp);
11: ATTR(=,"1.3.6.1.4.1.12270.200.2.1.1.2");
12: ATTR(=,"1.3.6.1.4.1.12270.200.2.1.1.3");
13: ATTR(=,"1.3.6.1.4.1.12270.200.2.1.1.5");
MAP
# │-- Special detail data = hard-code
# │ enterprise information
# │ │-- Special detail data
# │ │ = generic trap code
# │ │
# │ │ │-- Special
# │ │ │ detail data
# │ │ │ = specific
# │ │ │ trap code
# │ │ │
# │ │ │
For details of the class definition statement processing, see “Multiple-Pass Method”
on page 149 as well as “Trap-to-Alert Post-CDS Processing” on page 158.
Assuming that the hardware monitor recording filters allow the alert NMVT to be
saved, the alert NMVT produced by the trap-to-alert conversion process would
look like this in hardware monitor event detail.
N E T V I E W SESSION DOMAIN: CNM01 NETOP2 08/19/10 13:27:17
NPDA-43S * EVENT DETAIL * PAGE 1 OF 4
NTV90 10.71.22
+--------+
DOMAIN | SP |
+--------+
SEL# TYPE AND NAME OF OTHER RESOURCES ASSOCIATED WITH THIS EVENT:
( 1) SP 10.71.225.20
PROBABLE CAUSES:
COOLING FAN
NTV90 10.71.22
+--------+
DOMAIN | SP |
+--------+
QUALIFIERS:
1) ENTERPRISE Ent_Name
2) SNMP GENERIC-TRAP NUMBER 6
3) SNMP SPECIFIC-TRAP NUMBER 32
Community = public
NTV90 10.71.22
+--------+
DOMAIN | SP |
+--------+
Timestamp = 44225693
1.3.6.1.4.1.12270.200.2.1.1.1 = 1493
1.3.6.1.4.1.12270.200.2.1.1.2 = /L22/O50
NTV90 10.71.22
+--------+
DOMAIN | SP |
+--------+
1.3.6.1.4.1.12270.200.2.1.1.3 = 2005-01-10T16:13:00
FLAGS:
SNMP TRAP
All non-variable binding information in the trap is put into the constructed trap by
the alert-to-trap service directly, without the opportunity to customize it using the
CDS file. The only exception to this is the specific trap value.
The specific type is taken from the value of the specific event attribute that is
created by the CDS processing.
All other slot/value pairs are encoded into variable bindings on the trap. If the
name of the slot in the alert-to-trap adapter CDS file is a valid object id, the slot
name is used as the object id in the variable binding and the value of the slot
becomes the value of the variable binding. If the slot name in the CDS file is not a
valid object id, an object id of 1.3.6.1.4.1.2.5.1.4.1.4.x is used for the variable
binding and the value of the variable binding is slot=value, where slot is the CDS
file slot name and value is the CDS file value. The value of x is an index starting at
1 that is increased by one for each variable binding in the trap.
For example, a CDS file MAP statement that maps the slot name
1.3.6.1.4.1.2.5.1.4.1.4.1 to the value examplevalue has a variable binding in the
final trap with an object id of 1.3.6.1.4.1.2.5.1.4.1.4.1 and a value of
examplevalue.
A CDS file MAP statement that maps the slot name source to the value examplevalue
has a variable binding in the final trap with an object id of
1.3.6.1.4.1.2.5.1.4.1.4.1 and a value of source=examplevalue. The object id in
this example assumes that there were no other variable bindings that required the
object id to be created by the alert-to-trap adapter, and therefore the starting index
for this object id is 1.
Considerations
The REXX programs for NetView instrumentation have been compiled with the
ALTERNATE option. If you access the REXX runtime library from NetView,
instrumentation REXX programs run in compiled mode. Otherwise, the REXX
alternate library is used and instrumentation REXX programs run in interpreted
mode. If the REXX runtime library or REXX alternate library is not accessible from
the pageable link pack area (PLPA), you must modify the NetView start procedure
to access one of these libraries.
Customization
The following samples were updated for application management instrumentation.
You might need to customize them for your environment.
v CNMSTYLE
Use CNMSTYLE %INCLUDE member CNMSTUSR or CxxSTGEN to add the
DSIAMIAT automation table and the AUTOAMI autotask. Also, copy the
TOWER statement from CNMSTYLE to CNMSTUSR or CxxSTGEN and remove
the asterisk (*) from the AMI tower.
v DSIAMIAT- in sample DSIPARM
A separate automation table for application management instrumentation. You
need to uncomment one of the following includes:
– %INCLUDE DSIAMIR - to route the BNH351-BNH354 messages to another
NetView program. Use this for NetView Version 2 Release 4 and Version 3
Release 1.
– %INCLUDE DSIAMIT - to route the BHN351-BNH354 messages to a message
adapter (the Event/Automation Service should be started). You might need to
modify the PPI receiver ID of your Event/Automation Service message
adapter (default is IHSATEC). The message adapter converts and sends the
messages to Tivoli Enterprise Console or Tivoli Netcool/OMNIbus, where
program rules format and send the converted messages to the Tivoli Business
Service Manager program.
Configure the message adapter by including IHSAAPMF in the message
adapter format file. Refer to theIBM Tivoli NetView for z/OS Installation:
Configuring Additional Components for more information.
Configure the Tivoli Enterprise Console event console or Tivoli
Netcool/OMNIbus by importing the files interapp.baroc and interapp_o.rls to
your rules base if they were not previously added by the ihsttec.sh script. See
the Tivoli Business Service Manager library for more information.
The INITAMI command also establishes a RMTCMD session with any NetView
system whose domain name is coded on the RMTLU statement in DSIAMII. This
will log on the AUTOAMI autotask on that NetView program.
The topology server can issue instrumentation-related commands after issuing the
TERMAMI command. However, the AUTOAMI autotask must be started for this to
work.
Define one ACB Monitor focal point for each System complex (or sysplex, the set
of z/OS systems). To fully enable instrumentation of application dynamics in a
sysplex environment, define all other images in the sysplex to be entry points of
that focal point.
By saving ACB data in DB2, you can query telnet clients by IP address, host name,
or application name (using the Locate TN3270 Client TBSM tasks). You can also
change your list of critical TN3270 client resources without restarting the ACB
Monitor.
Note:
Parts
The parts that are shipped as part of the ACB Monitor are listed in Table 17.
Table 17. Tivoli Business Service Manager parts list
Part Name Language Function
TN3270.BSDF MIF TN3270 business system description file
TN3270.BCDF MIF TN3270 business component description file
TN3270.BMDF MIF TN3270 business mapping description file
TN3270.CDF MIF TN3270 component definition file
Ltn3270loc.ddf DDF Locate TN3270 client local dialog definition
Ltn3270glob.ddf DDF Locate TN3270 client global dialog definition
TN3270.html HTML Help file
GENRSC.BSDF MIF Generic Resources business system description
file
GENRSC.BCDF MIF Generic Resources business component
description file
GENRSC.BMDF MIF Generic Resources business mapping
description file
GENRSC.CDF MIF Generic Resources component definition file
GENRSC.html HTML Help file
VTAMAPPL.BSDF MIF VTAM Application business system
description file
VTAMAPPL.BCDF MIF VTAM Application business component
description file
VTAMAPPL.BMDF MIF VTAM Application business mapping
description file
VTAMAPPL.CDF MIF VTAM Application component definition file
VTAMAPPL.html HTML Help file
To:
ACT,6,0,CONCT,6,3,RESET,6,3,INACT,6,2,UNKNOWN,6,2,PINACT,6,4,PACT,6,4
Or, if you want a WARNING threshold event to be issued when session counts
exceed 999, and a NORMAL threshold event when session counts fall below 1000,
change the following line:
MONITOR=(’SESSION COUNT’ 0,1,0 EVENT)
To:
MONITOR=(’SESSION COUNT’ 999,8,2,1000,9,0 EVENT)
6. Install the ACB Monitor VTAM exit. Link edit CSECT CNMIETMN into load module
ISTIETMN in the VTAMLIB DD for VTAM.
To start the VTAM ACB Monitor, issue the INITAMON command on the focal
point NetView. The focal point and all entry points identified on the
AMONLU=keyword will be activated.
After the VTAM ACB Monitor has been activated, issue the INITAMON
entry_point command, to activate an additional entry point, where entry_point is the
NetView domain name of the entry point.
When the RMTCMD LU 6.2 session between an entry point and the focal point
fails, the entry point is automatically stopped. When the error that caused the
communication failure between the two NetView programs has been corrected,
issue the INITAMON entry_point command on the focal point to recover the entry
point.
To stop a specific entry point, issue the TERMAMON entry_point command, where
entry_point is the NetView domain name of the entry point. Status for all of the
applications on the VTAM associated with that NetView system will be removed
from the database.
The HTML (including user-written HTML) can be divided between the web
application server (workstation) and the NetView for z/OS host. This can include
referencing workstation files from host HTML.
where web_application_server:port is the TCP host name and port number of the
HTTPS server on which the NetView web application is installed, netview is the
NetView web application context root, and domain_ID is the domain ID of the
NetView for z/OS program to which you want to connect.
The URL in the example is considered to be the base URL. If the URL contains a
question mark, any remaining data is considered query data and is not considered
to be part of the base URL.
For example, if you want to add a new group of tasks, add an ID for your group
to the webmenu.groups statement that already exists. To assign a name for your
group, use the webmenu.group_ID.name statement. To assign one or more tasks
(links) to your group, identify the IDs of your tasks with the
webmenu.group_ID.groups statement.
To launch a web site (such as http://www.ibm.com/), you must include http: (or
https:) and code each slash in the action statement, as shown in the following
webmenu statement:
webmenu.group_ID.task_ID.action = http:&slash;&slash;www.ibm.com/
Note:
1. For an example of launching a web site, see the webmenu statements for the
Launch Sample URL task in the CNMSTWBM member.
2. Ensure that user-defined uniform resource identifiers (URIs) do not contain 2
consecutive slashes; instead, a URI must specify 2 consecutive slashes in one of
the following ways:
v &SLASH;/
v /&SLASH:
v &SLASH;&SLASH;
In this case, the NetView program does not modify or add to the output. You can
create output using the pipe stage CONSOLE ONLY to prevent the logging and
automation of the HTML output.
To improve performance, you can place static HTML or binary files on the web
application server.
The NetView web application continues to process both the POST method and the
GET method in user-written HTML. If you are using the POST method, the
NetView web application changes it to a GET before processing. For the GET
method, all relevant data is placed in the query string portion of the URL and is
displayed at the top of the browser window. You can add a TITLE element in your
HTML so that the TITLE is displayed instead of the data in the query string.
Note: Color maps for hardware monitor help and command description panels are
available only in prior releases of the NetView. program. Also, color maps
beginning with BNJMP1 are no longer supported.
Table 18. Color Maps for Hardware Monitor Panels
Panel Name Panel Number Color Map
NPDA-30A BNJMP30A
Alerts-Dynamic NPDA-31A BNJMP31A
Alerts-History NPDA-30B BNJMP30A
Alerts-Static NPDA-02C BNJMP2C1
Common Format Glossary
Controller Information Display NPDA-02E BNJMP02E
Downstream Member of Token-Ring LAN Fault Domain NPDA-44B BNJMP4BH
DSU/CSU and Line Status DSU/CSU and Line Parameters Link NPDA-22C, page 1 BNJMPDL1
Segment Level n
DSU/CSU and Line Status Remote DSU/CSU Interface-Remote NPDA-22C, page 2 BNJMPDL2
Device Status-Link Segment Level n
DSU/CSU and Line Status Configuration Summary, Link Segment NPDA-22C, page 3 BNJMPDL3
Level n
NPDA-43B BNJMP43B
Event Detail NPDA-43M BNJMP43M
Event Detail NPDA-43N, 43Q BNJMP43N
Event Detail NPDA-43C BNJMP43C
Event Detail NPDA-43T BNJMP43T
Event Detail
NPDA-43A BNJMP43A
Event Detail NPDA-43P NPDA-43S BNJMP43P BNJMP43S
Event Detail NPDA-43T NPDA-43S BNJMP434 BNJMP433
Event Detail
Event Detail, alternate
Event Detail, alternate
NPDA-43T NPDA-43T BNJMP43T BNJMP43T
Event Detail for NPDA-43B NPDA-43B BNJMP43B BNJMP43B
BSC Line NPDA-43B BNJMP43B
Event Detail for BSC Station
Event Detail for BSC/SS Line
Event Detail for BSC/SS Station
Event Detail for Channel-Attached Station
NPDA-43B NPDA-43J BNJMP43B BNJMP43J
Event Detail for Channel Link NPDA-43K BNJMP43D
Event Detail for Instruction Exception NPDA-43G BNJMP43D
Event Detail for Miscellaneous Interrupts NPDA-43H BNJMP43D
Event Detail for Scanner-Type 1/4
Event Detail for Scanner-Type 2/3
Attention: Do not use as programming interfaces any NetView macros other than
those identified in this appendix.
Name Use
DSIBC NetView Bridge HLL C include file
DSIBCCALL NetView Bridge HLL C service routine definition
DSIBCCNM NetView Bridge HLL C return codes
DSIBCHLB NetView Bridge HLL C mapping of DSIHLB
DSIBPCNM NetView Bridge HLL PL/I return codes
DSIBPHLB NetView Bridge HLL PL/I mapping of DSIHLB
DSIBPHLS NetView Bridge HLL PL/I service routine definitions
DSIBPLI NetView Bridge HLL PL/I include file
DSIC Main HLL C include file
DSICCALL HLL C service routine definitions
DSICCNM HLL C return codes
DSICCONS HLL C constants
DSICHLB HLL C mapping of DSIHLB
DSICORIG HLL C origin block mapping
DSICPRM HLL C NetView bridge parameter block
DSICVARC HLL C varying length character strings
DSIPCNM HLL PL/I return codes
DSIPCONS HLL PL/I constants
DSIPHLB HLL PL/I mapping of DSIHLB
DSIPHLLS PL/I definitions for HLL service routines
DSIPLI Main HLL PL/I include file
DSIPORIG HLL PL/I origin block mapping
DSIPPRM HLL PL/I NetView bridge parameter block
EKG1ACCB PL/I RODM access block
EKG1ENTB PL/I RODM entity access information block
EKG1FLDB PL/I RODM field access information block
EKG1IADT PL/I abstract data types
EKG1IEEP PL/I external entry point declaration
EKG1IINC PL/I include statements
EKG1LOGT PL/I log record type definitions
EKG1TRAB PL/I RODM transaction information block
EKG11100 PL/I function block for EKG_ConnectLong
EKG11101 PL/I function block for EKG_Connect
EKG11102 PL/I function block for EKG_Disconnect
EKG11201 PL/I function block for EKG_Checkpoint
EKG11202 PL/I function block for EKG_Stop
EKG11302 PL/I function block for EKG_CreateClass
EKG11303 PL/I function block for EKG_DeleteClass
EKG11304 PL/I function block for EKG_CreateField
Name Use
CNMALTDATA Alter data on a queue
CNMAUTOTAB Invoke automation table
CNMCLOSMEM Close NetView partitioned data set
CNMCODE2TXT Code point translation
CNMCOMMAND Invoke NetView commands
CNMCOPYSTR Copy storage
CNMETINIT Initialize the server support
CNMETNEXT Get next transaction request
CNMETQUIESCE Quiesce the database
CNMETREADY Ready for next transaction
CNMETRPARM Get transaction request
CNMETTERM Terminate the Server support
CNMETWAIT Wait for a transaction request
CNMGETATTR Query message attributes
CNMGETDATA Data queue manipulation
CNMGETPARM Get transaction reply parameters
CNMHREGIST High performance transport application registration
CNMHSENDMU Send high performance message unit
CNMI CNMI access under a DST
CNMINFOC Query NetView character information
CNMINFOI Query NetView integer information
CNMKEYIO Keyed file access under a DST
CNMLOCK Control a lock
CNMNAMESTR Named storage
CNMOPENMEM Open NetView partitioned data set
CNMOPREP Resource object data manager
CNMPRSMDB Process message data block
CNMREADMEM Read NetView partitioned data set
Name Use
AAUTISAW Internal session awareness record
AAUTLOGR Structure map for NetView SMF log record
BNJTBRF Batch record format table
DSIAIFRO Automation internal function request object extension vector
DSIASYPN Asynchronous panel parameter list
DSICBH Control block header
DSICWB Command work block
DSIDSB Data services block
DSIDSRB Data services request block
DSIDTR Data transport Request block
DSIELB External logging block
DSIID NetView level identifier
DSIIFR Internal function request
DSILOGDS NetView log DSECT
DSIMVT Main vector table
DSIPDB Parse descriptor block
DSISCE System command entry
DSISCT System command table (include only)
DSISVL Service routine vector list (include only)
DSISWB Service work block
DSITECBR Branch table of ECB processor load module
DSITIB Task information block
DSITVB Task vector block
DSIUSE Installation exit parameter list
Name Use
DSIAUTO Automation services
DSIBAM Build automation message
DSIBAMKW Build automation message keyword
DSICBS Control block services
DSICES Command entry services
DSICVTHE Convert to hex
DSIC2T Translate alert code point to text
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 give you
any license to these patents. You can send license inquiries, in writing, to:
For license inquiries regarding double-byte (DBCS) information, contact the IBM
Intellectual Property Department in your country or send inquiries, in writing, to:
The following paragraph does not apply to the United Kingdom or any other
country where such provisions are inconsistent with local law:
Any references in this information to non-IBM Web sites are provided for
convenience only and do not in any manner serve as an endorsement of those Web
IBM may use or distribute any of the information you supply in any way it
believes appropriate without incurring any obligation to you.
Licensees of this program who wish to have information about it for the purpose
of enabling: (i) the exchange of information between independently created
programs and other programs (including this one) and (ii) the mutual use of the
information which has been exchanged, should contact:
IBM Corporation
2Z4A/101
11400 Burnet Road
Austin, TX 78758
U.S.A.
The licensed program described in this document and all licensed material
available for it are provided by IBM under terms of the IBM Customer Agreement,
IBM International Program License Agreement or any equivalent agreement
between us.
COPYRIGHT LICENSE:
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_. All rights
reserved.
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 http://www.ibm.com/legal/copytrade.shtml .
Java and all Java-based trademarks and logos are trademarks or registered
trademarks of Oracle and/or its affiliates.
UNIX is a registered trademark of The Open Group in the United States and other
countries.
Other product and service names might be trademarks of IBM or other companies.
This Software Offering does not use cookies or other technologies to collect
personally identifiable information.
If the configurations deployed for this Software Offering provide you as customer
the ability to collect personally identifiable information from end users via cookies
and other technologies, you should seek your own legal advice about any laws
applicable to such data collection, including any requirements for notice and
consent.
For more information about the use of various technologies, including cookies, for
these purposes, See IBM’s Privacy Policy at http://www.ibm.com/privacy and
IBM’s Online Privacy Statement at http://www.ibm.com/privacy/details the
section entitled “Cookies, Web Beacons and Other Technologies” and the “IBM
Software Products and Software-as-a-Service Privacy Statement” at
http://www.ibm.com/software/info/product-privacy.
Notices 189
190 Customization Guide
Index
Special characters APPLID NetView control variable 44
assembled command procedure 14
&CGLOBAL 44 attribute
&CUR 35, 57 symbols 39
&SUPPCHAR 49 variables 40
&TGLOBAL 44 audible alarm 86
&VIEWAID 50 automated operations
&VIEWCOLS 52 definition 1
&VIEWCURCOL 50 NetView automation 1
&VIEWCURROW 50 automation table
&VIEWICCOL 50 setting message color and highlighting 30
&VIEWICROW 50 VPDXDOM command list 106, 107
&VIEWROWS 52 autotask 108
&WAIT 108
A B
BGNSESS FLSCN command 46
access method 6, 14 block ID 78
accessibility xiii BNJALxxx sample table 77
ACTION command list 82, 86 BNJBLKID sample table 77
ACTION statement, SCRNFMT 28 BNJDNUMB 83
activate screen format definition 27 BNJDSERV task 104
actual panel name BNJPNL2 DD statement 85
adding 80 BNJPNL2 definition statement 103
changing panel text 80 BNJPROMP (prompt highlight token table) 90
adding functions 3 BNJRESTY member 103
AID (attention identification) information 50 BNJwwwww code point members 85
alert adapter service books
Event/Automation Service 109 see publications ix
alert-to-trap service BROWSE command, view help 66
Event/Automation Service 110
alerts
description 1, 92
generic C
alert table supplied with the NetView program 92 CANCEL option, UNIQUE command 49
build panel 93 change bars xv
description 92 class definition statement files 123
modify 77 CMD command 47
NMVT 91 CMD HIGH 57
recommended action code point 84 CMDLINE statement, SCRNFMT 30
record 77 CNM944I message 43
reference documentation, table 5 CNMI service 6, 14
sample record 93 CNMKEYS, modifying 26
message 77 CNMPNL1 DD statement 70
nongeneric CNMS1101 sample 60
messages 81 CNMSRESP source panel example 61
migration purposes 91 CNMSTYLE 167
modify 77 CNMVARS 44
sender 86 code point
user-defined 91, 92 alert description (BNJ92UTB) 100
Alerts-Dynamic panel 81 description 1
Alerts-History panel 77, 81 detail data (BNJ82UTB) 100
Alerts-Static panel 77, 81 failure cause (BNJ96UTB) 100
alias names install cause (BNJ95UTB) 100
definition 1 probable cause (BNJ93UTB) 100
reference documentation, table 5 recommended action (BNJ81UTB) 85, 100
alias panel name user cause (BNJ94UTB) 100
adding 80 code, VIEW command 35
determining 77, 78 color and highlighting fields, control 38
application management instrumentation 167 color buffer 87, 90
application, performance-critical 14
Index 193
input-capable (continued) modifying
INPUT 57 CNMKEYS 26
variable 50 existing function 3
installation exit immediate message line 25
interface 5 online help
programs 11 command 70
routine 5 message 70
routine. 14 procedures 66
setting message color and highlighting 30 regular 70
instrumentation 167 PF keys 25
considerations 167 modifying SPCS and NAM command lists
customizing 167 customization considerations 108
messages 167 NAM command list 105
starting 169 vital product data (VPD) collection
instrumentation, stopping 170, 173 focal point NetView 107
inventory data, collecting 105 single NetView domain 106
single physical unit 106
most recent events panel
L changing Event Description: Probable Cause text 81
identifying resources 77
languages, choosing 14
MSG option
LASTLINE statement, SCRNFMT 30
dynamic update capabilities 59
Launch Sample URL task 176
RESOURCE command output usage 60
limitations
MVS MPF table, setting message color and highlighting 30
background message color, 3270 30
customizing NCCF panel 27
displaying held messages 29
NORMQMAX statement value 29 N
setting message default colors 28 named variable 47
link-edit load module name 92 naming convention
links message help 65
web application portfolio, adding 175 naming online help 70
LOADCL command 15 National Language Support
local variable, REXX 44 kanji feature 2
lock/unlock indicator, NCCF panel 30 message translations 2
LOCKIND statement, SCRNFMT 30 reference documentation, table 5
logging facilities 7 NCCF panel, customizing 27
logging method 16 NetView
automation table 106, 107
component, definition 47
M log 43
panel library 92
macros, product-sensitive 185
NetView command facility panel 27
managing additional component 3
network
manuals
log 16
see publications ix
management data 5
message adapter service
qualified procedure correlation identifier 100
Event/Automation Service 109
network asset management (NAM) command list
message buffers 10
modifying 108
message color default value, specifying, SCRNFMT 27
VPDACT command list 106
message help
VPDDCE command list 106
copying 66
VPDLOGC command list 106
locating source files 65
VPDPU command list 105
modifying 70
VPDXDOM command list 106
naming convention 65
new management function 3
storing 70
new online help
messages
creating 69
color and highlighting 30
storing 70
cross-reference 17
structuring conventions 69
default colors 28
NMVT (network management vector transport) 91
held and action area, NCCF panel 29
NOINPUT option
held, NCCF panel warning 29
creating rollable components 47
queued for later display 29
definition 35
specifying infinite queues 29
displaying online help panels 36
migration 91
return command line input 56
MINOR option 47
NOMSG option 37
MLINDENT statement, SCRNFMT 29
nongeneric alerts 91
NOPREFIX statement, SCRNFMT 28
Index 195
S sequential logging (continued)
reference documentation, table 5
screen format definition (SCRNFMT) service xiii
command facility panel attributes 27 service level reporter (SLR) 108
customizable fields service management connect xiii
COLUMNHEAD line 28 serviceable component identifier 84
command area 30 session monitor data
command entry indicator 30 definition 2
current date 28 performance classes 2
domain identifier 28 reference documentation, table 5
held and action message area 29 response time monitor (RTM) 2
immediate message area 30 SHOWCODE command list 38
indentation 29 SMC xiii
lock/unlock indicator 30 SMF log 5
operator identifier 28 SMF logging failure 106
output area 28 SMF record format, changing 108
separator line 30 SMF record number 108
system states 28 source, help
time of last display 28 building 69
title area 28 definition 66
message color default value 27 locating 65
SCRNFMT (screen format definition) modifying 70
command facility panel attributes 27 structure 69
customizable fields viewing 66
COLUMNHEAD line 28 source, helps
command area 30 sample panel 32
command entry indicator 30 specialized disk service 6, 14
current date 28 START DOMAIN command 107
domain identifier 28 START record 106, 107
held and action message area 29 START VPDTASK 107
immediate message area 30 STARTCNM NPDA 104
indentation 29 status area, NCCF panel 28
lock/unlock indicator 30 STOP TASK 104
operator identifier 28 storing new or modified help 70
output area 28 subcommands, VIEW 57
separator line 30 support xiii
system states 28 symbols, compound 45
time of last display 28 system allocation 6, 14
title area 28 system interface 7
message color default value 27
SCRNFMT statements
ACTION 28
CMDLINE 30 T
COLUMNHEAD 28 task variable 16
HELD 28 task, operator station (OST) 8
HOLDPCNT 29 tasks
HOLDWARN 29 web application portfolio, adding 175
IMDAREA 30 TERMAMI 170
INDENT 29 TERMAMON 173
LASTLINE 30 tilde definition 56
LOCKIND 30 time area, NCCF panel 28
MLINDENT 29 title area, NCCF panel 28
NOPREFIX 28 TITLE statement, SCRNFMT 28
NORMAL 28 TITLEDATE statement, SCRNFMT 28
NORMQMAX 28 TITLEDOMID statement, SCRNFMT 28
PREFIX 28 TITLEOPID statement, SCRNFMT 28
TITLE 28 TITLESTAT statement, SCRNFMT 28
TITLEDATE 28 TITLETIME statement, SCRNFMT 28
TITLEDOMID 28 Tivoli
TITLEOPID 28 training, technical xiii
TITLESTAT 28 user groups xiii
TITLETIME 28 Tivoli Enterprise Console
secondary extent 69, 85 customizing 170
sense code descriptions, customizing 73 Tivoli Software Information Center xii
separator line, NCCF panel 30 training, Tivoli technical xiii
sequential data set 70 transaction program
sequential logging command processor 11
definition 2 installation exit 11
V
variable row placement option 89
variables, compound 45
W
web application
variables, notation for xv
links, adding 175
vector transport, network management (NMVT) 91
tasks, adding 175
VIEW command processor
web application server
attribute definition 39
designing HTML files 175
code 35
referencing files 175
COMPAT option 35
REXX function CGI 176
creating rollable components 47
REXX-generated HTML 176
definition statement 43
web sites
displaying error messages 38
launching from web application 176
displaying return codes 38
displaying variables in source panels 43
dynamic update capability 59
EXTEND option 36 X
finding global variables 43 XVAR 33, 46
full-screen input capability 50
global variable 44
INPUT option 35
input value 35
Y
Yahoo user group, NetView xiv
issuing from command procedure 46
managing command lines 61
managing PF keys 61
message data 36
MSG option 59
NOINPUT option 35
panel definition
attribute symbol 39
attribute variable 40
controlling color 38
controlling highlighting 38
return code 37
Index 197
198 Customization Guide
IBM®
Printed in USA
SC27-2849-04