2011 Apr 19 8:43 AM
hiii,
I have 2 internal tables "it_final1" and "It_final_new" and i want to join both tables.
both have same fields like BUKRS,GJAHR,SAKNR.
for IT_FINAL1 i am using "BAPI_GL_GETGLACCPERIODBALANCES" FM to get data.
now i need to merge this.
Please explain ...
i am using below logic for that.
LOOP AT IT_FINAL_NEW .
IF sy-SUBRC = 0.
MOVE-CORRESPONDING IT_FINAL_NEW to IT_FINAL_DIS.
ENDIF.
read table it_final1 with key bukrs = it_final_new-bukrs
gjahr = it_final_new-gjahr.
move-corresponding it_final1 to it_final_dis.
APPEND IT_FINAL_DIS.
ENDLOOP.
2011 Apr 20 5:43 PM
Hi,
Please try the following,
*Looping at final_new which has all fields except gjahr
LOOP AT IT_FINAL_NEW .
*move wa to destination wa
MOVE-CORRESPONDING IT_FINAL_NEW to IT_FINAL_DIS.
*read internal table having balance value using common field
READ TABLE IT_FINAL1 WITH KEY BUKRS = IT_FINAL_NEW-BUKRS INTO WA.
if sy-subrc = 0.
*assign balance value to final destination balance field
IT_FINAL_DIS-balance = wa-balance.
*append the it
APPEND IT_FINAL_DIS.
*now u got the values from 2 internal tables
endif.
ENDLOOP.
Hope this solves your problem.
Regards,
Meera
Hi Sanket,
could you please give an example of the contents that have to be merged as well as the merged content.
Kind regards
REA
Edited by: Ramy El-Arnaouty on Apr 20, 2011 2:21 PM
2011 Apr 19 10:01 AM
hi Sanket
LOOP AT IT_FINAL_NEW into wa_it_final.
read table it_final1 into wa_it_final with key bukrs = it_final_new-bukrs
gjahr = it_final_new-gjahr.
if sy-subrc = 0.
move: wa_final-bukrs to wa_final_dis-bukrs
and so on all the fields.....
APPEND wa_it_final_dis to IT_FINAL_DIS.
endif.
ENDLOOP.
2011 Apr 19 10:19 AM
Hi anjali ,
thanks for replying.
I have already tried that.
but the problem is i can fetch only any 1 internal table data in FINAL_DIS.
My output has to display like this
A/C-AA1-AA2-AA3-AA4-TOTAL-BALANCE
101-1000-200-0000-0000-01200-001200
201-0000-200-3000-0000-03200-03200
301-0000-200-0000-1000-01200-01200
401-0000-200-0000-0000-00200-00200
501-2000-200-0000-0000-02200-02200
In IT_FINAL_new i am fetching A/C to total.
In it_final1 i am fetching balance with using FM described above.
Both have same A/C no,comp. code,fisc. year.and total and balance are same.
now i need to fetch in one table.but i can only fetch any 1 internal table data.
2011 Apr 19 10:21 AM
Hi anjali ,
thanks for replying.
I have already tried that.
but the problem is i can fetch only any 1 internal table data in FINAL_DIS.
My output has to display like this
A/C-AA1-AA2-AA3-AA4-TOTAL-BALANCE
101-1000-200-0000-0000-01200-001200
201-0000-200-3000-0000-03200-03200
301-0000-200-0000-1000-01200-01200
401-0000-200-0000-0000-00200-00200
501-2000-200-0000-0000-02200-02200
In IT_FINAL_new i am fetching A/C to total.
In it_final1 i am fetching balance with using FM described above.
Both have same A/C no,comp. code,fisc. year.and total and balance are same.
now i need to fetch in one table.but i can only fetch any 1 internal table data.
2011 Apr 19 11:24 AM
Hi Naranjat,
I'm not sure if i really got your requirement...
but generally merging data can be achieved by using COLLECT statement:
LOOP AT table_new
INTO workarea_new.
READ TABLE table_balances
INTO workarea_balances
WITH KEY xxx = workarea_new-xxx.
* merge data
COLLECT workarea_balances INTO table_new.
* append data
APPEND workarea_balances TO table_new.
ENDLOOP.Reagards
REA
2011 Apr 20 5:43 AM
hi REA,
I have described my logic above.
I have tried that but its not working.
both table have same fields like BUKRS,GJAHR,SAKNR.
still i cant connect both tables.
Actually I need 1 field(BALANCE) which is based FM"BAPI"which i described above.
which i have fetched in internal table IT_FINAL1 and others in IT_FINAL_NEW1.
2011 Apr 20 1:20 PM
Hi Sanket,
could you please give an example of the contents that have to be merged as well as the merged content.
Kind regards
REA
Edited by: Ramy El-Arnaouty on Apr 20, 2011 2:21 PM
2011 Apr 20 5:43 PM
Hi,
Please try the following,
*Looping at final_new which has all fields except gjahr
LOOP AT IT_FINAL_NEW .
*move wa to destination wa
MOVE-CORRESPONDING IT_FINAL_NEW to IT_FINAL_DIS.
*read internal table having balance value using common field
READ TABLE IT_FINAL1 WITH KEY BUKRS = IT_FINAL_NEW-BUKRS INTO WA.
if sy-subrc = 0.
*assign balance value to final destination balance field
IT_FINAL_DIS-balance = wa-balance.
*append the it
APPEND IT_FINAL_DIS.
*now u got the values from 2 internal tables
endif.
ENDLOOP.
Hope this solves your problem.
Regards,
Meera
2011 Apr 21 6:55 AM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |