03-18-2008 10:15 AM
I Hv two internal table itab and jtab
i wanted to move content of two itab and jtab
into one internal table Ktab
Regards
Shashikant
03-18-2008 10:18 AM
Itab and Jtab should have atleast one field in common.
loop at itab.
move-corresponding itab to ktab.
read table jtab with key field1 = itab-field1.
if sy-subrc = 0.
move-corresponding jtab to ktab.
endif.
append ktab.
clear ktab.
endloop.
03-18-2008 10:18 AM
Itab and Jtab should have atleast one field in common.
loop at itab.
move-corresponding itab to ktab.
read table jtab with key field1 = itab-field1.
if sy-subrc = 0.
move-corresponding jtab to ktab.
endif.
append ktab.
clear ktab.
endloop.
03-18-2008 10:52 AM
03-18-2008 11:20 AM
I wanted too excute following loop only for value
JTAB-KSCHL = 'SKPO'. means I wanted to transport transport values of ITAB to ktab where jtab-kschl = skpo
loop at itab.
move-corresponding itab to ktab.
read table jtab with key knumv = itab-knumv.
if sy-subrc = 0.
move-corresponding jtab to ktab.
endif.
append ktab.
clear ktab.
endloop.
03-18-2008 11:38 AM
Hi ,
you can try like below.
loop at itab.
move-corresponding itab to ktab. " move the content from itab
read table jtab with key knumv = itab-knumv
KSCHL = 'SKPO'. " considering knumv is the key b/n itab & jtab.
if sy-subrc = 0.
move-corresponding jtab to ktab.
append ktab.
endif.
clear ktab.
endloop.
Kind Regards,
Ravi Sankar.Z
Edited by: Ravi Sankara. Z on Mar 18, 2008 12:42 PM
03-18-2008 10:21 AM
Hi ,
You follow the below logic.
DESCRIBE TABLE itab LINES n.
Append lines of itab from 1 to n to target_itab.
clear n.
loop at jtab.
append jtab to target_itab.
endloop.
hope this is clear for you.
Kind Regards,
Ravi Sankar.Z
03-18-2008 10:23 AM
Hi,
Try this code
KTAB[] = ITAB[].
Loop at jtab.
Append jtab to KTAB.
Endloop.
Hope this will help
Regards
Shibin
03-18-2008 10:23 AM
Hi
If the structure of the three ITABs are then
use append line of table itab to ktab
again append lines of table jtab to ktab
This will be very fast
Try like this
Regards
Shiva
03-18-2008 10:38 AM
hi check this ...
report ztest.
tables:pa0002,pa0008,pa0021,pa0041.
data: begin of itab occurs 0,
pernr like pa0002-pernr,
vorna like pa0002-vorna,
nachn like pa0002-nachn,
end of itab.
data: begin of itab1 occurs 0,
pernr like pa0008-pernr,
begda like pa0008-begda,
stvor like pa0008-stvor,
ansal like pa0008-ansal,
end of itab1.
data :begin of itab2 occurs 0,
pernr like pa0021-pernr,
favor like pa0021-favor,
fanam like pa0021-fanam,
end of itab2.
data:begin of itab3 occurs 0,
pernr like pa0041-pernr,
dar01 like pa0041-dar01,
dat01 like pa0041-dat01,
end of itab3.
data:begin of final occurs 0,
pernr like pa0002-pernr,
vorna like pa0002-vorna,
nachn like pa0002-nachn,
begda like pa0008-begda,
stvor like pa0008-stvor,
ansal like pa0008-ansal,
favor like pa0021-favor,
fanam like pa0021-fanam,
dar01 like pa0041-dar01,
dat01 like pa0041-dat01,
end of final.
select-options:s_pernr for pa0002-pernr.
select pernr
vorna
nachn
from pa0002
into table itab
where pernr in s_pernr.
select pernr
begda
stvor
ansal
from pa0008
into table itab1
for all entries in itab
where pernr = itab-pernr.
select pernr
favor
fanam
from pa0021
into table itab2
for all entries in itab1
where pernr = itab1-pernr.
select pernr
dar01
dat01
from pa0041
into table itab3
for all entries in itab2
where pernr = itab2-pernr.
loop at itab.
final-pernr = itab-pernr.
final-vorna = itab-vorna.
final-nachn = itab-nachn.
read table itab1 with key pernr = itab-pernr.
final-begda = itab1-begda.
final-stvor = itab1-stvor.
final-ansal = itab1-ansal.
read table itab2 with key pernr = itab1-pernr.
final-favor = itab2-favor.
final-fanam = itab2-fanam.
read table itab3 with key pernr = itab2-pernr.
final-dar01 = itab3-dar01 .
final-dat01 = itab3-dat01.
append final.
clear final.
endloop.
loop at final.
write:final-pernr ,
final-vorna ,
final-nachn ,
final-begda ,
final-stvor ,
final-ansal ,
final-favor ,
final-fanam ,
final-dar01 ,
final-dat01 .
endloop.
regards,
venkat.
03-18-2008 11:43 AM
Hi,
Try This...
ktab[] = itab[].
*now ktab holds the content of itab.
append lines of jtab to ktab.
*noe lines of jtab get appended to ktab, now ktab holds data of
both itab and jtab.
Regards,
V.Balaji