Logo 
Search:

Cobol Articles

Submit Article
Home » Articles » Cobol » Homework HelpRSS Feeds

GENERATE A SALES REPORT OF ELECTRONIC STORE ITEM WISE

Posted By: Francesca Hughes     Category: Cobol     Views: 5316

GENERATE A SALES REPORT OF ELECTRONIC STORE ITEM WISE.

Code for GENERATE A SALES REPORT OF ELECTRONIC STORE ITEM WISE in Cobol

       IDENTIFICATION DIVISION.
        PROGRAM-ID. FLE.

       ENVIRONMENT DIVISION.
        INPUT-OUTPUT SECTION.
         FILE-CONTROL.
               SELECT INP1 ASSIGN TO DISK
                ORGANIZATION IS LINE SEQUENTIAL.
               SELECT OUT1 ASSIGN TO DISK
                ORGANIZATION IS LINE SEQUENTIAL.


       DATA DIVISION.
          FILE SECTION.
               FD INP1
                    LABEL RECORDS ARE STANDARD
                    VALUE OF FILE-ID IS "F:\MCAFY\MCA138\INPUT1.TXT".
                    01 REC1.
                      05 NO1 PIC 9(4).
                      05 NAME1 PIC X(26) .
                      05 UNIT1 PIC X(5).
                      05 RATE1 PIC 9(7).
                      05 QTY1 PIC 9(8).
                      05 GRP1 PIC 99.

               FD OUT1
                    LABEL RECORDS ARE STANDARD
                    VALUE OF FILE-ID IS "F:\MCAFY\MCA138\OUTPUT1.TXT".
                    01 REC2 PIC X(80).


          WORKING-STORAGE SECTION.
             01 DISP.
                05 GRNO1 PIC 9(2) OCCURS 5 TIMES.
                05 NAME2 PIC X(12) OCCURS 5 TIMES.
                05 TSTOCK1 PIC 9(8) OCCURS 5 TIMES.
                05 SVALUE1 PIC 9(14) OCCURS 5 TIMES.

             01 PRINT1.
                05 GRNO2 PIC 9(2). 
                05 FILLER PIC X(5).
                05 NAME3 PIC X(12).
                05 FILLER PIC X(5).
                05 TSTOCK2 PIC 9(8).
                05 FILLER PIC X(5).
                05 SVALUE2 PIC 9(7).
              
            
             01 EOF PIC X VALUE "N".
             01 I PIC 99.
             01 J PIC 99.
             01 HEAD1.
              05 FILLER PIC X(20).          
              05 FILLER PIC X(40) VALUE "SHREE ELECTRONOICS LTD".
             01 HEAD2.
              05 FILLER PIC X(20).
              05 FILLER PIC X(40) VALUE "GROUP WISE STOCK SUMMERY".
             01 HEAD3.
              
              05 FILLER PIC X(80) VALUE ALL "-".
           01 HEAD4.
            05  PIC X(80) VALUE 
            "GROUP      NAME        TOTAL        STOCKVAL".

           01 TOTAL1 PIC 999999 VALUE 0.
           01 GTOTAL1 PIC 9(8) VALUE 0.

           01 GRANDTOTAL1.
            05 FILLER PIC X(22) VALUE " GRAND TOTAL :- ".
            05 TOTAL2 PIC ZZZZZZ9(3).
            05 FILLER PIC X(5).
            05 GTOTAL2 PIC ZZZZZ9(2).
           01 T1 PIC 9(14).


       
       PROCEDURE DIVISION.
         BEGIN.

           PERFORM VARYING I FROM 1 BY 1 UNTIL I>5
             MOVE ZERO TO TSTOCK1(I),SVALUE1(1)
           END-PERFORM.
           OPEN INPUT INP1 OUTPUT OUT1.
              WRITE REC2 FROM HEAD1.
              WRITE REC2 FROM HEAD2.
              WRITE REC2 FROM HEAD3.
              WRITE REC2 FROM HEAD4.
              WRITE REC2 FROM HEAD3. 
              PERFORM UNTIL EOF="Y"
                READ INP1
                 AT END MOVE "Y" TO EOF 
                 NOT AT END PERFORM DISPLAY1
                END-READ
              END-PERFORM.
              DISPLAY TOTAL1.

              PERFORM VARYING I FROM 1 BY 1 UNTIL I>5
               MOVE GRNO1(I) TO GRNO2
               MOVE NAME2(I) TO NAME3
               MOVE TSTOCK1(I) TO TSTOCK2
               COMPUTE GTOTAL1=GTOTAL1 + SVALUE1(I)
               MOVE SVALUE1(I) TO SVALUE2

               WRITE REC2 FROM PRINT1
              END-PERFORM.

                MOVE TOTAL1 TO TOTAL2.
                MOVE GTOTAL1 TO GTOTAL2.
                WRITE REC2 FROM HEAD3.
                WRITE REC2 FROM GRANDTOTAL1.
              
              CLOSE INP1.
              CLOSE OUT1.
               STOP RUN.

          DISPLAY1.     
               
               COMPUTE T1=RATE1 * QTY1.
               DISPLAY GRP1 "   " RATE1 "   "QTY1"  "T1.
      *         MOVE 0 TO TOTAL1.
               EVALUATE GRP1
                
                WHEN 01              
                  MOVE "ELECTRICALS" TO NAME2(GRP1)
                  MOVE GRP1 TO GRNO1(GRP1)
                  COMPUTE TSTOCK1(GRP1)=TSTOCK1(GRP1) + QTY1
                  COMPUTE SVALUE1(GRP1)=SVALUE1(GRP1) + (QTY1 * RATE1)
                  COMPUTE TOTAL1=TOTAL1 + QTY1

                  DISPLAY GRNO1(GRP1) "  "NAME2(GRP1)" "SVALUE1(GRP1)

                WHEN 02              
                  MOVE "ENGINEERING" TO NAME2(GRP1)
                  MOVE GRP1 TO GRNO1(GRP1)
                  COMPUTE TSTOCK1(GRP1) = TSTOCK1(GRP1) + QTY1
                  COMPUTE SVALUE1(GRP1)=SVALUE1(GRP1) + (QTY1 * RATE1)
                  COMPUTE TOTAL1=TOTAL1 + QTY1

                  DISPLAY GRNO1(GRP1) "  "NAME2(GRP1)" "SVALUE1(GRP1)

                WHEN 03              
                  MOVE "ELECTRONICS" TO NAME2(GRP1)
                  MOVE GRP1 TO GRNO1(GRP1)
                  COMPUTE TSTOCK1(GRP1) = TSTOCK1(GRP1) + QTY1
                  COMPUTE SVALUE1(GRP1) =SVALUE1(GRP1) + (QTY1 * RATE1)
                  COMPUTE TOTAL1=TOTAL1 + QTY1

                  DISPLAY GRNO1(GRP1)"  "NAME2(GRP1)" "SVALUE1(GRP1)

                WHEN 04              
                  MOVE "STATIONARY" TO NAME2(GRP1)
                  MOVE GRP1 TO GRNO1(GRP1)
                  COMPUTE TSTOCK1(GRP1) = TSTOCK1(GRP1) + QTY1
                  COMPUTE SVALUE1(GRP1) = SVALUE1(GRP1)+(QTY1 * RATE1)
                  COMPUTE TOTAL1=TOTAL1 + QTY1

                  DISPLAY GRNO1(GRP1) "  "NAME2(GRP1)" "SVALUE1(GRP1)

                WHEN 05              
                  MOVE "FURNITURE" TO NAME2(GRP1)
                  MOVE GRP1 TO GRNO1(GRP1)
                  COMPUTE TSTOCK1(GRP1) = TSTOCK1(GRP1) + QTY1
                  COMPUTE SVALUE1(GRP1) = SVALUE1(GRP1) + (QTY1 * RATE1)
                  COMPUTE TOTAL1=TOTAL1 + QTY1

                  DISPLAY GRNO1(GRP1)"  "NAME2(GRP1)" "SVALUE1(GRP1)
            
               END-EVALUATE.




