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