IDENTIFICATION DIVISION.
       PROGRAM-ID. TABLSOUP.
       AUTHOR. GROCER.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
       SELECT INPUT-FILE ASSIGN TO "C:\PCOBWIN\TABLES\STUTRAN.DAT".
       SELECT PRINT-FILE ASSIGN TO "A:\OUTTNIND".
       DATA DIVISION.
       FILE SECTION.
       FD  INPUT-FILE
	   DATA RECORD IS INPUT-REC.
       01  INPUT-REC.
           05  ORDER-NO        PIC 9999.
           05  ITEM-NUMBER-IN  PIC 99.
       FD  PRINT-FILE
	   DATA RECORD IS PRINTZ.
       01  PRINTZ.
           05  FILLER                  PIC X.
           05  ORDER-NO-PR             PIC 9999.
           05  FILLER                  PIC X(10).
           05  ITEM-NUMBER-IN-PR       PIC 99.
           05  FILLER                  PIC X(10).
           05  ITEM-NAME-PR            PIC X(15).
           05  FILLER                  PIC X(38).
       WORKING-STORAGE SECTION.
       01  INDICATORS.
           05  MORE-RECS               PIC XXX     VALUE "YES".
           05  MATCH-IND               PIC XXX     VALUE "NO".
       01  SUBSCRIPTS.
           05  ITEM-SUB                PIC 99      VALUE 0.
       01  TABLE-COMBINED.
           05  FILLER PIC X(17) VALUE "03SEAFOOD CHOWDER".
           05  FILLER PIC X(17) VALUE "12CORN CHOWDER   ".
           05  FILLER PIC X(17) VALUE "15CLAM CHOWDER   ".
           05  FILLER PIC X(17) VALUE "17TOMATO SOUP    ".
           05  FILLER PIC X(17) VALUE "24CHICKEN SOUP   ".
           05  FILLER PIC X(17) VALUE "25VEGETABLE SOUP ".
           05  FILLER PIC X(17) VALUE "27ONION SOUP     ".
           05  FILLER PIC X(17) VALUE "28GREEN PEA SOUP ".
           05  FILLER PIC X(17) VALUE "45WONTON SOUP    ".
       01  RDF-TABLE-COMBINED REDEFINES TABLE-COMBINED.
           05  ENTRIES  OCCURS 9 TIMES.
               10  ITEM-NUMBER-TBL   PIC 99.
               10  ITEM-NAME-TBL     PIC X(15).
       01  PAGE-CONTROL.
	   05  PAGE-NO	       PIC 99	 VALUE 1.
	   05  LINE-CT	       PIC 99	 VALUE 0.
       01  DATE-WS.
	   05  YR-WS	       PIC 99	 VALUE 0.
	   05  MO-WS	       PIC 99	 VALUE 0.
	   05  DA-WS	       PIC 99	 VALUE 0.
       01  PAGE-HDR.
	   05  FILLER	       PIC XX	 VALUE SPACES.
	   05  DATE-HDR.
	       10  MO-HDR      PIC 99.
	       10  FILLER      PIC X	 VALUE "/".
	       10  DA-HDR      PIC 99.
	       10  FILLER      PIC X	 VALUE "/".
	       10  YR-HDR      PIC 99.
           05  FILLER          PIC X(24) VALUE SPACES.
           05  FILLER          PIC X(11) VALUE "SOUP REPORT".
           05  FILLER          PIC X(23) VALUE SPACES.
	   05  FILLER	       PIC X(5)  VALUE "PAGE ".
	   05  PAGE-NO-HDR     PIC Z9.
	   05  FILLER	       PIC X(5)  VALUE SPACES.
       01  COLUMN-HDR.
	   05  FILLER	       PIC X	 VALUE SPACES.
           05  FILLER          PIC X(5)  VALUE "ORDER".
           05  FILLER          PIC X(7)  VALUE SPACES.
           05  FILLER          PIC X(6)  VALUE "ITEM #".
           05  FILLER          PIC X(8)  VALUE SPACES.
           05  FILLER          PIC X(9)  VALUE "ITEM NAME".
           05  FILLER          PIC X(44) VALUE SPACES.
       PROCEDURE DIVISION.
       MAINLINE.
           PERFORM A-100-INITIALIZE.
           PERFORM B-100-PROCESS.
           PERFORM C-100-WRAPUP.
           STOP RUN.
       A-100-INITIALIZE.
	   OPEN INPUT INPUT-FILE
		OUTPUT PRINT-FILE.
           PERFORM U-000-DATE-ROUT.
       B-100-PROCESS.
	   READ INPUT-FILE
	       AT END
		   MOVE "NO " TO MORE-RECS.
           PERFORM B-200-LOOP
	       UNTIL MORE-RECS = "NO ".
       B-200-LOOP.
	   IF LINE-CT > 55 OR PAGE-NO = 1
               PERFORM B-310-HDR-ROUT.
           MOVE SPACES TO PRINTZ.
           MOVE ORDER-NO TO ORDER-NO-PR.
           MOVE ITEM-NUMBER-IN TO ITEM-NUMBER-IN-PR.
           MOVE 1 TO ITEM-SUB.
           PERFORM B-300-SEARCH
               UNTIL ITEM-SUB > 9 OR
               ITEM-NUMBER-IN = ITEM-NUMBER-TBL (ITEM-SUB).
           IF ITEM-SUB > 9
               MOVE "*** INVALID ***" TO ITEM-NAME-PR
           ELSE
               MOVE ITEM-NAME-TBL (ITEM-SUB) TO ITEM-NAME-PR
           END-IF
	   WRITE PRINTZ
	       AFTER ADVANCING 1 LINES.
           ADD 1 TO LINE-CT.
           READ INPUT-FILE
               AT END
                  MOVE "NO " TO MORE-RECS.
       B-300-SEARCH.
           ADD 1 TO ITEM-SUB.
       B-310-HDR-ROUT.
	   MOVE PAGE-NO TO PAGE-NO-HDR.
	   WRITE PRINTZ FROM PAGE-HDR
	       AFTER ADVANCING PAGE.
	   WRITE PRINTZ FROM COLUMN-HDR
	       AFTER ADVANCING 2 LINES.
           PERFORM U-010-BLANK-LINE.
	   ADD 1 TO PAGE-NO.
           MOVE 4 TO LINE-CT.
       C-100-WRAPUP.
           CLOSE INPUT-FILE
                 PRINT-FILE.
       U-000-DATE-ROUT.
	   ACCEPT DATE-WS FROM DATE.
	   MOVE MO-WS TO MO-HDR.
	   MOVE DA-WS TO DA-HDR.
	   MOVE YR-WS TO YR-HDR.
       U-010-BLANK-LINE.
	   MOVE SPACES TO PRINTZ.
	   WRITE PRINTZ
               AFTER ADVANCING 1 LINES.