MVSFORUMS.com Forum Index MVSFORUMS.com
A Community of and for MVS Professionals
 
 FAQFAQ   SearchSearch   Quick Manuals   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

formatted display pgm needed
Goto page Previous  1, 2
 
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming
View previous topic :: View next topic  
Author Message
kolusu
Site Admin
Site Admin


Joined: 26 Nov 2002
Posts: 12403
Topics: 75
Location: San Jose

PostPosted: Wed Jan 11, 2006 1:23 pm    Post subject: Reply with quote

Quote:

If i am reading record starting from the first and storing the key in input-key,so the key becomes ABPQRSPAL and we are checking the input-key with ws-prev-key which does not have any value and the condition will fail so,i am not able to get what exactly summation of table values means.


*sigh* In the beginning of the program itself you will read the record and move to contents to the ws-prev-key. So when you get to the main processing , you already have the key.

Code:


procedure division

    Perform 1000-initilization
    perform 2000-main-process until end-of-file
    goback
    .
       
1000-initialization.

   open files
   perform read-input-file
   move input-key to w-prev-key
   move input-key to table-rec (1)

2000-main-process.
 
   if input-key = ws-prev-key
          populate the marks in the array
   else
      perform the summation of the table values
      load the table with new key
      move input-key to ws-prev-key
   end-if

   perform read-para



Once the key changes you will perform the summation from your internal table. Once you are done with it you will initialize the internal table and load it with your new key.

Hope this helps...

Cheers

Kolusu
_________________
Kolusu
www.linkedin.com/in/kolusu
Back to top
View user's profile Send private message Send e-mail Visit poster's website
venkats
Beginner


Joined: 09 Jan 2006
Posts: 9
Topics: 1

PostPosted: Sun Jan 29, 2006 6:03 pm    Post subject: Reply with quote

Hai Kolusu,

I have coded the pgm and the results of my program are shown below and i am unable to get the desired results and i am mentioning the problem which i have got.Morever can you please suggest me what i have coded is an efficient method i have used.

Secondly ,the tests in my input dataset are presently having values 1,2 and 3 and that is why i have COL1 ,COL2 ,COL3 .Can the program be modified to take care of any test values in the future say for example the TEST values can be 1,2,3,4,5,6,7,8,9,10 correspondingly COL1,COL2,COL3,COL4,COL5,COL6,COL7,COL8,COL9,COL10.As my unload from the DB2 table might result different values of TEST ,i need to take care for the TEST values as a generic not to what i have coded for only three values 1,2 and 3 .Please guide me further to proceed as i am unable to go further.

