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

MATKL

Former Member
0 Likes
965

Hi all

In the below program i need to select the MATKL field from MARA Table and MATNR is the only common field in both MARA and S026 tables.Please help.

Vijay

REPORT ZCO_OVERHEAD_TEST1.

TABLES:S026,MARA.

DATA:IT_S026 TYPE STANDARD TABLE OF S026 WITH HEADER LINE.

DATA:IT_MARA TYPE STANDARD TABLE OF MARA WITH HEADER LINE.

DATA:IT_REPORT TYPE STANDARD TABLE OF S026 WITH HEADER LINE.

PARAMETERS:p_werks type S026-WERKS.

SELECT-OPTIONS:p_sptag FOR S026-SPTAG.

  • OBLIGATORY.

DATA:x TYPE i.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag .

LOOP AT IT_S026.

WRITE:/ IT_S026-ENMNG,IT_S026-WERKS,IT_S026-SPTAG,IT_S026-MATNR.

IT_REPORT-ENMNG = IT_S026-ENMNG .

SELECT * FROM MARA INTO CORRESPONDING FIELDS OF TABLE

IT_MARA WHERE ERSDA IN p_sptag.

ADD IT_S026-ENMNG TO X.

ENDLOOP.

WRITE:/ 'Material Group::',IT_MARA-MATKL.

WRITE:/ 'TOTAL::',x.

6 REPLIES 6
Read only

Former Member
0 Likes
880

Hi Vijay,

Use JOIN operation between MARA and S026 tabels.

Thanks,

Vinay

Read only

arpit_shah
Contributor
0 Likes
880

use the inner join..

e.g

SELECT *

INTO CORRESPONDING FIELDS OF TABLE ITAB

FROM ( MARA AS A

INNER JOIN S026 AS B ON BMATNR = AMATNR

)

WHERE ( A~MATNR IN MNO ).

Read only

0 Likes
880

hI ARPIT

Am geeting error as MNO unknown.Please explain

Vijay

Read only

0 Likes
880

hi...vijay

mno is selection criteria.

if u want to select from selection screen.

then

use SELECT-OPTIONS MNO FOR MARA-MATNR.

Read only

Former Member
0 Likes
880

Hi,

You can code like this :

REPORT ZCO_OVERHEAD_TEST1.

TABLES:S026,MARA.

DATA:IT_S026 TYPE STANDARD TABLE OF S026 WITH HEADER LINE.

DATA:IT_MARA TYPE STANDARD TABLE OF MARA WITH HEADER LINE.

DATA:IT_REPORT TYPE STANDARD TABLE OF S026 WITH HEADER LINE.

PARAMETERS:p_werks type S026-WERKS.

SELECT-OPTIONS:p_sptag FOR S026-SPTAG.

OBLIGATORY.

DATA:x TYPE i.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag .

if it_s026[] is not initial.

SELECT * FROM MARA for all entrie in it_s026

INTO CORRESPONDING FIELDS OF TABLE

IT_MARA WHERE ERSDA IN p_sptag and matnr = it_s026[]-matnr.

endif.

try this and pls ask if any doubts.

Regards,

Renjith Michael..

Read only

kesavadas_thekkillath
Active Contributor
0 Likes
880

JOin MARA with (s026-matnr <-> mara-matnr) and pick matkl from mara for a material in s026.

DATA:x TYPE i.

SELECT * FROM S026 INTO CORRESPONDING FIELDS OF TABLE

IT_S026 WHERE WERKS = P_WERKS AND

SPTAG IN p_sptag .

LOOP AT IT_S026.

WRITE:/ IT_S026-ENMNG,IT_S026-WERKS,IT_S026-SPTAG,IT_S026-MATNR.

IT_REPORT-ENMNG = IT_S026-ENMNG .

SELECT single * FROM MARA WHERE

matnr = it_s026-matnr

and ERSDA = It_S026-sptag.

ADD IT_S026-ENMNG TO X.

WRITE:/ 'Material Group::',MARA-MATKL.

clear mara.

WRITE:/ 'TOTAL::',x.