IDENTIFICATION DIVISION.                                         
       PROGRAM-ID. SALES.                                               
       AUTHOR. MARTIN O SULLIVAN                                        
       INSTALLATION. MOYLISH.                                           
       DATE-WRITTEN. APRIL 1998.                                     
                                                                        
                                                                        
       ENVIRONMENT DIVISION.                                            
       CONFIGURATION SECTION.                                           
       SOURCE-COMPUTER. IBMAS400.                                       
       OBJECT-COMPUTER. IBMAS400.                                       
       INPUT-OUTPUT SECTION.                                            
       FILE-CONTROL.                                                    
                                                                        
                                                                        
           SELECT CUSTOMER-FILE                                         
           ASSIGN TO DISK-MEASUR1                                       
           ORGANIZATION IS SEQUENTIAL                                   
           ACCESS MODE IS SEQUENTIAL                                    
           FILE STATUS IS WA-FILE-STAT.                                 
           SELECT REPORT-FILE                                           
           ASSIGN TO PRINTER-QSYSPRT                                    
           ORGANIZATION IS SEQUENTIAL                                   
           FILE STATUS IS WB-REP-STAT.                                  
                                                                        
                                                                        
       DATA DIVISION.                                                   
       FILE SECTION.                                                    
       FD CUSTOMER-FILE                                                 
           RECORD CONTAINS 38 CHARACTERS                                
           LABEL RECORDS ARE STANDARD                                   
           DATA RECORD IS FA-HOUSE-RECORD.                              
       01  FA-HOUSE-RECORD.                                             
           03 NAME PIC A(20).                                           
           03 R1-LENGTH PIC 999.                                        
           03 R1-BREADTH PIC 999.                                       
           03 R2-LENGTH PIC 999.                                        
           03 R2-BREADTH PIC 999.                                       
           03 R3-LENGTH PIC 999.                                        
           03 R3-BREADTH PIC 999.                                       
                                                                        
       FD REPORT-FILE                                                   
           LABEL RECORD IS OMITTED                                      
           DATA RECORD IS FB-REP-REC.                                   
       01 FB-REP-REC PIC X(132).                                        
                                                                        
                                                                        
       WORKING-STORAGE SECTION.                                         
                                                                        
       01 WA-FILE-STAT PIC X(2).                                        
       01 WB-REP-STAT PIC X(2).                                         
       01 END-OF-FILE-FLAG PIC X.                                       
           88 END-OF-FILE VALUE "Y".                                    
           88 NOT-END-OF-FILE VALUE "N".                                
       01 R1-AREA PIC 9(5).                                             
       01 R1-COST PIC 9(7)V99.                                          
       01 R2-AREA PIC 9(5).                                             
       01 R2-COST PIC 9(7)V99.                                          
       01 R3-AREA PIC 9(5).                                             
       01 R3-COST PIC 9(7)V99.                                          
       01 HOUSE-COST PIC 9(9)V99.                                       
       01 TOTAL-COST PIC 9(12)V99.                                      
       01 PAGE-NO PIC 99.                                               
       01 LINE-COUNT PIC 99.                                            
       01 THE-DATE.                                                     
           03 THE-YEAR PIC 9(2).                                        
           03 THE-MONTH PIC 9(2).                                       
           03 THE-DAY PIC 9(2).                                         
       01 REPORT-HEADING.                                               
           03 FILLER PIC X(5) VALUE SPACES.                             
           03 FILLER PIC X(9) VALUE "PAGE # :".                         
           03 PAGE-NO-OUT PIC 9(3).                                     
           03 FILLER PIC X(14) VALUE SPACES.                            
           03 FILLER PIC X(35) VALUE                                    
               "FLATWOOD  FLOOR  COVERING  LIMITED".                    
           03 FILLER PIC X(15) VALUE SPACES.                            
           03 FILLER PIC X(7) VALUE "DATE : ".                          
           03 THE-DAY-OUT PIC 9(2).                                     
           03 FILLER PIC X VALUE "/".                                   
           03 THE-MONTH-OUT PIC 9(2).                                   
           03 FILLER PIC X VALUE "/".                                   
           03 THE-YEAR-OUT PIC 9(2).                                    

       01 REPORT-SUB-HEADING.                                           
            03 FILLER PIC X(5) VALUE SPACES.                             
            03 FILLER PIC X(13) VALUE "CUSTOMER NAME".                   
            03 FILLER PIC X(12) VALUE SPACES.                            
            03 FILLER PIC X(8) VALUE "ROOM ONE".                         
            03 FILLER PIC X(14) VALUE SPACES.                            
            03 FILLER PIC X(8) VALUE "ROOM TWO".                         
            03 FILLER PIC X(14) VALUE SPACES.                            
            03 FILLER PIC X(10) VALUE "ROOM THREE".                      
        01 REPORT-SUB-HEADING-2.                                         
            03 FILLER PIC X(30) VALUE SPACES.                            
            03 FILLER PIC X(6) VALUE "SQ.YDS".                           
            03 FILLER PIC X(4) VALUE SPACES.                             
            03 FILLER PIC X(4) VALUE "COST".                             
            03 FILLER PIC X(8) VALUE SPACES.                             
            03 FILLER PIC X(6) VALUE "SQ.YDS".                           
            03 FILLER PIC X(4) VALUE SPACES.                             
            03 FILLER PIC X(4) VALUE "COST".                             
            03 FILLER PIC X(8) VALUE SPACES.                             
            03 FILLER PIC X(6) VALUE "SQ.YDS".                           
            03 FILLER PIC X(4) VALUE SPACES.                             
            03 FILLER PIC X(4) VALUE "COST".                             
           03 FILLER PIC X(13) VALUE SPACES.                            
           03 FILLER PIC X(20) VALUE                                    
               "TOTAL COST PER HOUSE".                                  
       01 DETAIL-LINE.                                                  
          03 FILLER PIC X(5) VALUE SPACES.                              
          03 NAME-OUT PIC X(20).                                        
          03 FILLER PIC X(3) VALUE SPACES.                              
          03 R1-AREA-OUT PIC ZZZZ9.                                     
          03 FILLER PIC X(2) VALUE SPACES.                              
          03 R1-COST-OUT PIC œ,œœœ,œœ9.99.                              
          03 FILLER PIC X(3) VALUE SPACES.                              
          03 R2-AREA-OUT PIC ZZZZ9.                                     
          03 FILLER PIC X(2) VALUE SPACES.                              
          03 R2-COST-OUT PIC œ,œœœ,œœ9.99.                              
          03 FILLER PIC X(3) VALUE SPACES.                              
          03 R3-AREA-OUT PIC ZZZZ9.                                     
          03 FILLER PIC X(2) VALUE SPACES.                              
          03 R3-COST-OUT PIC œ,œœœ,œœ9.99.                              
          03 FILLER PIC X(5) VALUE SPACES.                              
          03 HOUSE-COST-OUT PIC œœœ,œœœ,œœ9.99.                         
       01 FOOTING-LINE.                                                 
          03 FILLER PIC X(30) VALUE SPACES.                             
          03 FILLER PIC X(25) VALUE "***  END  OF  REPORT  ***".        
                                                                        
       01 FOOTING-LINE-2.                                               
          03 FILLER PIC X(61) VALUE SPACES.                             
          03 FILLER PIC X(20) VALUE "OVERALL  TOTAL  COST".             
          03 FILLER PIC X(11) VALUE SPACES.                             
          03 TOTAL-COST-OUT PIC œœœ,œœœ,œœœ,œœ9.99.                     
       01 BLANK-LINE.                                                   
          03 FILLER PIC X(1) VALUE SPACES.                              
                                                                        
       PROCEDURE DIVISION.                                              
                                                                        
       TOP-LEVEL-PARA.                                                  
           PERFORM GET-DATE.                                            
           PERFORM START-UP.                                            
           PERFORM GET-RECORD.                                          
           PERFORM EACH-HOUSE UNTIL END-OF-FILE.                        
           PERFORM CLOSE-DOWN.                                          
           STOP RUN.                                                    
                                                                        
       GET-DATE.                                                        
           ACCEPT THE-DATE FROM DATE.                                   
           MOVE THE-YEAR TO THE-YEAR-OUT.                               
           MOVE THE-MONTH TO THE-MONTH-OUT.                             
           MOVE THE-DAY TO THE-DAY-OUT.                                 
       START-UP.                                                        
           MOVE ZEROS TO LINE-COUNT.                                    
           SET NOT-END-OF-FILE TO TRUE.                                 
           MOVE ZEROS TO TOTAL-COST.                                    
           MOVE 1 TO PAGE-NO.                                           
           OPEN INPUT CUSTOMER-FILE.                                    
           OPEN OUTPUT REPORT-FILE.                                     
           PERFORM WRITE-HEADINGS-PARA.                                 
                                                                        
       WRITE-HEADINGS-PARA.                                             
            MOVE PAGE-NO TO PAGE-NO-OUT.                                 
            WRITE FB-REP-REC FROM REPORT-HEADING AFTER                   
            ADVANCING 1 LINES.                                           
            WRITE FB-REP-REC FROM REPORT-SUB-HEADING AFTER               
            ADVANCING 3 LINES.                                           
            WRITE FB-REP-REC FROM REPORT-SUB-HEADING-2 AFTER             
            ADVANCING 2 LINES.                                           
            ADD 7 TO LINE-COUNT.                                         
                                                                         
        GET-RECORD.                                                      
            READ CUSTOMER-FILE AT END SET END-OF-FILE TO TRUE.           
                                                                         
        EACH-HOUSE.                                                      
            PERFORM POSS-NEW-PAGE.                                       
            MULTIPLY R1-LENGTH BY R1-BREADTH GIVING R1-AREA.             
            MULTIPLY R1-AREA BY 5 GIVING R1-COST.                        
            MULTIPLY R2-LENGTH BY R2-BREADTH GIVING R2-AREA.             
            MULTIPLY R2-AREA BY 5 GIVING R2-COST.                        
            MULTIPLY R3-LENGTH BY R3-BREADTH GIVING R3-AREA.             
            MULTIPLY R3-AREA BY 5 GIVING R3-COST.                        
            ADD R1-COST , R2-COST TO R3-COST GIVING HOUSE-COST.          
            ADD HOUSE-COST TO TOTAL-COST.                                
            MOVE NAME TO NAME-OUT.                                       
            MOVE R1-AREA TO R1-AREA-OUT.                                 
            MOVE R1-COST TO R1-COST-OUT.                                 
            MOVE R2-AREA TO R2-AREA-OUT.                                 
            MOVE R2-COST TO R2-COST-OUT.                                 
            MOVE R3-AREA TO R3-AREA-OUT.                                 
            MOVE R3-COST TO R3-COST-OUT.                                 
            MOVE HOUSE-COST TO HOUSE-COST-OUT.                           
            WRITE FB-REP-REC FROM DETAIL-LINE AFTER ADVANCING 2 LINES.   
            ADD 2 TO LINE-COUNT.                                         
            PERFORM GET-RECORD.                                          
       CLOSE-DOWN.                                                      
           MOVE TOTAL-COST TO TOTAL-COST-OUT.                           
           WRITE FB-REP-REC FROM FOOTING-LINE-2 AFTER ADVANCING 2 LINE. 
           WRITE FB-REP-REC FROM FOOTING-LINE AFTER ADVANCING 2 LINE.   
           CLOSE REPORT-FILE.                                           
           CLOSE CUSTOMER-FILE.                                         
           DISPLAY "END OF PROGRAM - GOOD BY".                          
                                                                        
                                                                        
       POSS-NEW-PAGE.                                                   
           IF LINE-COUNT >= 64                                          
           MOVE ZEROS TO LINE-COUNT                                     
           ADD 1 TO PAGE-NO                                             
           WRITE FB-REP-REC FROM BLANK-LINE AFTER ADVANCING PAGE        
           PERFORM WRITE-HEADINGS-PARA.                                 
                                                                        


   Link back to cobol page