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

SPI Programming in TACL
SPI Programming Manual427506-006
8-29
#SSMOVE
an extensible structured token, or a list token. If a list token is specified, the list
token, its associated end-list token, and all tokens in between are moved.
Expansion
#SSMOVE expands to a numeric status code indicating the outcome of the operation.
If the status code is 0 (no error), it is followed by a space and the number of token
values or lists moved.
The status code has one of these values:
0 No error
-1 Invalid buffer format
-2 Illegal parameter value
-3 Missing parameter
-4 Illegal parameter address
-5 Buffer full
-6 Invalid checksum
-7 Internal error
-8 Token not found
-9 Illegal token code or map
-10 Invalid subsystem ID
-11 Operation not supported
-12 Insufficient stack space
For more information about nonzero status codes, see Appendix A, Errors.
Considerations
Tokens copied by #SSMOVE are not deleted or removed from the source buffer.
After a successful #SSMOVE operation, the current-token pointer in the source
buffer is changed to the position of the last token that was moved.
When #SSMOVE copies a token identified by a token map, the value obtained
from the source buffer is truncated or padded according to the map specifications,
and the ZSPI^TKN^MAX^FIELD^VERSION header token of the destination buffer
is appropriately adjusted.
#SSMOVE can be used to copy an incomplete list (a list with no end-list token) if
and only if
dest-index is not supplied or zero. If a nonzero destination index is
specified, meaning that a replacement operation is being requested, an incomplete
list causes #SSMOVE to return a token not found (-8) status code.
If an error occurs on #SSMOVE, the ZSPI^TKN^LASTERR and
ZSPI^TKN^LASTERRCODE indications can be set in either the source buffer or
the destination buffer, depending on whether the error occurred on the logical
#SSGETV or #SSPUTV part of the move.