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

Process Initiation, Communication, and
Management
HP COBOL Manual for TNS/E Programs520347-003
31-18
Simple Server Example
*****************************************************************
UA-MESSAGE-OUT SECTION.
USE AFTER ERROR PROCEDURE ON MESSAGE-OUT.
UA-MESSAGE-OUT-PROC.
IF R-STAT-1 > 1
DISPLAY " ERROR ON MESSAGE-OUT FILE "
" STAT-1 = " R-STAT-1
" STAT-2 = " R-STAT-2.
*****************************************************************
END DECLARATIVES.
*****************************************************************
MAIN SECTION.
************************************
* M A I N L O G I C *
************************************
BEGIN-COBOL-SERVER.
PERFORM A-INIT.
PERFORM B-TRANS
UNTIL CLOSE-FROM-REQUESTER.
PERFORM C-EOJ.
STOP RUN.
****************************************************************
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.
Example 31-8. Simple Server (page 3 of 4)