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

SPI Concepts and Protocol
SPI Programming Manual427506-006
2-47
Errors and Warnings
If the token is not enclosed in a list and its token code does not contain an SSID, it
belongs to the SSID specified in the header token ZSPI-TKN-SSID.
Errors and Warnings
An SPI server reports an error when it cannot complete a command. It issues a
warning when it completes a command but the results are suspect or it wants to
provide the requester with additional advisory information. Like all response
information, error information returned in a message is contained in tokens. However,
although normal responses tend to be very regular and well-defined, error responses
can be highly variable and unpredictable. As a result of an error or warning during
command processing, a response message can contain:
Both response data and error or warning information.
A single response record containing multiple error lists, particularly in the case of
warnings.
A pass-through error, one that originated in another subsystem that was called by
the subsystem to which the command was sent. Errors can be passed through
several subsystems, with each subsystem adding its own information. For
instance, here is an extreme example of an error that FUP might report in
response to a LOAD command: FUP could not do the LOAD because of a SORT
error caused by a NEWPROCESS procedure failure due to a file-system error on
the swap file returned by the disk process because there was no disk space
available.
SPI responses report error information in these ways:
A standard token called the return token (ZSPI-TKN-RETCODE), which is included
in every response record. The value of ZSPI-TKN-RETCODE is a single integer
error code.
One or more error lists, which can be nested (as in the case of pass-through
errors).
This scheme, summarized in Figure 2-15
, separates error information from normal
response information and facilitates the retrieval of error information.
Each subsystem defines its own set of error numbers, which are described in the
subsystems management programming manual.