The Routing Table
ing table and loads it into virtual storage. For each action routine specified in the
routing table, an EXEC file or a corresponding member in a CMS simulated OS load library named PROPLIB LOADLIB must exist. If an EXEC does not exist,
the LOADLIB member is loaded as a nucleus extension-via the NUCXLOAD command. If both exist, the EXEC takes precedence.
If upon invocation, the programmable operator facility cannot find an action rou­
tine named in the routing table, an error message is issued, and the programmable
operator facility terminates operation. Otherwise, the programmable operator facil­
ity is fully initialized, and writes a message to the programmable operator's console,
to the logical operator, and to the LOG file, indicating that the programmable
operator facility has started. The programmable operator facility then waits for
either an interrupt indicating an incoming message or an interrupt from the console.
Note: If the user enters a nodeid into the SYSTEM NETID file that is invalid as a
CMS file type, the programmable operator cannot start because it is not be able to
open the log file.
The routing table is a CMS file that contains the information used to control the
operation of the programmable operator facility. The routing table enables the
programmable operator facility to recognize a message as a command, to determine
the action to take when a message comes in, and to recognize the authorized users
of programmable operator functions.
How tile Programmable Operator Facility Uses tile Routing Table
Routing Table Entry Formats
When the programmable operator facility receives an lUCY interrupt with an
incoming message, the active routing table is searched to find a matching entry.
When the routing table is searched, all fields are checked. In order for a match to
occur, each field must either match or be blank. If a matching entry is found, that
entry contains information pertaining to any action to be taken. The action routine
name tells the programmable operator facility which action routine to invoke when
a routing table entry matches the incoming message. If no matching entry is found
in the active routing table, no action is taken besides logging the message.
The order that the entries are placed in the routing table affects the way the pro­
grammable operator facility performs. The routing table is searched from top to
bottom until a match is found. As the table is searched, lines that begin with an
asterisk (*) in column 1 are ignored, and therefore may be used to place comments
in the routing table. Also, lines that are completely blank are ignored in the routing
table search and can be used to separate lines of text for easier reading. All entries
must be made in upper case.
Note: The routing table format is changed from the initial version of the program­
mable operator facility in VM/SP Release 2. The original format from Release 2 is
not compatible with later versions of the programmable operator facility. The rout­
ing tables must be converted to reflect this change. See "Routing Table Conversion" later in this section. I Every routing table must have specific configuration information in the first records
of the routing table file (filetype RTABLE) that are not comments or blank lines.
The Programmable Operator Facility 425
These statements are in free format, meaning that they need not be positioned in
any particular columns. See Figure 53 on page 431 for an example of a partial
routing table. The statements and their parameters are as follows:
1. The LGLOPR statement identifies the logical operator. I LGLQPR Ilwo;erid [nodeidJt tnlckname } where:
userid is a valid userid on the specified node.
nodeid is a valid id of a system in the network. If no nodeid is specified,
the local system's nodeid is used.
nickname is a nickname defined in the programmable operator facility virtual
machine eMS NAMES file.
Note: If a nickname is used to identify the logical operator, the
nickname cannot be a list of nicknames. The programmable oper­
ator must have one nodeid to associate with the logical operator.
Either a nickname or a use rid must be specified. If a userid is specified, a
nodeid may be specified. If both a userid and a nodeid are specified, they must
be separated by one or more blanks. If the name specified is both a local
userid and a nickname, the programmable operator regards it as a nickname.
IMPORTANT NOTE: The programmable operator virtual machine should not
be identified as the logical operator. This causes the programmable operator to
go into a loop in the event it tries to do the routing. This includes specifying a
userid of OPERATOR (or any abbreviation thereof). This also causes the
message to be sent to the system operator virtual machine, even if the system
operator virtual machine has a different userid.
2. The optional TEXTSYM statement specifies the characters that the program­
mable operator facility interprets as special symbols in the text field of the rout­
ing table entries. All three parameters must be specified if the statement is
specified. I TEXTSYM where:
blank-sep
arbchar-sep
426 VM/SP System Programmer's Guide I blank-sep arbchar-sep not-symbol
is a separator character indicating that blanks are to be
skipped over when scanning the message. A message is
scanned for the next non-blank character string. This
non-blank character string is then compared to the text in the
routing table entry following this separator character. The
default character is "I". is a separator character indicating that aU non-matching char­
acters are to be skipped over when scanning the message. A
message is scanned for the text specified in the routing table
entry until it is found or until the end of the message is
reached. The default character is "$".
Previous Page Next Page