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 problem.

Former Member
0 Likes
557

Hi all.

I have the fallowing problem:

One internal table it_vbrp_month with fields MATNR WERKS MONTH QUANTITY LIFNR.

Another internal table it_mara with fields MATNR WERKS LIFNR.

The difference between these 2 tables is:

Number of materials in it_mara is allways equal or greater than it_vbrp_month.

I have to populate another table (it_final) with information from it_vbrp_month but i have to insert also the materials that were not found in IT_VBRP_MONTH. ( 0 quantity) and in quantity field to put 0 amount.

IT_FINAL has MATNR WERKS MONTH LIFNR and other fields.

How can i do that?

Thank you,

Cristian.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
531

Hmm...sorry if i seem a little bit confused. Perhaps is better to put the tables and code here.

TABLE it_vbrp_luna

matnr LIKE vbrp-matnr,

werks LIKE vbrp-werks,

matkl LIKE vbrp-matkl,

luna(2) TYPE c,

denumire_luna LIKE t247-ltx,

an(4) TYPE c,

fkimg LIKE vbrp-fkimg,

netwr LIKE vbrp-netwr,

marja_valorica_luna TYPE p DECIMALS 2,

marja_procent_luna TYPE p DECIMALS 2.

TABLE it_mara

matnr LIKE mara-matnr,

maktx LIKE makt-maktx,

matkl LIKE mara-matkl,

werks LIKE marc-werks,

lifnr LIKE lfa1-lifnr,

name1 LIKE lfa1-name1.

TABLE it_final

matnr LIKE vbrp-matnr,

werks LIKE vbrp-werks,

matkl LIKE vbrp-matkl,

maktx LIKE makt-maktx,

werks LIKE marc-werks,

lifnr LIKE lfa1-lifnr,

name1 LIKE lfa1-name1.

luna(2) TYPE c, (month)

denumire_luna LIKE t247-ltx,

an(4) TYPE c, (year)

fkimg LIKE vbrp-fkimg,

netwr LIKE vbrp-netwr,

marja_valorica_luna TYPE p DECIMALS 2,

marja_procent_luna TYPE p DECIMALS 2.

So. IT_FINAL is the final table before ALV display.

I populate IT_FINAL with data from IT_VBRP_LUNA.

But...there are materials in it_mara that are not in it_vbrp_luna.

I have to insert those articles also in IT_FINAL and the quantity and other information regarding cost of good sold, etc are 0.

The code is the following:

LOOP AT it_vbrp_luna INTO wa_vbrp_luna.

wa_final-luna = wa_vbrp_luna-denumire_luna.

wa_final-anul = wa_vbrp_luna-an.

wa_final-matnr = wa_vbrp_luna-matnr.

wa_final-werks = wa_vbrp_luna-werks.

wa_final-matkl = wa_vbrp_luna-matkl.

wa_final-umsgvo = wa_vbrp_luna-netwr.

wa_final-vkmng = wa_vbrp_luna-fkimg.

wa_final-marja_valorica = wa_vbrp_luna-marja_valorica_luna.

wa_final-marja_procent = wa_vbrp_luna-marja_procent_luna.

APPEND wa_final TO it_final.

CLEAR wa_final.

ENDLOOP.

All materials from it_vbrp_luna are inserted.

Now i have to insert materials from it_mara that are not in it_vbrp_luna.

Here, i am stuck.

Thank you.

5 REPLIES 5
Read only

Former Member
0 Likes
531

Hi Cristian,

do like this

loop at it_mara into wa_mara.

wa_final-mara = wa_mara-matnr.

read table it_vbrp_month into wa_vbrp_month with key matnr = wa_mara-matnr.

if sy-subrc = 0.

move all remaining fields to wa_final.

endif.

append wa_final to it_final.

clear wa_final.

endloop.

Reward points if it helps,

Satish

Read only

Former Member
0 Likes
531

Hi,

Use


Move-corresponding it_vbrp_month to it_final.

if you use this key word where you want to assign the values, then the identical named fields' values of one itab can be transferred to other itab easily.

Thanks.

Read only

Former Member
0 Likes
531

Hi,

Try This out ,

Surely It will help you....

DATA : wa_final LIKE it_final. "Create a work area.

LOOP AT it_vbrp_month.

READ TABLE it_mara WITH KEY matnr = t_vbrp_month-matnr BINARY SEARCH.

IF sy-subrc <> 0.

wa_final-matnr = it_mara-matnr.

*write all fields one by one

  • at the end

Append wa_final to it_final.

endif.

wa_final-matnr = it_vbrp_month-matnr.

