IDENTIFICATION DIVISION. PROGRAM-ID. ATEST-SCOBOL. DATE-WRITTEN. 05/05/05 - 08:00:00. DATE-COMPILED. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. T16. OBJECT-COMPUTER. T16, TERMINAL IS T16-6530. SPECIAL-NAMES. ATEST-HIGHLIGHT IS ( REVERSE, NORMAL ), ATEST-LOWLIGHT IS ( REVERSE, DIM ), ATEST-BRIGHT IS NORMAL, ATEST-NORMAL IS NORMAL, ATEST-DIM IS DIM, ATEST-REVERSE IS REVERSE, ATEST-UNDERLINE IS UNDERLINE, ATEST-HIDDEN IS HIDDEN, ATEST-PROTECTED IS PROTECTED, ATEST-BLINK IS BLINK, ATEST-NEXT-PAGE IS NEXT-PAGE, ATEST-PREV-PAGE IS PREV-PAGE, ATEST-START-EXACT IS F1, ATEST-START-NEXT IS F2, ATEST-START-PREV IS F3, ATEST-READ-EXACT IS F4, ATEST-READ-NEXT IS F5, ATEST-READ-PREV IS F6, ATEST-WRITE IS F7, ATEST-UPDATE IS F8, ATEST-DELETE IS F9, ATEST-A-ADD IS F11, ATEST-A-SUB IS F12, ATEST-A-MUL IS F13, ATEST-A-DIV IS F14, ATEST-C-ADD IS SF11, ATEST-C-SUB IS SF12, ATEST-C-MUL IS SF13, ATEST-C-DIV IS SF14, ATEST-CHAR-TEST IS F10, ATEST-NSK-TEST IS SF10, ATEST-DONE IS F16, ATEST-ALLDONE IS F16. INPUT-OUTPUT SECTION. SCREEN-CONTROL. // DATA DIVISION. WORKING-STORAGE SECTION. 01 EXIT-FLAG PIC 9 COMP VALUE 0. 88 EXIT-FLAG-TRUE VALUE 1. 01 THIS-PAGE PIC 9 COMP VALUE 1. 01 RET-STR. 04 RET-STR1 PIC 9(4) VALUE 0. 04 RET-FIL1 PIC X(1) VALUE "/". 04 RET-STR2 PIC 9(2) VALUE 0. 04 RET-FIL2 PIC X(1) VALUE "/". 04 RET-STR3 PIC 9(2) VALUE 0. 04 RET-FIL3 PIC X(1) VALUE " ". 04 RET-STR4 PIC 9(2) VALUE 0. 04 RET-FIL4 PIC X(1) VALUE ":". 04 RET-STR5 PIC 9(2) VALUE 0. 04 RET-FIL5 PIC X(1) VALUE ":". 04 RET-STR6 PIC 9(2) VALUE 0. 04 RET-FIL6 PIC X(1) VALUE ":". 04 RET-STR7 PIC 9(2) VALUE 0. COPY COB-REC OF "COBOLREC". // SCREEN SECTION. 01 SCREEN1-MAIN BASE SIZE 24, 80. 02 FILLER AT 1, 33 VALUE "Screen 1" ATEST-REVERSE. 02 FILLER AT 7, 2 VALUE "PX" ATEST-BRIGHT. 02 FILLER AT 7, 5 VALUE "Pic X5" ATEST-BRIGHT. 02 FILLER AT 7, 12 VALUE "Pic X6" ATEST-BRIGHT. 02 FILLER AT 7, 20 VALUE "Pic A6" ATEST-BRIGHT. 02 FILLER AT 7, 30 VALUE " Pic S9(8)V9(8) " ATEST-BRIGHT. 02 FILLER AT 7, 49 VALUE "Pic S9(8)V9(2)" ATEST-BRIGHT. 02 FILLER AT 7, 66 VALUE "Pic 9(8)" ATEST-BRIGHT. 02 FILLER AT 7, 76 VALUE "99" ATEST-BRIGHT. 02 SCREEN-KEY-BYTE AT 9, 2 VALUE "1" PIC X(1) USING KEY-BYTE. 02 SCREEN-KEY-ODD AT 9, 5 VALUE " " PIC X(5) USING KEY-ODD. 02 SCREEN-KEY-EVEN AT 9, 12 VALUE " " PIC X(6) USING KEY-EVEN. 02 SCREEN-KEY-A6 AT 9, 20 VALUE " " PIC X(6) USING KEY-A6. 02 SCREEN-KEY-SR AT 9, 30 VALUE " " PIC S9(8)V9(8) USING KEY-SR. 02 SCREEN-KEY-USR AT 9, 50 VALUE " " PIC S9(8)V9(2) USING KEY-USR. 02 SCREEN-KEY-P9L AT 9, 66 VALUE " " PIC 9(8) USING KEY-P9L. 02 SCREEN-KEY-P9S AT 9, 76 VALUE " " PIC 9(2) USING KEY-P9S. 02 SCREEN-O-BYTE AT 12, 2 VALUE " " PIC X(1) FROM KEY-BYTE. 02 SCREEN-O-ODD AT 12, 5 VALUE " " PIC X(5) FROM KEY-ODD. 02 SCREEN-O-EVEN AT 12, 12 VALUE " " PIC X(6) FROM KEY-EVEN. 02 SCREEN-O-A6 AT 12, 20 VALUE " " PIC X(6) FROM KEY-A6. 02 SCREEN-O-SR AT 12, 30 VALUE " " PIC S9(8)V9(8) FROM KEY-SR. 02 SCREEN-O-USR AT 12, 50 VALUE " " PIC S9(8)V9(2) FROM KEY-USR. 02 SCREEN-O-P9L AT 12, 66 VALUE " " PIC 9(8) FROM KEY-P9L. 02 SCREEN-O-P9S AT 12, 76 VALUE " " PIC 9(2) FROM KEY-P9S. 02 SCREEN1-PASSED AT 18, 08 VALUE "PASSED = " PIC X(20) FROM PASSED. 02 SCREEN1-FAILED AT 18, 58 VALUE "FAILED = " PIC X(20) FROM FAILED. 02 FILLER AT 20, 33 VALUE " DataBase Tests " ATEST-LOWLIGHT. 02 FILLER AT 23, 01 VALUE "F1=StEx" ATEST-HIGHLIGHT. 02 FILLER AT 23, 10 VALUE "F2=StNx" ATEST-HIGHLIGHT. 02 FILLER AT 23, 19 VALUE "F3=StPr" ATEST-HIGHLIGHT. 02 FILLER AT 23, 28 VALUE "F4=RdEx" ATEST-HIGHLIGHT. 02 FILLER AT 23, 37 VALUE "F5=RdNx" ATEST-HIGHLIGHT. 02 FILLER AT 23, 46 VALUE "F6=RdPr" ATEST-HIGHLIGHT. 02 FILLER AT 23, 57 VALUE "F7=Wrt" ATEST-HIGHLIGHT. 02 FILLER AT 23, 65 VALUE "F8=Upd" ATEST-HIGHLIGHT. 02 FILLER AT 23, 74 VALUE "F9=Del" ATEST-HIGHLIGHT. // 01 SCREEN2-MAIN BASE SIZE 24, 80. 02 FILLER AT 1, 33 VALUE "Screen 2" ATEST-REVERSE. 02 FILLER AT 7, 2 VALUE "PX" ATEST-BRIGHT. 02 FILLER AT 7, 5 VALUE "Pic X5" ATEST-BRIGHT. 02 FILLER AT 7, 12 VALUE "Pic X6" ATEST-BRIGHT. 02 FILLER AT 7, 20 VALUE "Pic A6" ATEST-BRIGHT. 02 FILLER AT 7, 30 VALUE " Pic S9(8)V9(8) " ATEST-BRIGHT. 02 FILLER AT 7, 49 VALUE "Pic S9(8)V9(2)" ATEST-BRIGHT. 02 FILLER AT 7, 66 VALUE "Pic 9(8)" ATEST-BRIGHT. 02 FILLER AT 7, 76 VALUE "99" ATEST-BRIGHT. 02 SCREEN2-KEY-SR AT 9, 30 VALUE "0000000100000000" PIC S9(8)V9(8) USING KEY-SR. 02 SCREEN2-KEY-USR AT 9, 50 VALUE " " PIC S9(8)V9(2) USING KEY-USR. 02 SCREEN2-KEY-P9L AT 9, 66 VALUE " " PIC 9(8) USING KEY-P9L. 02 SCREEN2-KEY-P9S AT 9, 76 VALUE " " PIC 9(2) USING KEY-P9S. 02 SCREEN2-I-SR AT 12, 30 VALUE "0000000200000000" PIC S9(8)V9(8) USING I-SR. 02 SCREEN2-I-USR AT 12, 50 VALUE " " PIC S9(8)V9(2) USING I-USR. 02 SCREEN2-I-P9L AT 12, 66 VALUE " " PIC 9(8) USING I-P9L. 02 SCREEN2-I-P9S AT 12, 76 VALUE " " PIC 9(2) USING I-P9S. 02 SCREEN2-O-SR AT 15, 30 VALUE "0000000000000000" PIC S9(8)V9(8) FROM O-SR. 02 SCREEN2-O-USR AT 15, 50 VALUE " " PIC S9(8)V9(2) FROM O-USR. 02 SCREEN2-O-P9L AT 15, 66 VALUE " " PIC 9(8) FROM O-P9L. 02 SCREEN2-O-P9S AT 15, 76 VALUE " " PIC 9(2) FROM O-P9S. 02 SCREEN2-PASSED AT 18, 08 VALUE " " PIC X(20) FROM PASSED. 02 SCREEN2-FAILED AT 18, 58 VALUE " " PIC X(20) FROM FAILED. 02 FILLER AT 20, 33 VALUE " Compute Tests " ATEST-LOWLIGHT. 02 FILLER AT 23, 15 VALUE "F11=Add" ATEST-HIGHLIGHT. 02 FILLER AT 23, 24 VALUE "F12=Del" ATEST-HIGHLIGHT. 02 FILLER AT 23, 33 VALUE "F13=Mul" ATEST-HIGHLIGHT. 02 FILLER AT 23, 42 VALUE "F14=Div" ATEST-HIGHLIGHT. 02 FILLER AT 23, 52 VALUE "F16=Exit" ATEST-HIGHLIGHT. 02 FILLER AT 24, 36 VALUE "SF16=Exit" ATEST-HIGHLIGHT. // 01 SCREEN3-MAIN BASE SIZE 24, 80. 02 FILLER AT 1, 33 VALUE "Screen 3" ATEST-REVERSE. 02 FILLER AT 7, 2 VALUE "PX" ATEST-BRIGHT. 02 FILLER AT 7, 5 VALUE "Pic X5" ATEST-BRIGHT. 02 FILLER AT 7, 12 VALUE "Pic X6" ATEST-BRIGHT. 02 FILLER AT 7, 20 VALUE "Pic A6" ATEST-BRIGHT. 02 FILLER AT 7, 30 VALUE " Pic S9(8)V9(8) " ATEST-BRIGHT. 02 FILLER AT 7, 49 VALUE "Pic S9(8)V9(2)" ATEST-BRIGHT. 02 FILLER AT 7, 66 VALUE "Pic 9(8)" ATEST-BRIGHT. 02 FILLER AT 7, 76 VALUE "99" ATEST-BRIGHT. 02 SCREEN3-KEY-BYTE AT 9, 2 VALUE " " PIC X(1) USING KEY-BYTE. 02 SCREEN3-KEY-ODD AT 9, 5 VALUE " " PIC X(5) USING KEY-ODD. 02 SCREEN3-KEY-EVEN AT 9, 12 VALUE " " PIC X(6) USING KEY-EVEN. 02 SCREEN3-KEY-A6 AT 9, 20 VALUE " " PIC X(6) USING KEY-A6. 02 SCREEN3-KEY-SR AT 9, 30 VALUE " " PIC S9(8)V9(8) USING KEY-SR. 02 SCREEN3-KEY-USR AT 9, 50 VALUE " " PIC S9(8)V9(2) USING KEY-USR. 02 SCREEN3-KEY-P9L AT 9, 66 VALUE " " PIC 9(8) USING KEY-P9L. 02 SCREEN3-KEY-P9S AT 9, 76 VALUE " " PIC 9(2) USING KEY-P9S. 02 SCREEN3-RET-BYTE AT 12, 18 VALUE " " PIC X FROM RET-BYTE ATEST-BRIGHT. 02 SCREEN3-RET-STR AT 15, 1 PIC X(22) FROM RET-STR. 02 SCREEN3-RET-ALPHA AT 15, 35 PIC X(40) FROM RET-ALPHA ATEST-BRIGHT. 02 SCREEN3-PASSED AT 18, 08 VALUE " " PIC X(20) FROM PASSED. 02 SCREEN3-FAILED AT 18, 58 VALUE " " PIC X(20) FROM FAILED. 02 FILLER AT 20, 33 VALUE " GUARDIAN Tests " ATEST-LOWLIGHT. 02 FILLER AT 23, 24 VALUE "F10=Char" ATEST-HIGHLIGHT. 02 FILLER AT 23, 33 VALUE "SF10=NSK" ATEST-HIGHLIGHT. 02 FILLER AT 23, 42 VALUE "F16=Exit" ATEST-HIGHLIGHT. 02 FILLER AT 24, 36 VALUE "SF16=Exit" ATEST-HIGHLIGHT. // PROCEDURE DIVISION. DECLARATIVES. TEST1-SCREEN-RECOVERY SECTION. USE FOR SCREEN RECOVERY. TEST1-RECOVER. MOVE 1 TO EXIT-FLAG. TEST1-END-RECOVER. EXIT. END DECLARATIVES. 0000-MAIN SECTION. MOVE 0 TO EXIT-FLAG. MOVE "1" TO KEY-BYTE. MOVE "00001" TO KEY-ODD. MOVE "000001" TO KEY-EVEN. MOVE "ABCDEF" TO KEY-A6. MOVE "0000000000000001" TO KEY-SR. MOVE "0000000001" TO KEY-USR. MOVE "00000001" TO KEY-P9L. MOVE "01" TO KEY-P9S. MOVE "0000000000000002" TO I-SR. MOVE "0000000000" TO I-USR. MOVE "00000000" TO I-P9L. MOVE "00" TO I-P9S. MOVE "0000000000000003" TO O-SR. MOVE "0000000000" TO O-USR. MOVE "00000000" TO O-P9L. MOVE "00" TO O-P9S. PERFORM 0001-SCREENS THRU 0001-SCREENS-EXIT UNTIL EXIT-FLAG-TRUE. 0000-MAIN-EXIT. EXIT PROGRAM. 0001-SCREENS. IF THIS-PAGE EQUAL 1 PERFORM 0001-ACCEPT-PAGE1 ELSE IF THIS-PAGE EQUAL 2 PERFORM 0002-ACCEPT-PAGE2 ELSE IF THIS-PAGE EQUAL 3 PERFORM 0003-ACCEPT-PAGE3. IF COB-CODE OF COB-REC > 0 SEND COB-REC TO "COBSERV" REPLY CODE 0 YIELDS COB-REC ON ERROR PERFORM ATEST-PRESENT-ALLSCREEN-EXIT. 0001-SCREENS-EXIT. EXIT. 0001-ACCEPT-PAGE1. PERFORM ATEST-PRESENT-SCREEN-01. ACCEPT SCREEN1-MAIN UNTIL ATEST-START-EXACT , ATEST-START-NEXT , ATEST-START-PREV , ATEST-READ-EXACT , ATEST-READ-NEXT , ATEST-READ-PREV , ATEST-WRITE , ATEST-UPDATE , ATEST-DELETE , ATEST-NEXT-PAGE , ATEST-PREV-PAGE , ESCAPE ON ATEST-DONE , ATEST-ALLDONE . PERFORM ONE OF ATEST-KEY-START , ATEST-KEY-NEXT , ATEST-KEY-PREV , ATEST-GET-EXACT , ATEST-GET-NEXT , ATEST-GET-PREV , ATEST-WRITEIT , ATEST-UPDATEIT , ATEST-DELETEIT , ATEST-NEXT-PAGEIT , ATEST-PREV-PAGEIT , ATEST-PRESENT-ALLSCREEN-EXIT, ATEST-PRESENT-ALLSCREEN-EXIT, DEPENDING ON TERMINATION-STATUS. 0002-ACCEPT-PAGE2. PERFORM ATEST-PRESENT-SCREEN-02. ACCEPT SCREEN2-MAIN UNTIL ATEST-A-ADD , ATEST-A-SUB , ATEST-A-MUL , ATEST-A-DIV , ATEST-C-ADD , ATEST-C-SUB , ATEST-C-MUL , ATEST-C-DIV , ATEST-NEXT-PAGE , ATEST-PREV-PAGE , ESCAPE ON ATEST-DONE , ATEST-ALLDONE . PERFORM ONE OF ATEST-A-ADDIT , ATEST-A-SUBIT , ATEST-A-MULIT , ATEST-A-DIVIT , ATEST-C-ADDIT , ATEST-C-SUBIT , ATEST-C-MULIT , ATEST-C-DIVIT , ATEST-NEXT-PAGEIT , ATEST-PREV-PAGEIT , ATEST-PRESENT-ALLSCREEN-EXIT, ATEST-PRESENT-ALLSCREEN-EXIT, DEPENDING ON TERMINATION-STATUS. 0003-ACCEPT-PAGE3. PERFORM ATEST-PRESENT-SCREEN-03. ACCEPT SCREEN3-MAIN UNTIL ATEST-CHAR-TEST , ATEST-NSK-TEST , ATEST-NEXT-PAGE , ATEST-PREV-PAGE , ESCAPE ON ATEST-DONE , ATEST-ALLDONE . PERFORM ONE OF ATEST-CHAR , ATEST-NSK , ATEST-NEXT-PAGEIT , ATEST-PREV-PAGEIT , ATEST-PRESENT-ALLSCREEN-EXIT, ATEST-PRESENT-ALLSCREEN-EXIT, DEPENDING ON TERMINATION-STATUS. ATEST-PRESENT-SCREEN-01. MOVE 1 TO THIS-PAGE. MOVE SPACES TO PASSED. MOVE SPACES TO FAILED. DISPLAY BASE SCREEN1-MAIN. DISPLAY SCREEN1-MAIN. ATEST-KEY-START. MOVE 1 TO COB-CODE OF COB-REC. ATEST-KEY-NEXT. MOVE 2 TO COB-CODE OF COB-REC. ATEST-KEY-PREV. MOVE 3 TO COB-CODE OF COB-REC. ATEST-GET-EXACT. MOVE 4 TO COB-CODE OF COB-REC. ATEST-GET-NEXT. MOVE 5 TO COB-CODE OF COB-REC. ATEST-GET-PREV. MOVE 6 TO COB-CODE OF COB-REC. ATEST-WRITEIT. MOVE 7 TO COB-CODE OF COB-REC. ATEST-UPDATEIT. MOVE 8 TO COB-CODE OF COB-REC. ATEST-DELETEIT. MOVE 9 TO COB-CODE OF COB-REC. // ATEST-PRESENT-SCREEN-02. MOVE 2 TO THIS-PAGE. MOVE SPACES TO PASSED. MOVE SPACES TO FAILED. DISPLAY BASE SCREEN2-MAIN. DISPLAY SCREEN2-MAIN. ATEST-PRESENT-SCREEN-02-EXIT. EXIT. ATEST-A-ADDIT. MOVE 31 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. ATEST-A-SUBIT. MOVE 32 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. ATEST-A-MULIT. MOVE 33 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. ATEST-A-DIVIT. MOVE 34 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. ATEST-C-ADDIT. MOVE 41 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. ATEST-C-SUBIT. MOVE 42 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. ATEST-C-MULIT. MOVE 43 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. ATEST-C-DIVIT. MOVE 44 TO COB-CODE OF COB-REC. TURN TEMP ATEST-BRIGHT IN SCREEN2-FAILED. TURN TEMP ATEST-BRIGHT IN SCREEN2-PASSED. // ATEST-PRESENT-SCREEN-03. MOVE 3 TO THIS-PAGE. MOVE SPACES TO PASSED. MOVE SPACES TO FAILED. MOVE RET-NUM0 TO RET-STR1. MOVE RET-NUM1 TO RET-STR2. MOVE RET-NUM2 TO RET-STR3. MOVE RET-NUM3 TO RET-STR4. MOVE RET-NUM4 TO RET-STR5. MOVE RET-NUM5 TO RET-STR6. MOVE RET-NUM6 TO RET-STR7. DISPLAY BASE SCREEN3-MAIN. DISPLAY SCREEN3-MAIN. ATEST-PRESENT-SCREEN-03-EXIT. EXIT. ATEST-CHAR. MOVE 50 TO COB-CODE OF COB-REC. ATEST-NSK. MOVE 60 TO COB-CODE OF COB-REC. ATEST-NEXT-PAGEIT. IF THIS-PAGE EQUAL 1 PERFORM ATEST-PRESENT-SCREEN-02 ELSE IF THIS-PAGE EQUAL 2 PERFORM ATEST-PRESENT-SCREEN-03 ELSE IF THIS-PAGE EQUAL 3 PERFORM ATEST-PRESENT-SCREEN-01. ATEST-PREV-PAGEIT. IF THIS-PAGE EQUAL 3 PERFORM ATEST-PRESENT-SCREEN-02 ELSE IF THIS-PAGE EQUAL 2 PERFORM ATEST-PRESENT-SCREEN-01 ELSE IF THIS-PAGE EQUAL 1 PERFORM ATEST-PRESENT-SCREEN-03. ATEST-PRESENT-ALLSCREEN-EXIT. EXIT.