Application Development and Automation 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: 
Read only

internal table

Former Member
0 Likes
748

hi frds plz give me response

If we have 2 internal tables and we want to move the common records in between them to a 3rd internal table. How do you do it?

plz respond this mail sudhakarbabu786@rediffmail.com

9 REPLIES 9
Read only

Former Member
0 Likes
719

Hi,

You can do it this way:

LOOP AT <itab1> INTO <wa1>.

READ TABLE <itab2> INTO <wa2> WITH KEY <fieldx> = <wa1>-<fieldx>,

IF sy-subrc EQ 0.

MOVE fields from wa1 and/or wa2 TO <wa3>.

APPEND <wa3> TO <itab3>.

ENDIF.

ENDLOOP.

Cheers,

Aditya

Read only

Former Member
0 Likes
719

Hi

Loop itab1.

Read table itab2 with key fieldname = itab1-fieldname

If sy-subrc eq 0.

move itab1 to itab3.

append itab3.

endif.

endloop.

If it is helpful rewards points.

Regards

Pratap.M

Read only

Former Member
0 Likes
719

Hi,

just do like this,

this sample code,

select tripno

vehicleno

deltype

fleettype

werks

indate

intime

outdate

outtime

docdate

doctime

sindate

sintime

soutdate

souttime

ret_sindate

ret_sintime

ret_soutdate

ret_souttime

startkm

endkm

purpose

tripstatus

currentsite

remarks

created_by

created_on

created_tm

changed_by

changed_on

changed_tm

manual

seal_no

from

ztripheader

into table

l_tab_ztripheader

where

tripno in l_r_tripno

and

vehicleno in l_r_vehicleno

and

deltype in l_r_deltype

and

fleettype in l_r_fleettype

and

werks in l_r_werks

and

status in l_r_status.

endif. "First data package ?

s_counter_datapakid = s_counter_datapakid + 1.

sort l_tab_ztripheader by tripno.

select tripno

werks

sch_pickin_date

sch_pickin_time

sch_pickout_date

sch_pickout_time

startkm

remarks

created_by

created_on

created_tm

changed_by

changed_on

changed_tm

posnr

status

vbeln

startdate

starttime

enddate

endtime

umwrk

ulstartdate

ulstarttime

ulenddate

ulendtime

stoutdate

stouttime

vbeln_vl

sequence

vbeln_crt

posnr_crt

lfimg_crt

quant_hu

quant_crt

unscan_crt

netwr

waerk

weigt_crt

seal_no

loadcrt

from

ztripdetail

into table

l_tab_ztripdetail

for all entries in

l_tab_ztripheader

where

tripno = l_tab_ztripheader-tripno .

*Processing logic....

sort l_tab_ztripdetail by tripno.

loop at l_tab_ztripdetail into l_wa_ztripdetail.

MOVE-CORRESPONDING l_wa_ztripdetail TO l_wa_final.

read table l_tab_ztripheader into l_wa_ztripheader

with key

tripno = l_wa_ztripdetail-tripno.

if sy-subrc = o.

MOVE-CORRESPONDING l_wa_ztripheader TO l_wa_final.

endif.

append l_wa_final to e_t_data.

endif.

clear: l_wa_ztripheader,

l_wa_ztripdetail,

l_wa_final.

endloop.

Read only

Former Member
0 Likes
719

Hi

Do the following:

Loop at <itab1> into <wa1>

Read Table <itab2> into <wa2> with key <key of itab2> =

<wa1>-<key of itab1>.

If sy-subrc = 0.

<wa3>-<field1> = <wa2>-<field1>

<wa3>-<field2> = <wa2>-<field2>.

....

append <wa3> to <itab3>

Endif.

Endloop

Thanks

Vijay

PLZ reward points if helpful

Read only

Former Member
0 Likes
719

Hi,

Use the fallowing syntax.

loop at it_itab1 into wa_itab1.

read table it_itab2 into wa_itab2 with key field1 eq wa_itab1-field1.

if sy-subrc = 0.

if wa_itab1 = wa_itab2.

wa_itab3 = wa_itab1.

append wa_itab3 to it_itab3.

clear: wa_itab1, wa_itab2, wa_itab3.

endif.

endif.

Reward if it is useful.

Regards..

Read only

Former Member
0 Likes
719

hi, try this code.

TYPES:BEGIN OF st_kna1,

kunnr TYPE kunnr,

name1 TYPE name1,

land1 TYPE land1,

ort01 TYPE ort01,

END OF st_kna1.

TYPES:BEGIN OF st_kna11,

kunnr TYPE kunnr,

land1 TYPE land1,

END OF st_kna11.

TYPES:BEGIN OF st_kna111,

kunnr TYPE kunnr,

name1 TYPE name1,

land1 TYPE land1,

ort01 TYPE ort01,

END OF st_kna111.

DATA:it_kna1 TYPE STANDARD TABLE OF st_kna1 WITH HEADER LINE,

wa_kna1 TYPE st_kna1,

itab TYPE STANDARD TABLE OF st_kna11 WITH HEADER LINE,

wa_itab TYPE st_kna11,

itab2 TYPE STANDARD TABLE OF st_kna111 WITH HEADER LINE,

wa_itab2 TYPE st_kna111,

kunnr TYPE kna1-kunnr,

v_lines type i.

SELECT-OPTIONS:cust FOR kunnr.

