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: 

how fill itab

ashish_gupta11
Explorer
0 Kudos

Hi expert,

i am new in abap.

I m getting confuse to fill itab. i have 3 itab and want to fill final itab.

my code is -


>

REPORT ZREAD_ITAB .

TABLES : MARC,MARA,MAKT.

SELECT-OPTIONS S_MATNR FOR MARC-MATNR .

PARAMETER P_WERKS LIKE MARC-WERKS.

DATA T_MARC LIKE MARC OCCURS 0 WITH HEADER LINE.

DATA T_MARA LIKE MARA OCCURS 0 WITH HEADER LINE.

DATA T_MAKT LIKE MAKT OCCURS 0 WITH HEADER LINE.

DATA : BEGIN OF ITAB OCCURS 0,

MATNR LIKE MARC-MATNR,

WERKS LIKE MARC-WERKS,

MBRSH LIKE MARA-MBRSH,

MEINS LIKE MARA-MEINS,

MATKL LIKE MARA-MATKL,

MAKTX LIKE MAKT-MAKTX,

SPRAS LIKE MAKT-SPRAS,

END OF ITAB.

SELECT MATNR WERKS LVORM FROM MARC INTO CORRESPONDING FIELDS OF TABLE

T_MARC WHERE MATNR IN

S_MATNR AND WERKS = P_WERKS.

IF T_MARC[] IS NOT INITIAL.

SELECT MATNR MBRSH MEINS MATKL FROM MARA INTO (T_MARA-MATNR,

T_MARA-MBRSH,T_MARA-MEINS,T_MARA-MATKL)

FOR ALL ENTRIES IN T_MARC WHERE MATNR = T_MARC-MATNR.

APPEND T_MARA.

ENDSELECT.

SELECT MATNR MAKTX SPRAS FROM MAKT INTO CORRESPONDING FIELDS OF

(T_MAKT-MATNR,T_MAKT-MAKTX,T_MAKT-SPRAS) FOR ALL ENTRIES IN T_MARC

WHERE MATNR = T_MARC-MATNR AND SPRAS = 'EN'.

APPEND T_MAKT.

ENDSELECT.

LOOP AT T_MARC.

READ TABLE T_MARA WITH KEY MATNR = T_MARC-MATNR.

MOVE :

T_MARC-MATNR TO ITAB-MATNR,

T_MARC-WERKS TO ITAB-WERKS.

APPEND ITAB.

CLEAR T_MARA.

READ TABLE T_MAKT WITH KEY MATNR = T_MARC-MATNR.

MOVE :

T_MARA-MBRSH TO ITAB-MBRSH,

T_MARA-MEINS TO ITAB-MEINS,

T_MARA-MATKL TO ITAB-MATKL,

T_MAKT-MAKTX TO ITAB-MAKTX,

T_MAKT-SPRAS TO ITAB-SPRAS.

APPEND ITAB.

CLEAR T_MAKT.

ENDLOOP.

WRITE:/ ITAB.

ELSE .

WRITE:/ 'NO DATA FOUND'.

ENDIF.

Regards ,

Ashish

1 REPLY 1

ThomasZloch
Active Contributor
0 Kudos

But you are not new to searching, are you?

This has been discussed many times before.

A tip from my end, replace "for all entries" with a join select and read everything into one final table right away.

Again, please search for more info on this concept.

Thread locked.

Thomas

P.S. you asked questions about ABAP already in 2008, so much for "new in ABAP"...