TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)
Examples
NonStop TS/MP Pathsend and Server Programming Manual–132500
B-61
Nested Server Example
* IF THE PROGRAM LOGIC ARRIVES HERE, THEN NEITHER AN ASSIGN NOR AN
* EXPLICIT SYSTEM AND PROCESS NAME ARE USED TO IDENTIFY THE PATHMON
* TO WHICH THE PATHSEND SEND SHOULD BE DONE. IF THE MOM OF THE
* CURRENT SERVER PROCESS IS A PATHMON (I.E. WS-SERVER-IS-ASSOCIATIVE
* = "N") THEN ITS SYSTEM AND PROCESS NAME IS USED FOR THE PATHSEND
* SEND.
IF WS-SERVER-IS-ASSOCIATIVE = "N"
MOVE WS-SYSTEM-AND-PROCESS OF WS-MOM-PROCESS
TO WS-PATHMON-PROCESS-NAME
OF WS-SERVERCLASS-SEND-PARAM
ELSE
MOVE "PATHMON NOT KNOWN - SERVER IS ASSOCIATIVE" TO
NON-SEND-ERROR-MESSAGE OF PATHSRV-REPLY
MOVE "N" TO WS-VALID-PATHSRV-REQUEST
END-IF
END-IF
END-IF
END-IF
IF WS-VALID-PATHSRV-REQUEST = "Y"
* THE REQUEST MESSAGE TO THE SUBSIDIARY SERVER IS ALWAYS SPACES. THE
* SUBSIDIARY SERVER IS NOT ASKED TO MAKE A REQUEST OF ANOTHER (THIRD
* LEVEL) SERVER. RATHER IT IS JUST BEING ASKED FOR ITS OWN GUARDIAN
* PROCESS-ID.
MOVE SPACES TO SUBSIDIARY-REQUEST
PERFORM 0460-SEND-TO-SUBSIDIARY-SERVER
IF WS-SERVERCLASS-SEND-OKAY = "Y"
MOVE SYSTEM-NAME OF THIS-SERVER OF SUBSIDIARY-REPLY
TO SYSTEM-NAME OF SUBSIDIARY-SERVER OF PATHSRV-REPLY
MOVE PROCESS-NAME OF THIS-SERVER OF SUBSIDIARY-REPLY
TO PROCESS-NAME OF SUBSIDIARY-SERVER OF PATHSRV-REPLY
ELSE
MOVE "Y" TO TMF-ABORT-REQUIRED OF PATHSRV-REPLY
END-IF
ELSE
MOVE "Y" TO TMF-ABORT-REQUIRED OF PATHSRV-REPLY
END-IF
END-IF.
0300-CLOSEDOWN.
CLOSE ERROR-LOG-FILE.
CLOSE MESSAGE-IN-FILE.
CLOSE MESSAGE-OUT-FILE.