Code:

       
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT INPUT-FILE   ASSIGN TO INFILE
                  FILE STATUS IS INPUT-FILE-STATUS.
           SELECT REPORT-FILE   ASSIGN TO RPTFILE
                  FILE STATUS IS REPORT-FILE-STATUS.
       DATA DIVISION.
       FILE SECTION.
       FD  INPUT-FILE
           RECORDING MODE IS F
           BLOCK CONTAINS 0 CHARACTERS
           DATA RECORD IS INPUT-REC.

       01 INPUT-REC.
          05 FILLER                PIC X(01).
          05 DIV                   PIC X(02).
          05 FILLER                PIC X(01).
          05 HOME                  PIC X(04).
          05 FILLER                PIC X(01).
          05 DEPT                  PIC X(04).
          05 FILLER                PIC X(01).
          05 NO                    PIC X(05).
          05 FILLER                PIC X(01).
          05 STATUS                PIC X(01).
          05 FILLER                PIC X(01).
          05 TEST                  PIC 9(01).
          05 FILLER                PIC X(01).
          05 SUM-COL1              PIC 9(02).
          05 FILLER                PIC X(54).

       FD  REPORT-FILE
           RECORDING MODE IS F
           BLOCK CONTAINS 0 CHARACTERS
           DATA RECORD IS REPORT-LINE.
       01 REPORT-LINE              PIC X(133).

       WORKING-STORAGE SECTION.
       01 A                        PIC X(01) VALUE SPACE.
       
       
       01 REPORT-REC.
          05 CC                    PIC X.
          05 R-DIV                 PIC X(02).
          05 FILLER                PIC X(01).
          05 R-HOME                PIC X(04).
          05 FILLER                PIC X(01).
          05 R-DEPT                PIC X(04).
          05 FILLER                PIC X(01).
          05 R-NO                  PIC X(05).
          05 FILLER                PIC X(01).
          05 R-STATUS              PIC X(01).
          05 FILLER                PIC X(03).
          05 R-SUM-COL1            PIC ZZ.
          05 FILLER                PIC X(02).
          05 R-SUM-COL2            PIC ZZ.
          05 FILLER                PIC X(02).
          05 R-SUM-COL3            PIC ZZ.
          05 FILLER                PIC X(02).
          05 R-SUM-TOTAL           PIC ZZZ9.
          05 FILLER                PIC X(93).

   01 REPORT-TOTAL.
             05 R-TOTAL          PIC X(20) VALUE '          TOTAL     '.
             05 R-SUM-COL1-TOTAL PIC ZZZ9.
             05 FILLER           PIC X(1).
             05 R-SUM-COL2-TOTAL PIC ZZZ9.
             05 FILLER           PIC X(1).
             05 R-SUM-COL3-TOTAL PIC ZZZ9.
             05 FILLER           PIC X(1).
             05 R-TOT-FINAL      PIC ZZZ9.
             05 FILLER           PIC X(4).
            

       01 WS-TOTAL      PIC 9(04) VALUE ZEROES.
       01  WS-FILE-STATS.
           05  INPUT-FILE-STATUS             PIC  X(02) VALUE ZERO.
               88 INPUT-FILE-IO-OKAY      VALUE '00'.
               88 INPUT-FILE-END          VALUE '10'.
           05  REPORT-FILE-STATUS            PIC  X(02) VALUE ZERO.
               88 REPORT-FILE-IO-OKAY     VALUE '00'.
               88 REPORT-FILE-END         VALUE '10'.

       01  WS-FLAGS.
           05 INPUT-EOF-SWITCH        PIC X(01) VALUE SPACE.
              88 INPUT-NOT-EOF            VALUE 'Y'.
              88 INPUT-EOF                VALUE 'N'.

       01  WS-LITERALS.
           05 WS-PROGRAM-ID            PIC X(08)  VALUE 'XXXXXXXX'.
           05 ABEND-MSG                PIC X(80).
           05 ABEND-STATUS             PIC X(02).

           05 WS-AMOUNTS.
              10 WS-SUM-COL1           PIC 9(02).
              10 WS-SUM-COL2           PIC 9(02).
              10 WS-SUM-COL3           PIC 9(02).

           05 WS-TOTALS.
              10 T-SUM-COL1-TOTAL PIC 9(04).
              10 T-SUM-COL2-TOTAL PIC 9(04).
              10 T-SUM-COL3-TOTAL PIC 9(04).
              10 WS-TOT-FINAL     PIC 9(04).

       01 CURRENT-KEY.
          05 CURRENT-DIV    PIC X(02).
          05 CURRENT-HOME  PIC X(04).
          05 CURRENT-DEPT   PIC X(04).

       01 INPUT-KEY.
          05 INPUT-DIV    PIC X(02).
          05 INPUT-HOME  PIC X(04).
          05 INPUT-DEPT   PIC X(04).
          05 INPUT-ETVNO  PIC X(05).

       01 WS-PREV-KEY.
         05 WS-PREV-DIV    PIC X(02).
         05 WS-PREV-HOME  PIC X(04).
         05 WS-PREV-DEPT   PIC X(04).
         05 WS-PREV-ETVNO  PIC X(05).

      ******************************************************************
      * INTERNAL TABLE USED FOR STORING DATA READ FROM INPUT FILE      *
      ******************************************************************
       01 T-INTERNAL-TABLE-AREA.
          05 WS-IN-CNT             PIC S9(04) COMP VALUE 0.
          05 WS-IN-MAX             PIC S9(04) COMP VALUE 1000.
          05 INTERNAL-TABLE        OCCURS 1000 TIMES
                                   INDEXED BY WS-INDEX.
             10  T-KEY.
                 15  T-DIV             PIC  X(02).
                 15  T-HOME           PIC  X(04).
                 15  T-DEPT            PIC  X(04).
                 15  T-NO               PIC  X(04).
             10  T-RUNNO                    PIC  9(01).
             10  T-SUM-COL1                 PIC  9(02).

      ******************************************************************
      *            REPORT HEADER LINES                                 *
      ******************************************************************
       01  REPORT-DTL-HDR1.
           05 CC                     PIC X.
           05 FILLER                 PIC X(04)  VALUE 'DIV '.
           05 FILLER                 PIC X(04)  VALUE SPACES.
           05 FILLER                 PIC X(05)  VALUE 'HOME '.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE 'DEPT'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(02)  VALUE 'NO'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(05)  VALUE 'STATUS'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE 'COL1'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE 'COL2'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE 'COL3'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(05)  VALUE 'TOTAL'.
           05 FILLER                 PIC X(56)  VALUE SPACES.
     

       01  REPORT-DTL-HDR2.
           05 CC                     PIC X.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(05)  VALUE SPACES.
           05 FILLER                 PIC X(04)  VALUE '----'.
           05 FILLER                 PIC X(56)  VALUE SPACES.
           


       01  REPORT-BLANK-LINE.
           10 CC                     PIC X(01)  VALUE SPACES.
           10 FILLER                 PIC X(132) VALUE SPACES.

       
       PROCEDURE DIVISION.
      ******************************************************************
      *                                                                *
      *        P R O C E D U R E     D I V I S I O N                   *
      *                                                                *
      ******************************************************************

       000-MAINLINE.
      ******************************************************************
      * THIS PROCEDURE CONTROLS MAIN PROCESSING OF THE PROGRAM.        *
      ******************************************************************


           PERFORM 100-STARTUP      THRU 100-STARTUP-EXIT.
           PERFORM 400-PROCESS-DATA THRU 400-PROCESS-DATA-EXIT.
           PERFORM 800-FINISH       THRU 800-FINISH-EXIT.



       000-MAINLINE-EXIT.
           GOBACK.

      ******************************************************************
      *    THIS PARAGRAPH PERFORMS ALL NECESSARY HOUSEKEEPING          *
      *    WORK.THIS INCLUDES INITIALIZING WORKING-STORAGE VARIABLES   *
      *    AND OPENING FILES REQUIRED FOR PROGRAM PROCESSING.          *
      ******************************************************************
       100-STARTUP.


           OPEN INPUT INPUT-FILE.
           EVALUATE INPUT-FILE-STATUS
              WHEN '00'
                   CONTINUE
              WHEN OTHER
                   DISPLAY '*********** ERROR *******************'
                   MOVE '100:OPEN FAILED FOR INPUT-FILE' TO ABEND-MSG
                   MOVE INPUT-FILE-STATUS                TO ABEND-STATUS
                   DISPLAY "*********** ERROR *******************"
                   PERFORM 999-ABEND-ERROR THRU 999-ABEND-ERROR-EXIT
           END-EVALUATE.

           OPEN OUTPUT REPORT-FILE.
           EVALUATE REPORT-FILE-STATUS
              WHEN '00'
                 CONTINUE
              WHEN OTHER
                 DISPLAY '*********** ERROR *******************'
                 MOVE '100 :OPEN FAILED FOR REPORT FILE' TO ABEND-MSG
                 MOVE REPORT-FILE-STATUS                 TO ABEND-STATUS
                 DISPLAY '*********** ERROR *******************'
                 PERFORM 999-ABEND-ERROR THRU 999-ABEND-ERROR-EXIT
           END-EVALUATE.

           INITIALIZE WS-TOTALS.
           INITIALIZE CURRENT-KEY.
           WRITE REPORT-LINE FROM REPORT-DTL-HDR1.
           WRITE REPORT-LINE FROM REPORT-DTL-HDR2.

       100-STARTUP-EXIT.
           EXIT.

       
       130-READ-INPUT-FILE.
      ******************************************************************
      * THIS PROCEDURE                                                 *
      * CALLS:                                                         *
      * CALLED BY:  400-PROCESS-DATA                                   *
      ******************************************************************
 
           INITIALIZE INPUT-REC.

           READ INPUT-FILE
           AT END
                SET INPUT-EOF TO TRUE
           NOT AT END
                IF INPUT-FILE-STATUS IS EQUAL TO '00'
                   ADD 1 TO WS-IN-CNT
                   CONTINUE
                ELSE
                   MOVE '130:READ FAILED FOR INPUT FILE' TO ABEND-MSG
                   MOVE INPUT-FILE-STATUS   TO ABEND-STATUS
                   PERFORM 999-ABEND-ERROR  THRU 999-ABEND-ERROR-EXIT
                END-IF
           END-READ.

           MOVE    DIV    TO INPUT-DIV.
           MOVE    HOME   TO INPUT-HOME.
           MOVE    DEPT   TO INPUT-DEPT.
           MOVE    NO     TO INPUT-ETVNO.


       130-READ-INPUT-FILE-EXIT.
           EXIT.

       400-PROCESS-DATA.
      ******************************************************************
      * THIS PROCEDURE                                                 *
      * CALLS:                                                         *
      * CALLED BY:  000-MAINLINE                                       *
      ******************************************************************


           SET     INPUT-NOT-EOF       TO TRUE.
           SET     WS-INDEX            TO 1.
           PERFORM 130-READ-INPUT-FILE THRU 130-READ-INPUT-FILE-EXIT.
           MOVE    INPUT-KEY  TO WS-PREV-KEY.
           MOVE    INPUT-KEY  TO T-KEY(WS-INDEX).

           PERFORM UNTIL INPUT-EOF
              IF INPUT-KEY = WS-PREV-KEY
                      MOVE  STATUS TO A
                      MOVE  TEST TO T-RUNNO(WS-INDEX)
                      MOVE  SUM-COL1 TO T-SUM-COL1(WS-INDEX)
              ELSE
                      COMPUTE WS-TOTAL = FUNCTION SUM(T-SUM-COL1(ALL))
                      PERFORM WRITE-PARA
                      INITIALIZE WS-TOTAL T-INTERNAL-TABLE-AREA
                      SET     WS-INDEX   TO 1
                      MOVE    DIV   TO INPUT-DIV
                      MOVE    HOME TO INPUT-HOME
                      MOVE    DEPT  TO INPUT-DEPT
                      MOVE    NO     TO INPUT-ETVNO
                      MOVE    INPUT-KEY  TO T-KEY(WS-INDEX)
                      MOVE  TEST TO T-RUNNO(WS-INDEX)
                      MOVE    SUM-COL1   TO T-SUM-COL1(WS-INDEX)
                      MOVE    INPUT-KEY  TO WS-PREV-KEY
              END-IF
              SET WS-INDEX UP BY 1
              PERFORM 130-READ-INPUT-FILE THRU 130-READ-INPUT-FILE-EXIT
           END-PERFORM.

           COMPUTE WS-TOTAL = FUNCTION SUM(T-SUM-COL1(ALL))
           PERFORM WRITE-PARA.

           WRITE REPORT-LINE FROM REPORT-BLANK-LINE.
           PERFORM 450-CHECK-REPORT-IO THRU 450-CHECK-REPORT-IO-EXIT.

           PERFORM TOTAL-PARA.

       400-PROCESS-DATA-EXIT.
           EXIT.

       WRITE-PARA.
       ******************************************************************
       * THIS PROCEDURE                                                 *
       * CALLS:                                                         *
       * CALLED BY:  400-PROCESS                                        *
       ******************************************************************
                      INITIALIZE REPORT-REC.
                      MOVE WS-PREV-KEY(1:2)  TO R-DIV.
                      MOVE WS-PREV-KEY(3:4)  TO R-HOME.
                      MOVE WS-PREV-KEY(7:4)  TO R-DEPT.
                      MOVE WS-PREV-KEY(11:5) TO R-NO.
                      MOVE A                 TO R-STATUS.

                         IF T-RUNNO(1) = 1
                         MOVE T-SUM-COL1(1) TO R-SUM-COL1
                         COMPUTE T-SUM-COL1-TOTAL = T-SUM-COL1-TOTAL +
                                                    T-SUM-COL1(1)
                         END-IF.
                         IF T-RUNNO(2) = 2
                         MOVE T-SUM-COL1(2) TO R-SUM-COL2
                         COMPUTE T-SUM-COL2-TOTAL = T-SUM-COL2-TOTAL +
                                                    T-SUM-COL1(2)
                         END-IF.
                         IF T-RUNNO(3) = 3
                         MOVE T-SUM-COL1(3) TO R-SUM-COL3
                         COMPUTE T-SUM-COL3-TOTAL = T-SUM-COL3-TOTAL +
                                                    T-SUM-COL1(3)
                         END-IF.
                         
                      EVALUATE TRUE
                         WHEN T-RUNNO(1) = 2
                           MOVE T-SUM-COL1(1) TO R-SUM-COL2
                           COMPUTE T-SUM-COL2-TOTAL = T-SUM-COL2-TOTAL +
                                                      T-SUM-COL1(2)
                           IF T-RUNNO(2) = 3
                           MOVE T-SUM-COL1(1) TO R-SUM-COL3
                           COMPUTE T-SUM-COL3-TOTAL = T-SUM-COL3-TOTAL +
                                                      T-SUM-COL1(3)
                           END-IF
                         WHEN T-RUNNO(1) = 3
                           MOVE T-SUM-COL1(1) TO R-SUM-COL3
                           COMPUTE T-SUM-COL3-TOTAL = T-SUM-COL3-TOTAL +
                                                      T-SUM-COL1(3)
                         WHEN OTHER
                           DISPLAY 'HAI'
                      END-EVALUATE.
                      MOVE WS-TOTAL      TO R-SUM-TOTAL.
                      COMPUTE WS-TOT-FINAL = WS-TOT-FINAL + WS-TOTAL.
                      IF CURRENT-KEY = SPACES
                         WRITE REPORT-LINE FROM REPORT-REC
     
                      ELSE
                         MOVE SPACES TO R-DIV
                         MOVE SPACES TO R-HOME
                         MOVE SPACES TO R-DEPT
                         WRITE REPORT-LINE FROM REPORT-REC

                      END-IF.
                      PERFORM 450-CHECK-REPORT-IO THRU 450-CHECK-REPORT-IO-EXIT.
                      MOVE INPUT-KEY(1:10) TO CURRENT-KEY.
         

       TOTAL-PARA.
       ******************************************************************
       * THIS PROCEDURE                                                 *
       * CALLS:                                                         *
       * CALLED BY:  400-PROCESS                                        *
       ******************************************************************
                      MOVE T-SUM-COL1-TOTAL TO R-SUM-COL1-TOTAL.
                      MOVE T-SUM-COL2-TOTAL TO R-SUM-COL2-TOTAL.
                      MOVE T-SUM-COL3-TOTAL TO R-SUM-COL3-TOTAL.
                      MOVE WS-TOT-FINAL     TO R-TOT-FINAL.
                      WRITE REPORT-LINE FROM REPORT-TOTAL.
                      PERFORM 450-CHECK-REPORT-IO THRU 450-CHECK-REPORT-IO-EXIT.

       450-CHECK-REPORT-IO.
      ******************************************************************
      * THIS PROCEDURE                                                 *
      * CALLS:                                                         *
      * CALLED BY:  120-WRITE-HEADERS                                  *
      ******************************************************************
      D    DISPLAY '450-CHECK-REPORT-IO'.

           IF REPORT-FILE-STATUS NOT = '00'
              MOVE '450:WRITE FAILED FOR REPORT FILE' TO ABEND-MSG
              MOVE REPORT-FILE-STATUS                 TO ABEND-STATUS
              PERFORM 999-ABEND-ERROR THRU 999-ABEND-ERROR-EXIT
           END-IF.

      D    DISPLAY '450-CHECK-REPORT-IO-EXIT'.
       450-CHECK-REPORT-IO-EXIT.
           EXIT.

       800-FINISH.
      ******************************************************************
      * THIS PROCEDURE                                                 *
      * CALLS:                                                         *
      * CALLED BY:  000-MAINLINE                                       *
      ******************************************************************
      D    DISPLAY '800-FINISH'.

           CLOSE INPUT-FILE.
           IF INPUT-FILE-IO-OKAY
              CONTINUE
           ELSE
              DISPLAY '************************************'
              MOVE '800: CLOSE FAILED FOR INPUT FILE' TO ABEND-MSG
              MOVE INPUT-FILE-STATUS TO ABEND-STATUS
              DISPLAY '************************************'
              PERFORM 999-ABEND-ERROR THRU 999-ABEND-ERROR-EXIT
           END-IF.

           CLOSE REPORT-FILE.
           IF REPORT-FILE-IO-OKAY
              CONTINUE
           ELSE
              DISPLAY '*********** ERROR *******************'
              MOVE '800 :CLOSE FAILED FOR REPORT FILE'   TO ABEND-MSG
              MOVE REPORT-FILE-STATUS                    TO ABEND-STATUS
              DISPLAY '*********** ERROR *******************'
              PERFORM 999-ABEND-ERROR THRU 999-ABEND-ERROR-EXIT
           END-IF.

      D    DISPLAY '800-FINISH-EXIT'.
       800-FINISH-EXIT.
           EXIT.

       999-ABEND-ERROR.
      ******************************************************************
      * THIS PROCEDURE CAUSES THE PROGRAM TO STOP IN THE EVENT OF AN   *
      * ERROR AND INHIBITS FURTHER PROCESSING.                         *
      * CALLS:      STOP-RUN.                                          *
      ******************************************************************

      D    DISPLAY '999-ABEND-ERROR'.
           DISPLAY '*************ERROR*********************'.
           DISPLAY 'PROGRAM ENCOUNTERED A FATAL ERROR'.
           DISPLAY ABEND-MSG.

           IF ABEND-STATUS IS NOT  = SPACES
              DISPLAY 'ABEND-STATUS = ',  ABEND-STATUS
           END-IF.

           PERFORM STOP-RUN.

      D    DISPLAY '999-ABEND-ERROR-EXIT'.
       999-ABEND-ERROR-EXIT.
           EXIT.

       STOP-RUN.
           STOP RUN.




