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