Tandem's Log
Created: 5/31/2007 5:53:03 PM
<< 06/2006 < 05/2007 Calendar 07/2007 > 06/2008 >>Sign InView Other Logs
Fri 
06/01/2007 05:49:29
 Jim  Tandem Technical Documents
Thu 
05/31/2007 15:06:26
 Tandem  Sample Server

SERVER PROGRAM

IDENTIFICATION DIVISION.
PROGRAM-ID. EXAMPLE-SERVER.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
	SOURCE-COMPUTER. TANDEM/16.
	OBJECT-COMPUTER. TANDEM/16.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
	SELECT MESSAGE-IN,	ASSIGN TO $RECEIVE FILE STATUS IS RECEIVE-FILE-STATUS.
	SELECT MESSAGE-OUT, 	ASSIGN TO $RECEIVE FILE STATUS IS RECEIVE-FILE-STATUS.
RECEIVE-CONTROL. TABLE OCCURS 5 TIMES.
DATA DIVISION.
FILE SECTION.
FD MESSAGE-IN LABEL RECORDS ARE OMITTED.
01 ENTRY-MSG.
   02 PW-HEADER.
      04 REPLY-CODE				PIC S9(4) COMP.
      04 FUNCTION-CODE				PIC XX.
   02 MESSAGE-NUMBER				PIC 9.
FD MESSAGE-OUT LABEL RECORDS ARE OMITTED RECORD CONTAINS 1 TO 68 CHARACTERS.
01 ENTRY-REPLY.
   02 PW-HEADER.
      04 REPLY-CODE				PIC S9(4) COMP.
04 FILLER PIC X(2). 02 SERVER-RECORD PIC X(64). 01 ERROR-REPLY. 02 REPLY-CODE PIC S9(4) COMP. 02 FILLER PIC X(2). 02 ERROR-CODE PIC 999 COMP. WORKING-STORAGE SECTION. 01 RECEIVE-FILE-STATUS. 02 STAT-1 PIC 9. 88 CLOSE-FROM-REQUESTOR VALUE 1. 02 STAT-2 PIC 9. 01 WS. 02 ERROR-CODE PIC 999 COMP. PROCEDURE DIVISION. BEGIN-COBOL-SERVER. OPEN INPUT MESSAGE-IN. OPEN OUTPUT MESSAGE-OUT SYNCDEPTH 1. PERFORM B-TRANS UNTIL CLOSE-FROM-REQUESTOR. STOP RUN. B-TRANS. READ MESSAGE-IN, AT END STOP RUN. MOVE PW-HEADER OF MESSAGE-IN TO PW-HEADER OF MESSAGE-OUT. MOVE 0 TO ERROR-CODE OF WS IF FUNCTION-CODE = "01" PERFORM READ-MESSAGE ELSE PERFORM FUNCTION-NOT-SUPPORTED. IF ERROR-CODE OF WS = 0 MOVE 0 TO REPLY-CODE OF ENTRY-REPLY WRITE ENTRY-REPLY ELSE MOVE 999 TO REPLY-CODE OF ERROR-REPLY MOVE ERROR-CODE OF WS TO ERROR-CODE OF ERROR-REPLY WRITE ERROR-REPLY. READ-MESSAGE. IF MESSAGE-NUMBER = 0 MOVE "THIS IS MESSAGE ZERO" TO SERVER-RECORD ELSE IF MESSAGE-NUMBER = 1 MOVE "THIS IS MESSAGE NUMBER ONE" TO SERVER-RECORD ELSE IF MESSAGE-NUMBER = 2 MOVE "THIS IS MESSAGE NUMBER TWO" TO SERVER-RECORD ELSE PERFORM INVALID-MESSAGE-NUMBER. FUNCTION-NOT-SUPPORTED. MOVE 1 TO ERROR-CODE OF WS. INVALID-MESSAGE-NUMBER. MOVE 2 TO ERROR-CODE OF WS.
Thu 
05/31/2007 15:05:45
 Tandem  Sample Requester

 SCREEN COBOL - REQUESTER PROGRAM

IDENTIFICATION DIVISION.
PROGRAM-ID. EXAMPLE-SCREEN-PROGRAM.
ENVIRONMENT DIVISION.
CONFIGURATION SECTION.
   SOURCE-COMPUTER. T16.
   OBJECT-COMPUTER. T16,
   TERMINAL IS T16-6520.
SPECIAL-NAMES.
   F1-KEY IS F1, F2-KEY IS F2, F15-KEY IS F15, F16-KEY IS F16
   SF1-KEY IS SF1, SF16-KEY IS SF16, ATTENTION IS REVERSE.
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS.
   02 ERROR-MSG PIC X(64).
