10-11-2008 4:52 AM
Hello experts,
I want a join on table ekpo & mbew(for valuation class).
But its not working.
if valclass is initial.
select aebeln aebelp atxz01 amatnr abukrs awerks a~menge
a~mtart
b~bklas
from ekpo as a inner join mbew as b on bmatnr eq amatnr
into corresponding fields of table ekpo_mbew
where ( a~matnr eq mat_num ) and
( a~bukrs eq compcode ) and
( a~werks eq plant ) and
( a~mtart eq mat_type ) and
b~bklas in ('3001','3045' ,'3006','3055','3065') and
( amatnr eq bmatnr ).
else.
select aebeln aebelp atxz01 amatnr abukrs awerks a~menge
a~mtart
b~bklas
from ekpo as a inner join mbew as b on bmatnr eq amatnr
into corresponding fields of table ekpo_mbew
where ( a~matnr eq mat_num ) and
( a~bukrs eq compcode ) and
( a~werks eq plant ) and
( a~mtart eq mat_type ) and
( b~bklas in valclass ) and
( amatnr eq bmatnr ).
endif.
Plz tell where I m wrng.
Ravi.
10-11-2008 4:57 AM
10-11-2008 5:08 AM
Hi,
Try the below code,
SELECT aebeln aebelp atxz01 amatnr abukrs awerks a~menge
a~mtart
b~bklas
FROM ekpo AS a INNER JOIN mbew AS b ON bmatnr EQ amatnr INTO CORRESPONDING FIELDS OF TABLE ekpo_mbew
WHERE a~matnr EQ mat_num AND
a~bukrs EQ compcode AND
a~werks EQ plant AND
a~mtart EQ mat_type AND
b~bklas IN ('3001','3045' ,'3006','3055','3065').
ELSE.
SELECT aebeln aebelp atxz01 amatnr abukrs awerks a~menge
a~mtart
b~bklas
FROM ekpo AS a INNER JOIN mbew AS b
ON bmatnr EQ amatnr
INTO CORRESPONDING FIELDS OF TABLE ekpo_mbew
WHERE a~matnr EQ mat_num AND
a~bukrs EQ compcode AND
a~werks EQ plant AND
a~mtart eq mat_type AND
b~bklas IN valclass .
Note :- ( amatnr eq bmatnr ) this is not necessary as the INNER JOIN is on that condition itself.
Regards
Bala Krishna