2023 Jul 21 4:43 AM
Hi,
i am trying to get data from standard table based on data in work area or internal table.
DATA: s_aufnr TYPE aufm-aufnr,
tmp_aufm TYPE aufm-aufnr.
SELECT DISTINCT aufnr FROM @ct_ioopcomp AS zct_ioopcomp INTO @tmp_aufm.
SELECT * FROM aufm INTO TABLE @DATA(zaufm) WHERE aufnr IN @ct_ioopcomp-aufnr.
ENDSELECT.
Distintct a field from internal table "ct_ioopcomp" into "tmp_aufm" then using these data to grab from standard table "AUFM". but it doesn't work.
Please kindly advise.
Thanks,
RTN
2023 Jul 21 5:41 AM
SELECT DISTINCT aufnr FROM @ct_ioopcomp AS zct_ioopcomp INTO TABLE @DATA(LT_AUFNR).
SELECT A~* FROM aufm AS A JOIN @LT_AUFNR AS B ON A~AUFNR = B~AUFNR INTO TABLE @DATA(LT_AUFM).
2023 Jul 21 5:41 AM
SELECT DISTINCT aufnr FROM @ct_ioopcomp AS zct_ioopcomp INTO TABLE @DATA(LT_AUFNR).
SELECT A~* FROM aufm AS A JOIN @LT_AUFNR AS B ON A~AUFNR = B~AUFNR INTO TABLE @DATA(LT_AUFM).
2023 Jul 21 9:18 AM
2023 Jul 21 9:20 AM
It's generally wrong to ask a question just saying that "it doesn't work" without giving further details. Instead you should say that you have a syntax error with given message at given line, etc.
2023 Jul 21 12:30 PM
ct_ioopcomp isn't a range, so you can't use IN with it.
Do an INNER join with ONE select statement.