EMS Manual

Example of Retrieving Event Messages
EMS Manual426909-005
A-12
TAL Source File
CALL MYTERM ( term^name );
CALL OPEN ( term^name, term );
! OPEN $RECEIVE file
CALL OPEN ( rcv^name, rcv, , 1 );
IF <> THEN
CALL DEBUG;
! Read startup message from $RECEIVE
CALL READUPDATE ( rcv, startup^msg, $LEN(startup^msg),
ct^rd );
IF <> THEN
CALL DEBUG;
CALL REPLY ( , , , , 0 );
IF <> THEN
CALL DEBUG;
! Create a name for the distributor process
CALL CREATEPROCESSNAME ( distr^name );
IF <> THEN
CALL DEBUG;
! Set up the startup message - distributor must be passed
! a TYPE definition (C for Consumer, P for Printing, or
! F or Forwarding).
startup^msg.param ':=' ["TYPE CONSUMER",0,0];
! Start the distributor process
CALL NEWPROCESS ( distr^prog^file, , , , , error,
distr^name);
IF ( ERROR.<0:7> > 0 ) THEN
CALL DEBUG;
! Open the distributor to write startup message
CALL OPEN ( distr^name, distr);
IF <> THEN
CALL DEBUG;
! Write the startup message
CALL WRITE ( distr, startup^msg, $LEN(startup^msg));
! Check for errors--error 70 is continuation
! (ASSIGNS and PARAMS)
CALL FILEINFO ( distr, error );
IF ( NOT ( (error = 0) OR ( error = 70) ) ) THEN
CALL DEBUG;
CALL CLOSE ( distr ); ! Don't send assigns & params
! Prompt user for the CPU number
CALL get^cpu^num;
! Reopen the distributor for command messages
s^distr^qual ':=' "#ZSPI";
CALL OPEN ( distr^name, distr );
IF <> THEN