01 EXIT-FLAG PIC 9 VALUE 0.
   88 EXIT-PROGRAM VALUE 1.
01 SEND-ERROR-FLAG PIC 99.
01 ENTRY-MSG.
   02 PW-HEADER.
      04 REPLY-CODE PIC S9(4) COMP.
      04 FUNCTION-CODE PIC XX.
         02 MESSAGE-NUMBER PIC 9.
01 ENTRY-REPLY.
   02 PW-HEADER.
      04 REPLY-CODE PIC S9(4) COMP.
      04 FILLER PIC X(2).
   02 SERVER-RECORD PIC X(64).
01 ERROR-REPLY.
   02 REPLY-CODE PIC 9(4) COMP.
   02 FILLER PIC X(2).
   02 ERROR-CODE PIC 999 COMP.
SCREEN SECTION.
01 EXAMPLE-SCREEN BASE SIZE 24, 80.
   03 FILLER				AT 1, 20	VALUE "EXAMPLE SCREEN COBOL PROGRAM".
   03 FILLER				AT 10, 1	VALUE "MESSAGE NUMBER :".
   03 MESSAGE-NUMBER 			AT 10, * + 2 	PIC 9, 
							USING MESSAGE-NUMBER OF ENTRY-MSG.
   03 MESSAGE-TEXT	AT 12, 1	PIC X(64) 	FROM SERVER-RECORD OF ENTRY-REPLY.
   03 FILLER				AT 21, 15 	VALUE "F1 - READ F16 - EXIT PROGRAM".
   03 ERROR-MSG		AT 24, 2	PIC X(64) 	ADVISORY FROM ERROR-MSG OF WS.
PROCEDURE DIVISION.
A-MAIN.
   DISPLAY BASE EXAMPLE-SCREEN.
   MOVE 0 TO MESSAGE-NUMBER OF ENTRY-MSG.
   DISPLAY MESSAGE-NUMBER OF EXAMPLE-SCREEN.
   PERFORM CASE-MANAGER UNTIL EXIT-PROGRAM.
A-EXIT.
   EXIT PROGRAM.
CASE-MANAGER.
   ACCEPT MESSAGE-NUMBER OF EXAMPLE-SCREEN 
UNTIL F1-KEY ESCAPE ON F16-KEY (F2-KEY THROUGH F15-KEY, SF1-KEY THROUGH SF16-KEY). PERFORM ONE OF READ-MESSAGE, SET-EXIT, KEY-NOT-SUPPORTED DEPENDING ON TERMINATION-STATUS. READ-MESSAGE. MOVE "01" TO FUNCTION-CODE OF ENTRY-MSG. PERFORM SEND-DATA. SET-EXIT. MOVE 1 TO EXIT-FLAG. KEY-NOT-SUPPORTED. MOVE "FUNCTION KEY NOT SUPPORTED" TO ERROR-MSG OF WS. PERFORM DISPLAY-ADVISORY. SEND-DATA. MOVE 0 TO SEND-ERROR-FLAG. SEND ENTRY-MSG TO "EXAMPLE-SERVER" REPLY CODE 0 YIELDS ENTRY-REPLY CODE 999 YIELDS ERROR-REPLY ON ERROR PERFORM SEND-ERROR. IF SEND-ERROR-FLAG = 99 DISPLAY TEMP "SEND ERROR" IN ERROR-MSG OF EXAMPLE-SCREEN ELSE
PERFORM ONE OF PARA-1 PARA-2 DEPENDING ON TERMINATION-STATUS. PARA-1. MOVE SPACES TO ERROR-MSG OF WS DISPLAY MESSAGE-TEXT OF EXAMPLE-SCREEN, ERROR-MSG OF EXAMPLE-SCREEN. PARA-2. PERFORM SETUP-SERVER-ERROR PERFORM DISPLAY-ADVISORY. SEND-ERROR. MOVE 99 TO SEND-ERROR-FLAG. SETUP-SERVER-ERROR. IF ERROR-CODE = 1
MOVE "SERVER FUNCTION NOT SUPPORTED" TO ERROR-MSG OF WS ELSE IF ERROR-CODE = 2 MOVE "MESSAGE DOES NOT EXIST FOR SPECIFIED NUMBER" TO ERROR-MSG OF WS ELSE MOVE "UNKNOWN SERVER ERROR" TO ERROR-MSG OF WS. DISPLAY-ADVISORY. DISPLAY TEMP ERROR-MSG OF EXAMPLE-SCREEN. TURN TEMP ATTENTION IN ERROR-MSG OF EXAMPLE-SCREEN.

<< 06/2006 < 05/2007 Calendar 07/2007 > 06/2008 >>Sign InView Other Logs