Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Report Problem

Former Member
0 Kudos

Hi,

T_Master_Record

PNo. Data Amount

1 01/04/07 100

2 10/04/07 200

3 10/04/07 300

7 10/04/07 100

T_Trans_Record

PNo. Data Amount

1 01/04/07 50

2 10/04/07 60

1 10/04/07 70

2 10/04/07 20

1 10/04/07 30

T_Final_Record

PNo. Data Amount

1 01/04/07 165

2 10/04/07 200

3 10/04/07 300

7 10/04/07 100

Here I have Three Internal Table, I want to do,

1. If PNo of T_Master_Record present in table T_Trans Record then

Add amount of T_Master_Record with T_Trans Record. Like Add 100507+3 = 165.

And append in table T_Final Record.

2. If PNo of T_Master_Record not present in T_Trans Record then append that PNo. With Amount in T_Final_Record

How will I do this.

Thanks,

Saroj

3 REPLIES 3

andreas_mann3
Active Contributor
0 Kudos

hi,

try sth like that:

loop at t_master_record.
    T_Final_Record = t_master_record.
    collect  T_Final_Record .

 loop at  T_Trans_Record where pno = t_master_record-pno.
    T_Final_Record = T_Trans_Record.
    collect  T_Final_Record .
  endloop.
endloop.

A.

Former Member
0 Kudos

Hi,

loop at T_Master_Record .

read table T_Trans_Record with key PNo = T_Master_Record-PNo.

if sy-subrc = 0.

read table T_Final_Record with key PNo = T_Master_Record-PNo.

if Sy-subrc = 0.

T_Final_Record-Amount = T_Master_Record-Amount + T_Final_Record-Amount

modify T_Final_Record.

else.

T_Final_Record-Amount = T_Master_Record-Amount

Move T_Master_Record-PNo = T_Final_Record-PNo

T_Master_Record-Data = T_Final_Record-Data

append T_Final_Record

endif.

else.

Move T_Trans_Record-PNo = T_Final_Record-PNo

T_Trans_Record-Data = T_Final_Record-Data

T_Trans_Record-Amount = T_Final_Record-Amount

append T_Final_Record.

endif.

Endloop.

Former Member
0 Kudos

Hi Saroj,

SORT T_MASTER_RECORD BY PNO.

SORT T_TRANS_RECORD BY PNO.

DATA V_AMOUNT TYPE PNO.

LOOP AT T_MASTER_RECORD.

MOVE-CORRESPONDING T_MASTER_RECORD TO T_FINAL_RECORD.

V_AMOUNT = T_MASTER_RECORD-AMOUNT.

LOOP AT T_TRANS_RECORD WHERE PNO = T_MASTER_RECORD-PNO.

V_AMOUNT = V_AMOUNT + T_TRANS_RECORD-AMOUNT.

ENDLOOP.

T_FINAL_RECORD = V_AMOUNT.

APPEND T_FINAL_RECORD.

CLEAR T_FINAL_RECORD.

CLEAR V_AMOUNT.

ENDLOOP.

THanks,

Vinay