2005 Jul 20 7:44 AM
Hi all,
I'd like to use one sql to select MATNR from MARA and WERKS from MARC.
select MATNR MARC~WERKS
into corresponding fields of itab
from MARA
where exists ( select * from MARC where MATNR = MARA~MATNR ).
But I got a syntax error saying that wrong table name for MARC. How should I correct the SQL ?
Thanks.
Hi all,
I'd like to use one sql to select MATNR from MARA and WERKS from MARC.
select MATNR MARC~WERKS
into corresponding fields of itab
from MARA
where exists ( select * from MARC where MATNR = MARA~MATNR ).
But I got a syntax error saying that wrong table name for MARC. How should I correct the SQL ?
Thanks.
2005 Jul 20 7:51 AM
SELECT rmatnr cwerks
INTO CORRESPONDING FIELDS OF TABLE itab
FROM mara AS r
INNER JOIN marc AS c ON rmatnr = cmatnr .
Regards
Raja
2005 Jul 20 8:00 AM
Hi,
If you don't want to use alis name,
you can code like this.
types : begin of ty,
matnr type mara-matnr,
werks type marc-werks,
end of ty.
data itab type standard table of ty.
select maramatnr marcwerks into table itab from mara inner join marc on maramatnr = marcmatnr.
2005 Jul 20 7:53 AM
Try this
select amatnr bwerks into table i_mara
from mara as a inner join marc as b
on amatnr = bmatnr
where a~matnr = << Your condition goes here
2005 Jul 20 7:58 AM
Hi,
... or take a view like ma06v
SELECT matnr werks ...
INTO CORRESPONDING FIELDS OF itab
FROM ma06v
WHERE werks = werks.
....
regards Andreas
2005 Jul 20 8:01 AM
2005 Jul 20 8:08 AM
Hi,
You can use for all entries also.
Here itab is a internal table containing matnr and itab1 is a internal table containing both matnr and werks.
select matnr from mara into table itab.
select matnr werks from marc into table itab1 for all entries in itab where matnr = itab-matnr.
Check your question on select-option.I found new solution.Check and let me know whether that is useful.
Message was edited by: Jayanthi Jayaraman
2005 Jul 20 8:10 AM
2005 Jul 20 8:15 AM
Hi,
Must I start with MARC first?
my actual sql is:
I want to select WERKS into itab too
SELECT MATNR SPART LABOR
INTO CORRESPONDING FIELDS OF ITAB
FROM MARA
WHERE MATNR IN S_MATNR
AND SPART IN S_SPART
AND LABOR IN S_LABOR
AND MTART = 'FERT'
AND LVORM = ''
AND MSTAE = ''
AND MATNR IN ( SELECT MATNR FROM MVKE WHERE VKORG = '3000' AND VTWEG = '03' AND LVORM = '' )
AND NOT EXISTS ( SELECT * FROM MARC WHERE MATNR = MARA~MATNR AND WERKS IN S_WERKS ).
2005 Jul 20 9:32 AM
Hi,
Try this.
SELECT MATNR SPART LABOR
INTO CORRESPONDING FIELDS OF <b>table</b> ITAB
FROM MARA
WHERE MATNR IN ( SELECT MATNR FROM MVKE WHERE VKORG = '3000' AND VTWEG =
'03' AND LVORM = '' )
AND <b>matnr NOT in</b> ( SELECT * FROM MARC WHERE MATNR = MARA~MATNR AND WERKS IN S_WERKS )
and MATNR IN S_MATNR
AND SPART IN S_SPART
*AND LABOR IN S_LABOR
AND MTART = 'FERT'
AND LVORM = ''
AND MSTAE = ''.
2005 Jul 20 9:57 AM
2005 Jul 20 10:08 AM
Hi,
There is no werks in MARA and MVKE.You want the Matnr output should not be in MARC.Then how is it possible to get the corresponding WERKS for MATNR from MARC?
2005 Jul 20 7:59 AM
Hi,
Instead of Nested select statement you can use Inner joins to achieve your purpose.
Anyway.... check the below SQL...
select MATNR WERKS
into corresponding fields of table it_output
from MARC as a
where exists ( select * from MARA as b where MATNR = a~MATNR ).
endselect.
Regards,
Vara
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |