OSI/MHS Management Programming Manual

Examples
OSI/MHS Management Programming Manual424824-001
C-16
SPI Example in TAL
CALL Reset^SpiBuf;
-- Count number of response records in the reply.
Token^Id := zSpi^Tkn^DataList;
SSErr := SSGetTkn( Spi^Buffer,
zSpi^Tkn^Count,
Token^Id,
1,
DataList^Count );
IF (SSErr <> zSpi^Err^OK) THEN
BEGIN
Write^Term^With^Num ( "SSGetTkn failed", SSErr );
CALL Abend;
END;
FOR DataList^Index := 1 TO DataList^Count DO
BEGIN
-- Open the first response list.
SSErr := SSGetTkn( Spi^Buffer,
zSpi^Tkn^DataList,
DataList^Index );
IF (SSErr <> zSpi^Err^OK) THEN
BEGIN
Write^Term^With^Num ( "SSGetTkn failed", SSErr );
CALL Abend;
END;
-- Get zCom^Tkn^Objtype.
SSErr := SSGetTkn( Spi^Buffer,
zCom^Tkn^Objtype,
Object^type );
IF (SSErr <> zSpi^Err^OK) THEN
BEGIN
Write^Term^With^Num ( "SSGetTkn failed", SSErr );
CALL Abend;
END;
Write^Term^Blank;
CASE Object^Type OF
BEGIN
zCom^Obj^MON ->
CALL Write( Term^Fn,
Objectnm1 [1],
Objectnm1 [0] );
zCom^Obj^SUBSYS ->
CALL Write( Term^Fn,
Objectnm2 [1],
Objectnm2 [0] );
zCom^Obj^CLASS ->
CALL Write( Term^Fn,
Objectnm3 [1],
Objectnm3 [0] );
zCom^Obj^GROUP ->
CALL Write( Term^Fn,
Objectnm4 [1],
Objectnm4 [0] );
zCom^Obj^PROCESS ->
CALL Write( Term^Fn,
Objectnm5 [1],
Objectnm5 [0] );
zCom^Obj^MTA ->
CALL Write( Term^Fn,
Objectnm6 [1],
Objectnm6 [0] );
zCom^Obj^ROUTE ->
CALL Write( Term^Fn,