TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)
Examples
NonStop TS/MP Pathsend and Server Programming Manual–132500
B-49
Pathsend Requester Example
! Let the user know who this msg is from
swrite^buf ':=' spid FOR 6 BYTES -> @sp;
RSCAN sp[-1] WHILE " " -> @sp;
@sp := @sp[1];
sp ':=' ": " -> @sp;
! Include the record number
IF $PARAM (record^number)
 THEN ! include it in the msg
 BEGIN
 sp ':=' "RECORD #" -> @sp;
 CALL NUMOUT (sp, record^number, 10, 3);
 @sp := @sp[4];
 END;
CASE function OF
 BEGIN
 !0! sp ':=' "READ ONE REQUEST MSG FROM INPUT FILE" -> @sp;
 !1! sp ':=' "INITIATED ONE PATHSEND SEND" -> @sp;
 !2! sp ':=' "INITIATED WRITE TO MESSAGE-LOG-FILE" -> @sp;
 !3! sp ':=' "BEGIN TRANSACTION" -> @sp;
 !4! sp ':=' "END TRANSACTION" -> @sp;
 !5! sp ':=' "ABORT TRANSACTION" -> @sp;
 !6! sp ':=' "CANCELREQ" -> @sp;
 !7! @sp := @swrite^buf; ! write a blank line
 !8! sp ':=' "I/O COMPLETED SUCCESSFULLY" -> @sp;
 !9! sp ':=' "AWAITIO TIMED OUT" -> @sp;
 !10! sp ':=' "I/O COMPLETED WITH AN ERROR" -> @sp;
 !11! sp ':=' "RETRYING THE TRANSACTION" -> @sp;
 !12! sp ':=' "MAX-RETRIES EXCEEDED, TRANSACTION ABORTED" -> @sp;
 !*! OTHERWISE call abend^with^my^abend^msg;
 END; ! Case
CALL WRITE (trace^fnum, write^buf, @sp '-' @swrite^buf);
IF <
 THEN ! print an error msg and abend
 CALL IO^error (trace^fnum);
END; ! PROC write^trace^file










