TS/MP Pathsend and Server Programming Manual (G06.24+, H06.03+)

Examples
NonStop TS/MP Pathsend and Server Programming Manual132500
B-53
Nested Server Example
Nested Server Example
Example B-2, PATHSRV, is a context-free nested server coded in COBOL85.
PATHSRV uses Pathsend calls within a server to access another server.
Example B-2. Context-Free Server Program
* @@@ START COPYRIGHT @@@
* Tandem Confidential: Need to Know only
* Copyright (c) 1980-1985, 1987-1995, Tandem Computers Incorporated
* Protected as an unpublished work.
* All Rights Reserved.
*
* The computer program listings, specifications, and documentation
* herein are the property of Tandem Computers Incorporated and shall
* not be reproduced, copied, disclosed, or used in whole or in part
* for any reason without the prior express written permission of
* Tandem Computers Incorporated.
* @@@ END COPYRIGHT @@@
?SYMBOLS
?SEARCH $SYSTEM.SYSTEM.COBOLLIB
?CONSULT $SYSTEM.SYSTEM.COBOLEX0
?SAVE ASSIGNS 50, PARAM
IDENTIFICATION DIVISION.
PROGRAM-ID. PATHSRV.
* THE COBOL85 SERVER PATHSRV READS A REQUEST FROM $RECEIVE AND
* RETURNS ITS GUARDIAN PROCESS-ID AND THAT OF A SUBSIDIARY SERVER
* CLASS (IF ANY) IDENTIFIED ON THE REQUEST MESSAGE. THE PATHMON OF
* THE SUBSIDIARY SERVER CLASS IS IDENTIFIED IN THE REQUEST MESSAGE IN
* ONE OF THREE WAYS AS FOLLOWS:
*
* - BY AN ASSIGN NAME WHICH REFERENCES AN ASSIGN WITH THE
* PATHMON SYSTEM AND PROCESS NAME.
*
* - WITH AN EXPLICIT SYSTEM AND PROCESS NAME OF PATHMON.
*
* - IF BOTH THE ASSIGN NAME AND THE EXPLICIT SYSTEM AND PROCESS
* NAME IN THE REQUEST MESSAGE ARE BLANK THEN THE PATHMON FOR THE
* SUBSIDIARY SERVER CLASS DEFAULTS TO BE THE SAME PATHMON AS
* THAT WHICH OWNS THE SERVER MAKING THE PATHSEND SEND. THIS IS
* POSSIBLE AS LONG AS THE SENDING SERVER IS NOT ASSOCIATIVE (IN
* WHICH CASE ITS ANCESTOR MAY NOT BE A PATHMON).
*
* THE FIRST AND THIRD OPTIONS DEMONSTRATE WAYS TO AVOID HARD
* CODING A PATHMON SYSTEM AND PROCESS IN A PROGRAM THAT DOES A
* PATHSEND SEND.
*
* IN THE EVENT OF A PROBLEM AN ERROR MESSAGE AND A FLAG TO INDICATE
* THAT A TMF ABORT IS REQUIRED ARE ALSO RETURNED TO THE REQUESTER.
*