TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)
Examples
NonStop TS/MP Pathsend and Server Programming Manual–132500
B-60
Nested Server Example
 0200-PROCESS-TRANSACTION.
* THIS PARAGRAPH PROCESSES ONE MESSAGE FROM $RECEIVE. THE FORMAT OF
* THE MESSAGE IS PATHSRV-REQUEST. FIRST THE PATHSRV-REPLY MESSAGE IS
* INITIALIZED. THE SYSTEM AND PROCESS NAME OF THE CURRENT SERVER
* PROCESS ARE ALWAYS RETURNED TO THE REQUESTER IN THE PATHSRV-REPLY
* MESSAGE.
*
* IF THE SUBSIDIARY SERVER CLASS IS SPECIFIED IN THE REQUEST, THEN A
* PATHSEND SEND IS DONE TO THAT SUBSIDIARY SERVER CLASS.
 MOVE SPACES TO PATHSRV-REPLY.
 MOVE ZERO TO REPLY-CODE OF PATHSRV-REPLY.
 MOVE "N" TO TMF-ABORT-REQUIRED OF PATHSRV-REPLY.
 MOVE WS-PROCESS-NAME OF WS-MY-PROCESS
 TO PROCESS-NAME OF THIS-SERVER OF PATHSRV-REPLY.
 MOVE WS-SYSTEM-NAME OF WS-MY-PROCESS
 TO SYSTEM-NAME OF THIS-SERVER OF PATHSRV-REPLY.
* IF SERVER-CLASS IN SPECIFIED IN THE REQUEST MESSAGE THEN PROCESSING
* IS DONE TO PREPARE FOR A PATHSEND SEND TO A SUBSIDIARY SERVER.
 IF SERVER-CLASS OF PATHSRV-REQUEST NOT = SPACES
 MOVE "Y" TO WS-VALID-PATHSRV-REQUEST
 PERFORM 0440-VALIDATE-PATHSRV-REQUEST
 IF WS-VALID-PATHSRV-REQUEST = "Y"
* IF THE PATHMON-ASSIGN NAME IS SPECIFIED, THEN THE PATHMON SYSTEM
* AND PROCESS NAME IS LOOKED UP IN THE TABLE OF ASSIGNs. THIS PATHMON
* SYSTEM AND PROCESS NAME IS USED FOR THE PATHSEND SEND.
 IF PATHMON-ASSIGN-NAME OF PATHSRV-REQUEST NOT = SPACES
 PERFORM 0450-LOOKUP-PATHMON-ASSIGN
 ELSE
* IF THE PROGRAM LOGIC ARRIVES HERE, THEN AN ASSIGN TO IDENTIFY THE
* PATHMON IS NOT SPECIFIED. (IF AN EXPLICIT PATHMON SYSTEM AND
* PROCESS NAME ARE SPECIFIED THEN THEY WILL BE USED FOR THE PATHSEND
* SEND.)
 IF PATHMON-SYSTEM-AND-PROCESS OF PATHSRV-REQUEST NOT = SPACES
 MOVE PATHMON-SYSTEM-AND-PROCESS OF PATHSRV-REQUEST
 TO WS-PATHMON-PROCESS-NAME OF WS-SERVERCLASS-SEND-PARAM
 ELSE










