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

Process Initiation, Communication, and
Management
HP COBOL Manual for TNS/E Programs520347-003
31-17
Simple Server Example
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).
WORKING-STORAGE SECTION.
01 REPLY-CODE-VALUES.
05 OK-REPLY PIC 999 VALUE ZERO.
05 BAD-REQUEST-REPLY PIC 999 VALUE 1.
05 START-FAILED-REPLY PIC 999 VALUE 2.
05 NONE-FOUND-REPLY PIC 999 VALUE 900.
01 FILE-STATUSES.
05 RECEIVE-FILE-STATUS.
88 RECEIVE-FILE-OK VALUE IS ZEROS.
88 CLOSE-FROM-REQUESTER VALUE IS "10".
10 R-STAT-1 PIC X.
10 R-STAT-2 PIC X.
05 PHONE-FILE-STATUS.
10 P-STAT-1 PIC X.
10 P-STAT-2 PIC X.
88 PHONE-FILE-OK VALUE IS ZEROS.
PROCEDURE DIVISION.
DECLARATIVES.
*****************************************************************
UA-MESSAGE-IN SECTION.
USE AFTER ERROR PROCEDURE ON MESSAGE-IN.
UA-MESSAGE-IN-PROC.
IF R-STAT-1 > 1
DISPLAY " ERROR ON MESSAGE-IN FILE "
" STAT-1 = " R-STAT-1
" STAT-2 = " R-STAT-2.
UA-PHONE-BOOK SECTION.
USE AFTER ERROR PROCEDURE ON PHONE-BOOK.
UA-PHONE-BOOK-PROC.
* Empty declarative--intercepts error conditions and allows
* PHONE-FILE-STATUS to reflect the success of a START or READ
*****************************************************************
Example 31-8. Simple Server (page 2 of 4)