OSI/MHS Management Programming Manual
Examples
OSI/MHS Management Programming Manual—424824-001
C-22
SPI Example in TAL
SSErr := SSPut( Spi^Buffer,
MTA^Params^Map,
MTA^Params );
IF (SSErr <> zSpi^Err^OK) THEN
BEGIN
Write^Term^With^Num ( "SSPut failed", SSErr );
CALL Abend;
END;
CALL Send^SpiCmd;
CALL Reset^SpiBuf;
-- Open the response data list.
--
DataList^Index := 1;
SSErr := SSGetTkn( Spi^Buffer,
zSpi^Tkn^DataList,
DataList^Index );
IF (SSErr <> zSpi^Err^OK) THEN
BEGIN
-- An error occurred opening the response.
IF (SSErr = zSpi^Err^MisTkn) THEN
BEGIN
-- There is no data list, so there must have been an
-- error. Get the return token value and see what the
-- error is.
--
SSErr := SSGetTkn( Spi^Buffer,
zSpi^Tkn^RetCode,
RetCode );
CASE RetCode OF
BEGIN
zCom^Err^FS^Err ->
Write^Term ( "ZCom file system error" );
OTHERWISE ->
Write^Term^With^Num ( "SPI retrieval error",
RetCode );
END;
RETURN (RetCode);
END
ELSE
-- unexpected SPI error
BEGIN
Write^Term^With^Num ( "SSGetTkn failed", SSErr );
CALL Abend;
END;
END; -- if SSErr <> zSpi^Err^OK
-- Get return token.
SSErr := SSGetTkn( Spi^Buffer,
zSpi^Tkn^RetCode,
RetCode );
IF (SSErr <> zSpi^Err^OK) THEN
BEGIN
Write^Term^With^Num ( "SSGetTkn failed", SSErr );
CALL Abend;
END
ELSE
BEGIN
CASE RetCode OF
BEGIN
zCom^Err^OK ->
Write^Term ( "-> ADD MTA successfully completed" );