SELECT kunnr land1 name1 ort01 FROM kna1 INTO TABLE it_kna1 WHERE kunnr IN cust.

Loop at it_kna1 into wa_kna1.

move-corresponding wa_kna1 to wa_itab.

append wa_itab to itab.

clear : wa_kna1 , wa_itab.

endloop.

Loop at itab into wa_itab.

move-corresponding wa_itab to wa_itab2.

append wa_itab2 to itab2.

clear : wa_itab2 , wa_itab.

endloop.

Loop at itab2.

write : / itab2-kunnr , itab2-land1.

endloop.

Regards,

kavitha.k

Read only

Former Member
0 Likes
719

Hi,

You have three internal tables i.e it_itab, it_jtab, it_final.

now you have data in first internal table as well as second internal table and now you want to move the equalaent records to final internal table .

pleaes follow the below code.

see we have feilds in first internal table it_itab is

f1

f2

f3

The fields in the second internal table is

f4

f5

f6

The fields in the final internal table is

f1

f2

f3

f4

f5

f6

now you want to move data from first and second to final internal table.

source destination

f1----


>f1

f2----


>f2

f3----


>f3

f4----


>f4

f5----


>f5

f6----


>f6

i = 1.

loop at it_jtab.

read table it_itab index i.

read table it_jtab index i.

move it_final-f1 = it_itab-f1.

it_final-f2 = it_itab-f2.

it_final-f3 = it_itab-f3.

it_final-f4 = it_jtab-f4.

it_final-f5 = it_jtab-f5.

it_final-f6 = it_jtab-f6.

endloop.

I think it is help ful to you,

Regards,

swami.

Read only

Former Member
0 Likes
719

itab1,itab2,itab3 are internal tables.

we want to move itab1,itab2 common fields to itab3.

loop at itab1[] to itab1.

read table itab2[] into itab2 with key fieldno =itab1-fieldno.

move itab1-fieldno to itab3-fieldno.

move itab2-fieldno2 to itab3-fieldno2.

append itab3.

endloop.

loop at itab3[] into itab3.

write:/ itab3.

endloop.

do in this way we get the common records in itab1 and itab2 in itab3.

Read only

Former Member
0 Likes
719

Hey ppl,

i guess the question was already answered before just wanted to give a simplified example so that it is understood easily

REPORT Z_PRGM_TRY_READ NO STANDARD PAGE HEADING.

TABLES : MARA , MARD.

SELECT-OPTIONS : S_MATNR FOR MARA-MATNR.

TYPES : BEGIN OF LT_MARA ,

MATNR LIKE MARA-MATNR ,

ERSDA LIKE MARA-ERSDA ,

MBRSH LIKE MARA-MBRSH ,

END OF LT_MARA .

DATA : TT_MARA TYPE STANDARD TABLE OF LT_MARA INITIAL SIZE 0 ,

WA_MARA TYPE LT_MARA .

TYPES : BEGIN OF LT_MARD ,

MATNR LIKE MARD-MATNR ,

WERKS LIKE MARD-WERKS ,

LGORT LIKE MARD-LGORT ,

PSTAT LIKE MARD-PSTAT ,

END OF LT_MARD.

DATA : TT_MARD TYPE STANDARD TABLE OF LT_MARD INITIAL SIZE 0 ,

WA_MARD TYPE LT_MARD.

TYPES : BEGIN OF LT_FINAL ,

MATNR LIKE MARA-MATNR ,

ERSDA LIKE MARA-ERSDA ,

MBRSH LIKE MARA-MBRSH ,

WERKS LIKE MARD-WERKS ,

LGORT LIKE MARD-LGORT ,

PSTAT LIKE MARD-PSTAT ,

END OF LT_FINAL .

DATA : TT_FINAL TYPE STANDARD TABLE OF LT_FINAL INITIAL SIZE 0 ,

WA_FINAL TYPE LT_FINAL .

SELECT MARA~MATNR

ERSDA

MBRSH

INTO CORRESPONDING FIELDS OF TABLE TT_MARA FROM MARA WHERE MARA~MATNR IN S_MATNR .

SELECT MARD~MATNR

WERKS

LGORT

PSTAT

INTO CORRESPONDING FIELDS OF TABLE TT_MARD FROM MARD

FOR ALL ENTRIES IN TT_MARA

WHERE MATNR = TT_MARA-MATNR.

LOOP AT TT_MARA INTO WA_MARA.

READ TABLE TT_MARD INTO WA_MARD WITH KEY MATNR = WA_MARA-MATNR .

IF SY-SUBRC = 0.

WA_FINAL-MATNR = WA_MARA-MATNR .

WA_FINAL-ERSDA = WA_MARA-ERSDA.

WA_FINAL-MBRSH = WA_MARA-MBRSH.

WA_FINAL-WERKS = WA_MARD-WERKS.

WA_FINAL-LGORT = WA_MARD-LGORT.

WA_FINAL-PSTAT = WA_MARD-PSTAT.

APPEND WA_FINAL TO TT_FINAL.

CLEAR WA_FINAL.

ENDIF.

ENDLOOP.

LOOP AT TT_FINAL INTO WA_FINAL.

WRITE : / WA_FINAL-MATNR , WA_FINAL-ERSDA , WA_FINAL-MBRSH , WA_FINAL-WERKS ,

WA_FINAL-LGORT , WA_FINAL-PSTAT.

ENDLOOP.