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-20
Simple Server Example
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
*****************************************************************
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.
Example 31-9. Simple Server (page 3 of 4)