EMS Manual
Retrieving Event Messages Programmatically
EMS Manual—426909-005
4-9
Event-Message Sources
ZSPI^TKN^RETCODE,
error,
1);
! Handle any error from SPI procedure
IF spi^error <> ZSPI^ERR^OK THEN ...
IF error <> 0 THEN ...
! Build and send CONTROL command message to add log file
! Initialize spibuffer for distributor CONTROL command
IF (error := SSINIT(spibuffer,
ZEMS^VAL^BUFLEN,
ZEMS^VAL^SSID,
ZSPI^VAL^CMDHDR,
ZEMS^CMD^CONTROL)) THEN ...
! Get external name of log file for use as token value
sbuf ':=' ["$OPS.LOG.SV930315", 0];
CALL FNAMEEXPAND(sbuf,
logname,
my^file^defaults);
! Place token--with token value--in spibuffer
spi^error := SSPUTTKN(spibuffer,
ZEMS^TKN^CONNECT^LOG,
logname);
! Handle any error from SPI procedure
IF spi^error <> ZSPI^ERR^OK THEN ...
! Determine how many bytes of spibuffer have been used
spi^error := SSGETTKN(spibuffer,
ZSPI^TKN^USEDLEN,
buffer^length);
! Handle any error from SPI procedure
IF spi^error <> ZSPI^ERR^OK THEN ...
! And send the command message
CALL WRITEREAD(fnum,
spibuffer,
buffer^length,
ZEMS^VAL^BUFLEN,
count^read);
IF <> THEN ... ! Handle the error
! The SPI response is now in spibuffer.
! Reset buffer length to what you declared for spibuffer
spi^error := SSPUTTKN(spibuffer,
ZSPI^TKN^RESET^BUFFER,
ZEMS^VAL^BUFLEN);