INPUT DATASET

Code:

 
 AB PQRS PAL        F 1 10
 AB PQRS PAL        F 2 20
 AB PQRS PAL        F 3 30
 AB PQRS PAL  001   M 1 30
 AB PQRS PAL  001   M 2 40
 AB PQRS PAL  002   M 1 99
 AB PQRS PAL  002   M 2 25
 AB PQRS PAL  002   M 3 12
 AB PQRS PAL  003   M 1 11
 AB PQRS PAL  003   M 2 30
 AB PQRS PAL  011   M 1 96
 AB PQRS PAL  011   M 2 65
 AB PQRS PAL  012   M 1 22
 AB PQRS PAL  012   M 2 44
 AB PQRS PAL  015   M 1 36
 AB PQRS PAL  015   M 2 20
 AB PQRS PAL  016   M 1 20
 AB PQRS PAL  016   M 2 15
 AB PQRS PAL  020   M 1 90
 AB PQRS PAL  020   M 2 40
 AB PQRS PAL  021   M 1 30
 AB PQRS PAL  021   M 2  5
 AB PQRS PAL  022   M 1 80
 AB PQRS PAL  022   M 2 88
 AB PQRS PAL  070   M 1 70
 AB PQRS PAL  070   M 3 30
 AB PQRS PAL  080   M 2 35
 AB PQRS PAL  085   M 1 70
 AB PQRS PAL  085   M 2 50
 AB PQRS PAL  090   M 2 25
 AB PQRS PAL  090   M 3 25
 AB PQRS PAL  095   M 3 50
 AB PQRS PAL  100   M 1 50
 



