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

SPI Programming Examples
SPI Programming Manual427506-006
E-70
Example E-15: Common Routines for TAL Examples
sp ':=' ", " -> @sp;
CASE p^spi^err OF
BEGIN
ZSPI^ERR^INVBUF -> sp ':=' "Invalid Buffer" -> @sp;
ZSPI^ERR^ILLPARM -> sp ':=' "Illegal Param" -> @sp;
ZSPI^ERR^MISPARM -> sp ':=' "Missing Param" -> @sp;
ZSPI^ERR^BADADDR -> sp ':=' "Illegal Address" -> @sp;
ZSPI^ERR^NOSPACE -> sp ':=' "Buffer full" -> @sp;
ZSPI^ERR^XSUMERR -> sp ':=' "Invalid Checksum" -> @sp;
ZSPI^ERR^INTERR -> sp ':=' "Internal Error" -> @sp;
ZSPI^ERR^MISTKN -> sp ':=' "Missing Token" -> @sp;
ZSPI^ERR^ILLTKN -> sp ':=' "Illegal Token" -> @sp;
ZSPI^ERR^BADSSID -> sp ':=' "Bad SSID" -> @sp;
ZSPI^ERR^NOTIMP -> sp ':=' "Not implemented" -> @sp;
ZSPI^ERR^NOSTACK -> sp ':=' "Insufficient Stack" -> @sp;
ZSPI^ERR^ZFIL^ERR -> sp ':=' "File system error" -> @sp;
ZSPI^ERR^ZGRD^ERR -> sp ':=' "OS Kernel error" -> @sp;
ZSPI^ERR^INV^FILE -> sp ':=' "Invalid template file" -> @sp;
ZSPI^ERR^CONTINUE -> sp ':=' "Continue" -> @sp;
ZSPI^ERR^NEW^LINE -> sp ':=' "New line" -> @sp;
ZSPI^ERR^NO^MORE -> sp ':=' "No more" -> @sp;
ZSPI^ERR^MISS^NAME -> sp ':=' "Missing name" -> @sp;
ZSPI^ERR^DUP^NAME -> sp ':=' "Duplicate name" -> @sp;
ZSPI^ERR^MISS^ENUM -> sp ':=' "Missing enumeration" -> @sp;
ZSPI^ERR^MISS^STRUCT -> sp ':=' "Missing STRUCT" -> @sp;
ZSPI^ERR^MISS^OFFSET -> sp ':=' "Missing offset" -> @sp;
ZSPI^ERR^TOO^LONG -> sp ':=' "Too long" -> @sp;
ZSPI^ERR^MISS^FIELD -> sp ':=' "Missing field" -> @sp;
ZSPI^ERR^NO^SCANID -> sp ':=' "No SCAN ID" -> @sp;
ZSPI^ERR^NO^FORMATID -> sp ':=' "No Format ID" -> @sp;
ZSPI^ERR^OCCURS^DEPTH -> sp ':=' "Occurs depth" -> @sp;
ZSPI^ERR^MISS^LABEL -> sp ':=' "Missing label" -> @sp;
ZSPI^ERR^BUF^TOO^LARGE-> sp ':=' "Buffer is too big" -> @sp;
ZSPI^ERR^OBJFORM -> sp ':=' "Object form" -> @sp;
ZSPI^ERR^OBJCLASS -> sp ':=' "Object class" -> @sp;
ZSPI^ERR^BADNAME -> sp ':=' "Bad name" -> @sp;
ZSPI^ERR^TEMPLATE -> sp ':=' "Template" -> @sp;
ZSPI^ERR^ILL^CHAR -> sp ':=' "Illegal character" -> @sp;
ZSPI^ERR^NO^TKNDEFID -> sp ':=' "No TKNDEF ID" -> @sp;
ZSPI^ERR^INCOMP^RESP -> sp ':=' "Incomplete response" -> @sp;
OTHERWISE -> sp ':=' "???Unknown???" -> @sp;
END; -- of CASE p^spi^err
sp ':=' ")" -> @sp;
CALL writex (term, sline, @sp '-' @sline);
! Write a blank line for output clarity
sline ':=' " " & sline FOR 79 BYTES;
CALL writex (term, sline, 2);
IF p^call^debug THEN CALL DEBUG;
END;
Example E-15. TAL File: SETCUTIL Supporting Code (page2of5)