SPI Programming Manual (G06.24+, H06.03+, J06.03+)

General SPI Programming Guidelines
SPI Programming Manual427506-006
5-51
Pass-Through Error Lists
Failure of SSGET With ZSPI-TKN-USEDLEN
If after completing a response message, the server calls SSGET with ZSPI-TKN-
USEDLEN to determine the count to use when sending the response, and SSGET
fails, the servers data stack is corrupt and the server should stop.
If you do attempt to generate a response, proceed as in the case of SSINIT or SSPUT.
Pass-Through Error Lists
These guidelines govern the contents and construction of pass-through error lists from
NonStop Kernel subsystems provided by HP. Your own subsystems should also follow
these guidelines. For examples of pass-through error lists, see Sample Error
Responses on page 2-51.
Assume that a requester A issued a command to a server B and that B is creating an
error list in its response to A. Assume that B uses another server or library procedure
called C. These guidelines govern the design of error lists:
1. An error list begins with the token ZSPI-TKN-ERRLIST and ends with the token
ZSPI-TKN-ENDLIST.
2. Except for nested error lists, all the tokens in an error list are considered to be
qualified by B (including the ERRLIST token at the beginning and the ENDLIST
token at the end).
3. An error list must contain a ZSPI^TKN^ERROR token with the value being one of
the errors defined by B, not an error number returned from C.
4. An error list must contain a token defined by B whose value is the name of the
object to which the command to B was directed. If the command references no
objects, the error list need not contain an object name.
If the command is directed to an object that has no name and the command
includes an object name of some null value such as blanks, the error list must
contain that null object name. If the command is directed to an object that has no
name and the command does not include any form of object name, the error list
need not contain an object name.
5. An error list must contain any additional items necessary to describe what action B
was asked to perform. If the error number is not sufficient to determine the
command number and object type number in As command to B, they must be
included in the error list.
There should not be a large amount of additional informationbe guided by what
is appropriate to be included in an error message. Except as directed in guideline
8, do not include information to describe the command or response from Cthat is
the job of Cs error list.
6. If the error detected by B indicates some inappropriate condition (regardless of
whether some of the information used by the logic came from C), the error list must