COBOL Manual for TNS and TNS/R Programs

Process Initiation, Communication, and
Management
HP COBOL Manual for TNS and TNS/R Programs522555-006
31-19
Simple Server Example
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).
FD MESSAGE-OUT
LABEL RECORDS ARE OMITTED
* record is variable length.
RECORD CONTAINS 1 TO 200 CHARACTERS.
01 PHONE-REPLY-MSG.
05 REPLY-CODE PIC S9(4) COMP.
* 000 = OK, reply contains a value
* 900 = no match in phone book
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).
01 BAD-PHONE-REPLY-MSG.
05 BAD-REPLY-CODE PIC S9(4) COMP.
* 001 = bad request, no code given
* 002 = start of lookup failed
FD PHONE-BOOK
LABEL RECORDS ARE OMITTED.
01 PHONE-REC.
05 PH-EMPLOYEE-NUM PIC X(5).
05 PH-EMPLOYEE-NAME.
10 PH-EMPLOYEE-NAME-LAST PIC X(15).
10 PH-EMPLOYEE-NAME-REST PIC X(20).
05 PH-EMPLOYEE-PHONE-NUM PIC X(10).
Example 31-9. Simple Server (page 2 of 4)