COBOL Manual for TNS and TNS/R Programs
Process Initiation, Communication, and 
Management
HP COBOL Manual for TNS and TNS/R Programs—522555-006
31-21
Simple Server Example
*****************************************************************
 A-INIT.
 OPEN INPUT MESSAGE-IN SYNCDEPTH 1
 OUTPUT MESSAGE-OUT
 INPUT PHONE-BOOK SHARED.
*****************************************************************
 C-EOJ.
 CLOSE MESSAGE-IN
 MESSAGE-OUT
 PHONE-BOOK.
 B-TRANS.
 READ MESSAGE-IN.
* Declarative handles EOF
 IF RECEIVE-FILE-STATUS = "00"
 IF NAME-LOOKUP OF MESSAGE-IN
 PERFORM B-01-NAME-LOOKUP-PROC
 ELSE
 IF PHONE-LOOKUP OF MESSAGE-IN
 PERFORM B-01-PHONE-LOOKUP-PROC
 ELSE
 MOVE SPACES TO PHONE-REPLY-MSG
 MOVE BAD-REQUEST-REPLY TO BAD-REPLY-CODE OF MESSAGE-OUT
 ...
 IF RECEIVE-FILE-STATUS = "00"
 WRITE PHONE-REPLY-MSG
 ELSE
 WRITE BAD-REPLY-MSG.
 B-01-NAME-LOOKUP-PROC.
 MOVE LOOKUP-NAME OF MESSAGE-IN TO PH-EMPLOYEE-NAME
 START PHONE-BOOK KEY IS = PH-EMPLOYEE-NAME.
 IF NOT PHONE-FILE-OK
 MOVE START-FAILED-REPLY TO REPLY-CODE OF MESSAGE-OUT
 ELSE
 READ PHONE-BOOK
 IF PHONE-FILE-OK
 PERFORM B-02-COPY-TO-REPLY
 ELSE
 MOVE NONE-FOUND-REPLY TO REPLY-CODE OF MESSAGE-OUT
 ...
 B-01-PHONE-LOOKUP-PROC.
 MOVE LOOKUP-NUM OF MESSAGE-IN TO PH-EMPLOYEE-PHONE-NUM.
 START PHONE-BOOK KEY IS = PH-EMPLOYEE-PHONE-NUM.
 IF NOT PHONE-FILE-OK
 MOVE NONE-FOUND-REPLY TO REPLY-CODE OF MESSAGE-OUT
 ELSE
 READ PHONE-BOOK
 IF PHONE-FILE-OK
 PERFORM B-02-COPY-TO-REPLY
 ELSE
 MOVE NONE-FOUND-REPLY TO REPLY-CODE OF MESSAGE-OUT
 ...
 B-02-COPY-TO-REPLY.
 MOVE PH-EMPLOYEE-PHONE-NUM TO LOOKUP-NUM OF MESSAGE-OUT.
 MOVE PH-EMPLOYEE-NAME TO LOOKUP-NAME OF MESSAGE-OUT.
 MOVE OK-REPLY TO REPLY-CODE OF MESSAGE-OUT.
Example 31-9. Simple Server (page 4 of 4)