*write all fields one by one

  • at the end

Append wa_final to it_final.

endloop.

Ask for any doubt.

<b>Reward if useful.

Thanks

Rohit </b>

Read only

Former Member
0 Likes
532

Hmm...sorry if i seem a little bit confused. Perhaps is better to put the tables and code here.

TABLE it_vbrp_luna

matnr LIKE vbrp-matnr,

werks LIKE vbrp-werks,

matkl LIKE vbrp-matkl,

luna(2) TYPE c,

denumire_luna LIKE t247-ltx,

an(4) TYPE c,

fkimg LIKE vbrp-fkimg,

netwr LIKE vbrp-netwr,

marja_valorica_luna TYPE p DECIMALS 2,

marja_procent_luna TYPE p DECIMALS 2.

TABLE it_mara

matnr LIKE mara-matnr,

maktx LIKE makt-maktx,

matkl LIKE mara-matkl,

werks LIKE marc-werks,

lifnr LIKE lfa1-lifnr,

name1 LIKE lfa1-name1.

TABLE it_final

matnr LIKE vbrp-matnr,

werks LIKE vbrp-werks,

matkl LIKE vbrp-matkl,

maktx LIKE makt-maktx,

werks LIKE marc-werks,

lifnr LIKE lfa1-lifnr,

name1 LIKE lfa1-name1.

luna(2) TYPE c, (month)

denumire_luna LIKE t247-ltx,

an(4) TYPE c, (year)

fkimg LIKE vbrp-fkimg,

netwr LIKE vbrp-netwr,

marja_valorica_luna TYPE p DECIMALS 2,

marja_procent_luna TYPE p DECIMALS 2.

So. IT_FINAL is the final table before ALV display.

I populate IT_FINAL with data from IT_VBRP_LUNA.

But...there are materials in it_mara that are not in it_vbrp_luna.

I have to insert those articles also in IT_FINAL and the quantity and other information regarding cost of good sold, etc are 0.

The code is the following:

LOOP AT it_vbrp_luna INTO wa_vbrp_luna.

wa_final-luna = wa_vbrp_luna-denumire_luna.

wa_final-anul = wa_vbrp_luna-an.

wa_final-matnr = wa_vbrp_luna-matnr.

wa_final-werks = wa_vbrp_luna-werks.

wa_final-matkl = wa_vbrp_luna-matkl.

wa_final-umsgvo = wa_vbrp_luna-netwr.

wa_final-vkmng = wa_vbrp_luna-fkimg.

wa_final-marja_valorica = wa_vbrp_luna-marja_valorica_luna.

wa_final-marja_procent = wa_vbrp_luna-marja_procent_luna.

APPEND wa_final TO it_final.

CLEAR wa_final.

ENDLOOP.

All materials from it_vbrp_luna are inserted.

Now i have to insert materials from it_mara that are not in it_vbrp_luna.

Here, i am stuck.

Thank you.

Read only

0 Likes
531

Hi,

Try This out ,

Surely It will help you....

LOOP AT it_vbrp_month into wa_vbrp_month.

READ TABLE it_mara WITH KEY matnr = wa_vbrp_month-matnr BINARY SEARCH.

IF sy-subrc <> 0.

wa_final-luna = it_mara-denumire_luna.

wa_final-anul = it_mara-an.

wa_final-matnr = it_mara-matnr.

wa_final-werks = it_mara-werks.

wa_final-matkl =it_mara-matkl.

wa_final-umsgvo = it_mara-netwr.

wa_final-vkmng = it_mara-fkimg.

wa_final-marja_valorica = it_mara-marja_valorica_luna.

wa_final-marja_procent = it_mara-marja_procent_luna

Append wa_final to it_final.

else.

wa_final-matnr = it_vbrp_month-matnr.

wa_final-luna = wa_vbrp_luna-denumire_luna.

wa_final-anul = wa_vbrp_luna-an.

wa_final-matnr = wa_vbrp_luna-matnr.

wa_final-werks = wa_vbrp_luna-werks.

wa_final-matkl = wa_vbrp_luna-matkl.

wa_final-umsgvo = wa_vbrp_luna-netwr.

wa_final-vkmng = wa_vbrp_luna-fkimg.

wa_final-marja_valorica = wa_vbrp_luna-marja_valorica_luna.

wa_final-marja_procent = wa_vbrp_luna-marja_procent_luna

Append wa_final to it_final.

endif.

endloop.

finaly u have it_final with all fields from it_vbrp_month and all fields from it_mara which are not in it_vbrp_month.

Tell me if nay problem.

Reward if useful

Rohit G