GETTING OUTPUT

Code:


  DIV   HOME   DEPT  NO    STATUS  COL1  COL2  COL3 TOTAL
  ---   ----  -----  ----  -----   ----  ----  ----  ----
  AB    PQRS   PAL             F     10    20    30    60
                      001      M     30    40          70
                      002      M     99    25    12   136
                      003      M     11    30          41
                      011      M     96    65         161
                      012      M     22    44          66
                      015      M     36    20          56
                      016      M     20    15          35
                      020      M     90    40         130
                      021      M     30     5          35
                      022      M     80    88         168
                      070      M     70          XX   100
                      080      M           35          35
                      085      M     70    50         120
                      090      M           25    25    50                 
                      095      M                 50    50                 
                      100      M     50                50                 
                                   ----  ----  ----  ----               
            TOTAL                                             
                                     714  467    42  1363               
 
 
 XX MEANS VALUE IS MISSING
 



EXPECTED OUTPUT

Code:


 DIV   HOME   DEPT  NO    STATUS   COL1  COL2  COL3 TOTAL
 ---   ----  -----  ----  -----    ----  ----  ----  ----
 AB    PQRS   PAL             F      10    20    30    60
                     001      M      30    40          70
                     002      M      99    25    12   136
                     003      M      11    30          41
                     011      M      96    65         161
                     012      M      22    44          66
                     015      M      36    20          56
                     016      M      20    15          35
                     020      M      90    40         130
                     021      M      30     5          35
                     022      M      80    88         168
                     070      M      70          30   100
                     080      M            35          35
                     085      M      70    50         120
                     090      M            25    25    50
                     095      M                  50    50
                     100      M      50                50
                                   ----  ----  ----  ----
           TOTAL                               
                                    714   502   147  1363

Back to top
View user's profile Send private message
venkats
Beginner


Joined: 09 Jan 2006
Posts: 9
Topics: 1

PostPosted: Mon Jan 30, 2006 9:16 am    Post subject: Reply with quote

Hai All,

Can anybody help me out with my requirement mentioned above ?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic   printer-friendly view    MVSFORUMS.com Forum Index -> Application Programming All times are GMT - 5 Hours
Goto page Previous  1, 2
Page 2 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


MVSFORUMS
Powered by phpBB © 2001, 2005 phpBB Group