COBOL Manual for TNS/E Programs (H06.03+)

Process Initiation, Communication, and
Management
HP COBOL Manual for TNS/E Programs520347-003
31-16
Simple Server Example
Simple Server Example
The simple server in Example 31-8 looks up items in a telephone directory.
Example 31-8. Simple Server (page 1 of 4)
IDENTIFICATION DIVISION.
PROGRAM-ID. BRIEF-EXAMPLE.
AUTHOR. ZANE COBOL.
DATE-WRITTEN. 29 February, 1988
DATE-COMPILED.
**************************************************************************
* This simple server performs telephone-book lookups. *
* Given a name, it reports the name and a number. *
* Given a number, it reports the number and a name. *
* It assumes that no two persons have the same number or the same name. *
**************************************************************************
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
SOURCE-COMPUTER. HP TXP System.
OBJECT-COMPUTER. HP TXP System.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
* Declaring MESSAGE-IN and MESSAGE-OUT separately allows us to
* redirect either or both for debugging during development.
SELECT MESSAGE-IN
ASSIGN TO $RECEIVE
FILE STATUS IS RECEIVE-FILE-STATUS.
SELECT MESSAGE-OUT
ASSIGN TO $RECEIVE
FILE STATUS IS RECEIVE-FILE-STATUS.
SELECT PHONE-BOOK
ASSIGN TO "$AA.BB.PHONE"
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS PH-EMPLOYEE-NUM
ALTERNATE RECORD KEY IS PH-EMPLOYEE-NAME
ALTERNATE RECORD KEY IS PH-EMPLOYEE-PHONE-NUM
FILE STATUS IS PHONE-FILE-STATUS.
RECEIVE-CONTROL.
* Up to five requesters can have this server open
TABLE OCCURS 5 TIMES
SYNCDEPTH LIMIT IS 1
REPLY CONTAINS MESSAGE-OUT RECORD.
DATA DIVISION.
FILE SECTION.
FD MESSAGE-IN
LABEL RECORDS ARE OMITTED.
01 PHONE-QUERY-MSG.
05 FILLER PIC S9(4) COMP.
05 LOOKUP-CODE PIC X.
88 NAME-LOOKUP VALUE "N".
88 PHONE-LOOKUP VALUE "#".
05 LOOKUP-NUM PIC X(10).
05 LOOKUP-NAME PIC X(35).