‎2008 Jan 02 8:12 AM
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.
‎2008 Jan 02 8:15 AM
Hi Vijay,
Use JOIN operation between MARA and S026 tabels.
Thanks,
Vinay
‎2008 Jan 02 8:17 AM
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 ).
‎2008 Jan 02 8:49 AM
‎2008 Jan 02 8:53 AM
hi...vijay
mno is selection criteria.
if u want to select from selection screen.
then
use SELECT-OPTIONS MNO FOR MARA-MATNR.
‎2008 Jan 02 8:21 AM
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..
‎2008 Jan 02 8:22 AM
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.