000100 IDENTIFICATION DIVISION. 00010007 000200 PROGRAM-ID. TABLE9. 00020007 000300******************************************************************00030007 000400* PROGRAM TO ILLUSTRATE THREE-LEVEL TABLE HANDLING - USE JCLPRO5I 00040007 000500******************************************************************00050007 000600 ENVIRONMENT DIVISION. 00060007 000700 DATA DIVISION. 00070007 000800 WORKING-STORAGE SECTION. 00080007 000810 01 AGE-SUB PIC 9 COMP. 00081007 000900 01 LOCATION-SUB PIC 9 COMP. 00090007 001000 01 TYPE-SUB PIC 9 COMP. 00100007 001100 01 TABLE-VALUES. 00110007 001200 05 PIC X(20) VALUE '58203958291738592839'. 00120007 001300 05 PIC X(20) VALUE '69339589401838502934'. 00130007 001400 05 PIC X(20) VALUE '01928993850287398292'. 00140007 001500 05 PIC X(20) VALUE '59481029375893828608'. 00150007 001600 05 PIC X(20) VALUE '39492838572938477662'. 00160007 001700 01 REAL-TABLE REDEFINES TABLE-VALUES. 00170007 001800 05 AGE OCCURS 2 TIMES. 00180007 001900 10 LOCATION OCCURS 5 TIMES. 00190007 002000 15 DRIVER-TYPE OCCURS 2 TIMES. 00200007 002100 20 RATE PIC 999V99. 00210007 002200 01 TOTAL-RATES PIC 9999V99 VALUE 0. 00220007 002300 01 AVERAGE-RATE PIC $$$$.99. 00230007 002310 01 TEMP-HIGH PIC 999V99 VALUE 0. 00231009 002320 01 EDITED-HIGH PIC $$$$.99. 00232009 002400 PROCEDURE DIVISION. 00240007 002500 DISPLAY 'RATE (2 3 1) = ' RATE (2 3 1). 00250008 002600 PERFORM 100-ADD-UP VARYING AGE-SUB FROM 1 BY 1 00260007 002700 UNTIL AGE-SUB > 2 00270007 002800 AFTER LOCATION-SUB FROM 1 BY 1 UNTIL LOCATION-SUB > 5 00280007 002810 AFTER TYPE-SUB FROM 1 BY 1 UNTIL TYPE-SUB > 2. 00281007 002900 DIVIDE 20 INTO TOTAL-RATES GIVING AVERAGE-RATE. 00290007 003000 DISPLAY 'THE AVERAGE RATE IS ' AVERAGE-RATE. 00300007 003100 STOP RUN. 00310007 003200 100-ADD-UP. 00320007 003300 ADD RATE (AGE-SUB LOCATION-SUB TYPE-SUB) TO TOTAL-RATES. 00330007 ******************************** Bottom of Data ******************************** OUTPUT RATE (2 3 1) = 58938 THE AVERAGE RATE IS $498.34