SPI Common Extensions Manual

Extended SPI Concepts
SPI Common Extensions Manual427508-001
2-11
Subsystem Identification
Subsystem Identification
The identity of the subsystem that manages an object is a necessary part of the
object’s identity. (The full identity of an object in a network also includes the object’s
name, its type, and the name of the subsystem process that is managing it.)
Subsystem Identifier (SSID)
Every subsystem has a unique four letter subsystem identifier (SSID). The first letter is
always Z. In a command message, the SSID specifies the subsystem that processes
the command message. In a response, the SSID specifies the subsystem that
generated the response. In an event message, the SSID specifies the subsystem that
generated the event message. For descriptions of SSIDs, see the
SPI Programming
Manual
.
Subsystem Manager Process Identification
Commands that are routed from a requester to a subsystem by way of an intermediate
process such as SCP must contain the identity of the subsystem manager process to
which the routing process should forward the request. Subsystems allow one of two
methods for you to specify the subsystem manager process:
Assign the process name to ZSPI-TKN-MANAGER (C-series) or ZCOM-TKN-
XMGR (D-series) and include this token in the request.
Include the manager process name as part of the object name itself in ZCOM-TKN-
OBJNAME. (This method is not always appropriate. The GETVERSION command
can specify the null object type, ZCOM-OBJ-NULL, in which case no object-name
token is included in the command.)
Specifying the Manager Using the Manager Tokens
ZSPI-TKN-MANAGER and ZCOM-TKN-XMGR contain the name of the subsystem
process that accepts and responds to SPI command messages. (The command can
be processed by the manager process or passed to another subsystem process.)
To assign the manager process name to the token ZSPI-TKN-MANAGER:
STRUCT ZSPI^DDL^FNAME32^DEF(*);
BEGIN
STRUCT Z^SYSNAME;
BEGIN
STRING BYTE [0:7];
END;
STRUCT Z^LOCALNAME;
BEGIN
STRING BYTE [0:7];
END;
END;
STRUCT .manager^id(ZSPI^DDL^FNAME32^DEF);