‎2007 Aug 16 1:05 PM
how we can join two tables show me one example code
‎2007 Aug 17 7:01 AM
Hi
see this program
TABLES: MARA, MARC.
DATA : BEGIN OF ITAB OCCURS 0 ,
MATNR1 LIKE MARA-MATNR,
WERKS1 LIKE MARC-WERKS,
END OF ITAB.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR,
S_WERKS FOR MARC-WERKS.
*PARAMETERS: P_MATNR LIKE MARA-MATNR,
P_WERKS LIKE MARC-WERKS.
*
SELECT MARA~MATNR
MARC~WERKS INTO TABLE ITAB FROM MARA INNER JOIN MARC ON
MARAMATNR EQ MARCMATNR WHERE MARAMATNR IN S_MATNR AND MARCWERKS IN
S_WERKS.
WRITE: / 'MATERIAL NO', 'PLANT'.
LOOP AT ITAB.
WRITE: / ITAB-MATNR1 , ITAB-WERKS1 .
ENDLOOP.
‎2007 Aug 16 1:11 PM
Hi!
SELECT MARAMATNR MARAMTART MARC~WERKS
INTO CORRESPONDING FIELDS OF TABLE ITAB
FROM MARA
INNER JOIN MARC ON MARAMATNR = MARCMATNR.
Regards
Tamá
‎2007 Aug 16 1:16 PM
See the following SAP Programs:
demo_select_inner_join
demo_select_left_outer_join
‎2007 Aug 17 6:37 AM
Hi,
This is code for inner join on mara marc and mard.
(Preferbaly you should join two tables at one time.)
Inner join gives intersection of tables. ( Record existing in all three tables will be given)
Outer join for union of two or three tables.
*INNER JOIN FOR THREE TABLES MARA , MARC, MARD.
SELECT P~MATNR P~MTART P~MEINS F~WERKS G~LGORT INTO
CORRESPONDING FIELDS OF IT_MAT
FROM MARA AS P
INNER JOIN MARC AS F
ON P~MATNR = F~MATNR
INNER JOIN MARD AS G
ON F~WERKS = G~WERKS
AND P~MATNR = G~MATNR
WHERE P~MATNR IN S_MATNR.
<b>Code for outer join.</b>
SELECT A~matnr a~mtart a~meins B~werks INTO
CORRESPONDING FIELDS OF mat_rec
FROM mara as A
LEFT OUTER JOIN marc as B
ON A~matnr = B~matnr
where a~matnr in s_matnr.
SELECT B~werks c~lgort INTO
CORRESPONDING FIELDS OF mat_rec
FROM marc as b
LEFT OUTER JOIN mard as c
ON b~werks = c~werks
where b~matnr in s_matnr.
reward if useful.
Thanks ,
Madhura
‎2007 Aug 17 7:01 AM
Hi
see this program
TABLES: MARA, MARC.
DATA : BEGIN OF ITAB OCCURS 0 ,
MATNR1 LIKE MARA-MATNR,
WERKS1 LIKE MARC-WERKS,
END OF ITAB.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR,
S_WERKS FOR MARC-WERKS.
*PARAMETERS: P_MATNR LIKE MARA-MATNR,
P_WERKS LIKE MARC-WERKS.
*
SELECT MARA~MATNR
MARC~WERKS INTO TABLE ITAB FROM MARA INNER JOIN MARC ON
MARAMATNR EQ MARCMATNR WHERE MARAMATNR IN S_MATNR AND MARCWERKS IN
S_WERKS.
WRITE: / 'MATERIAL NO', 'PLANT'.
LOOP AT ITAB.
WRITE: / ITAB-MATNR1 , ITAB-WERKS1 .
ENDLOOP.
‎2007 Aug 17 7:04 AM
Hi
see this program
TABLES: MARA, MARC.
DATA : BEGIN OF ITAB OCCURS 0 ,
MATNR1 LIKE MARA-MATNR,
WERKS1 LIKE MARC-WERKS,
END OF ITAB.
SELECT-OPTIONS : S_MATNR FOR MARA-MATNR,
S_WERKS FOR MARC-WERKS.
*PARAMETERS: P_MATNR LIKE MARA-MATNR,
P_WERKS LIKE MARC-WERKS.
*
SELECT MARA~MATNR
MARC~WERKS INTO TABLE ITAB FROM MARA INNER JOIN MARC ON
MARAMATNR EQ MARCMATNR WHERE MARAMATNR IN S_MATNR AND MARCWERKS IN
S_WERKS.
WRITE: / 'MATERIAL NO', 'PLANT'.
LOOP AT ITAB.
WRITE: / ITAB-MATNR1 , ITAB-WERKS1 .
ENDLOOP.