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

Insert data into internal table

Former Member
0 Likes
1,255

Hi friends ,

SELECT KUNNR NAME1 ORT01 FROM KNA1

INTO CORRESPONDING FIELDS OF WA_FINAL

WHERE KUNNR = IT_LIKP-KUNNR.

ENDSELECT.

NOW I WANT TO INSERT THIS 3 FIELDS IN MY IT_FINAL TABLE WITH EXISTING RECORDS.

Help me out,

Thnx....

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
1,225

Hi Nishit,

SELECT KUNNR NAME1 ORT01 FROM KNA1
INTO CORRESPONDING FIELDS OF WA_FINAL
WHERE KUNNR = IT_LIKP-KUNNR.
ENDSELECT.

NOW I WANT TO INSERT THIS 3 FIELDS IN MY IT_FINAL TABLE WITH EXISTING RECORDS.

Try this:

create an internal table [say ITAB1] with fields KUNNR NAME1 ORT01.

SELECT KUNNR NAME1 ORT01

FROM KNA1

INTO TABLE ITAB1

WHERE KUNNR = IT_LIKP-KUNNR.

LOOP AT IT_FINAL INTO WA_FINAL.

READ TABLE ITAB1 ASSIGNING <FS_itab1> WITH KEY KUNNR = WA_FINAL-KUNNR. [say KUNNR is common or key field in both the internal tables]

IF SY-SUBRC EQ 0.

MOVE : <FS_itab1>-NAME1 TO WA_FINAL-NAME1,

<FS_itab1>-ORT01 TO WA_FINAL-ORT01.

MODIFY IT_FINAL FROM WA_FINAL [ INDEX SY-TABIX ] TRANSPORTING NAME1 ORT01.

ENDIF.

ENDLOOP.

Regards,

Saba

10 REPLIES 10
Read only

Former Member
0 Likes
1,225

Please hit F1 on Append.

Read only

Former Member
0 Likes
1,225

hi nishit,

append wa_final into it_final

Edited by: Ashwinee Mali on Feb 10, 2009 5:42 PM

Read only

Former Member
0 Likes
1,225

Hi,

Use append statement

Example

DATA: BEGIN OF WA,

COL1 TYPE C,

COL2 TYPE I,

END OF WA.

DATA ITAB LIKE TABLE OF WA.

DO 3 TIMES.

APPEND INITIAL LINE TO ITAB.

WA-COL1 = SY-INDEX. WA-COL2 = SY-INDEX ** 2.

APPEND WA TO ITAB.

ENDDO.

LOOP AT ITAB INTO WA.

WRITE: / WA-COL1, WA-COL2.

ENDLOOP.

http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb36c8358411d1829f0000e829fbfe/content.htm

regards

Gokul

Read only

Former Member
0 Likes
1,225

hi,

Instead sending into workarea and then to table ..

y dont u send directly into table..

SELECT KUNNR NAME1 ORT01 FROM KNA1

INTO CORRESPONDING FIELDS OF TABLE IT_FINAL1...

WHERE KUNNR = IT_LIKP-KUNNR.

then loop at this table..and append to table IT_FINAL..

or

for the existing select....endselect,

use append stmt inside select...endselect.

Rgds.,

subash

Read only

awin_prabhu
Active Contributor
0 Likes
1,225

Hi friend,

Try this

SELECT KUNNR NAME1 ORT01 FROM KNA1

INTO CORRESPONDING FIELDS OF WA_FINAL

WHERE KUNNR = IT_LIKP-KUNNR.

*Insert using index

INSERT WA_FINAL INTO IT_FINAL TABLE index sy-index.

ENDSELECT.

Thanks.......

Edited by: Guest77 on Feb 10, 2009 1:16 PM

Read only

Former Member
0 Likes
1,225

hi,

try this:



tables: kna1.
types: begin of ty_itab,
         kunnr like kna1-kunnr,
         name1 like kna1-name1,
         ort01 like kna1-ort01,
       end of ty_itab.
*
data: it_itab type table of ty_itab.
data: wa_itab type         ty_itab.   

SELECT KUNNR NAME1 ORT01 FROM KNA1
INTO CORRESPONDING FIELDS OF table it_itab.


Did you search in this forum before you post this thread????

regards, Dieter

Read only

Former Member
0 Likes
1,225

Hi Joshi,

You can use append statement because append appends the row s into the table with the existing entries.

Write appeend in se38 and press f1 to get the help.

Read only

Former Member
0 Likes
1,225

Hi,

I tried its working fine.

DATA:BEGIN OF wa_final,

kunnr LIKE kna1-kunnr,

name1 LIKE kna1-name1,

ort01 LIKE kna1-ort01,

END OF wa_final.

DATA:it_final LIKE wa_final OCCURS 0 WITH HEADER LINE.

DATA:it_likp-kunnr LIKE kna1-kunnr.

SELECT kunnr name1 ort01 FROM kna1

INTO CORRESPONDING FIELDS OF wa_final

WHERE kunnr = it_likp-kunnr .

APPEND wa_final TO it_final.

ENDSELECT.

LOOP AT it_final.

WRITE:it_final-kunnr.

ENDLOOP.

Thanks

Parvathi

Read only

Former Member
0 Likes
1,226

Hi Nishit,

SELECT KUNNR NAME1 ORT01 FROM KNA1
INTO CORRESPONDING FIELDS OF WA_FINAL
WHERE KUNNR = IT_LIKP-KUNNR.
ENDSELECT.

NOW I WANT TO INSERT THIS 3 FIELDS IN MY IT_FINAL TABLE WITH EXISTING RECORDS.

Try this:

create an internal table [say ITAB1] with fields KUNNR NAME1 ORT01.

SELECT KUNNR NAME1 ORT01

FROM KNA1

INTO TABLE ITAB1

WHERE KUNNR = IT_LIKP-KUNNR.

LOOP AT IT_FINAL INTO WA_FINAL.

READ TABLE ITAB1 ASSIGNING <FS_itab1> WITH KEY KUNNR = WA_FINAL-KUNNR. [say KUNNR is common or key field in both the internal tables]

IF SY-SUBRC EQ 0.

MOVE : <FS_itab1>-NAME1 TO WA_FINAL-NAME1,

<FS_itab1>-ORT01 TO WA_FINAL-ORT01.

MODIFY IT_FINAL FROM WA_FINAL [ INDEX SY-TABIX ] TRANSPORTING NAME1 ORT01.

ENDIF.

ENDLOOP.

Regards,

Saba

Read only

Former Member
0 Likes
1,225

Hi Nishit,

If you want to the selected entries to be appended with the existing records

then write your select query as,

SELECT kunnr name1 ort01 FROM kna1
APPENDING CORRESPONDING FIELDS OF TABLE it_final "Note appending and table instd of wrk area
FOR ALL ENTRIES IN it_likp "Instead of select end select inside the loop
WHERE kunnr = it_likp-kunnr.

Regards,

Manoj Kumar P