Pathway/iTS Management Programming Manual
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)










