Management Programming Examples
NonStop Pathway/iTS Management Programming Manual—426749-002
13-17
Obtaining PROG Information
ZPWY^SSID ':=' [ ZSPI^VAL^TANDEM, ! INITIALIZATION OF SSID
ZSPI^SSN^ZPWY,
ZPWY^VAL^VERSION ];
-- Open PATHMON with #ZSPI.
CALL OPEN(PWY^NAME,PWY);
IF <> THEN CALL DEBUG;
-- Initialize SPI buffer.
SPI^ERR := SSNULL(MAP^SEL^PROG,SEL^PROG);
ZSPI^VAL^CMDHDR,ZPWY^CMD^INFO,
ZPWY^OBJ^PROG);
-- Use SSNULL for extensible token.
SPI^ERR := SSNULL(MAP^SEL^PROG,SEL^PROG);
! NULL VAL IS " "
IF (SPI^ERR) THEN CALL DEBUG;
-- Place extensible token in SPI buffer.
S^SEL^PROG ':=' "ZVIEWPOINT";
SPI^ERR := SSPUT(SPI^BUF,MAP^SEL^PROG,SEL^PROG);
IF (SPI^ERR) THEN CALL DEBUG;
-- Determine length of message to send.
SPI^ERR := SSGETTKN(SPI^BUF,ZSPI^TKN^USEDLEN,USED^LEN);
IF (SPI^ERR) THEN CALL DEBUG;
-- Send the message.
CALL WRITEREAD(PWY,SPI^BUF,USED^LEN,ZPWY^VAL^BUFLEN);
IF <> THEN CALL DEBUG;
-- Subsystem may have changed BUFLEN value; fix it if it has been changed.
VAL^BUFLEN := ZPWY^VAL^BUFLEN;
SPI^ERR := SSPUTTKN(SPI^BUF,ZSPI^TKN^RESET^BUFFER,
VAL^BUFLEN);
IF (SPI^ERR) THEN CALL DEBUG;
-- Extract and check the return code.
SPI^ERR := SSGETTKN(SPI^BUF,ZSPI^TKN^RETCODE,PWY^ERR,1);
IF (SPI^ERR) THEN CALL DEBUG;
IF (PWY^ERR) THEN
CALL DISPL^ERROR(PWY^ERR) -- DISPLAY ERROR MESSAGE
ELSE
BEGIN
-- EXTRACT THE PROGRAM TOKEN
SPI^ERR := SSGET(SPI^BUF,MAP^DEF^PROG,DEF^PROG,1);
IF (SPI^ERR) THEN CALL DEBUG;
CALL DISPL^DATA; -- DISPLAY THE DATA
END;
END; ! PROC
Example 13-2. Obtaining PROG Information (page 3 of 3)