/*********************************************************************************
INPUT FILE
*********************************************************************************/
1234XXXXXXXXXXXXXXXX 1234512345671234567812 1 T.V 0100000002000000001001 2 RADIO 0100000002000000002003 3 BOOKS 0100000001500000003001 4 TABLE 0100000002500000004005 /*********************************************************************************
OUTPUT FILE
*********************************************************************************/
SHREE ELECTRONOICS LTD GROUP WISE STOCK SUMMERY -------------------------------------------------------------------------------- GROUP NAME TOTAL STOCKVAL -------------------------------------------------------------------------------- 01 ELECTRICALS 00000040 0006500 00000000 03 ELECTRONICS 00000020 0004000 00000000 05 FURNITURE 00000040 0010000 -------------------------------------------------------------------------------- GRAND TOTAL :- 100 20500
  
Share: 


Didn't find what you were looking for? Find more on GENERATE A SALES REPORT OF ELECTRONIC STORE ITEM WISE Or get search suggestion and latest updates.

Francesca Hughes
Francesca Hughes author of GENERATE A SALES REPORT OF ELECTRONIC STORE ITEM WISE is from London, United Kingdom.
 
View All Articles

 
Please enter your Comment

  • Comment should be atleast 30 Characters.
  • Please put code inside [Code] your code [/Code].

 
No Comment Found, Be the First to post comment!