列出没有特定语言键的材料

时间:2018-10-05 14:54:44

标签: sap abap

我对ABAP编码非常陌生。我的任务是实现一份报告,其中列出了没有特定语言键的所有材料。 例如,用户在选择屏幕“ EN”中输入作为语言键。结果,应显示所有没有语言键“ EN”的材料。 有两个表:MARA(材料数据)和MAKT(语言键= SPRAS),它们通过主键(MATNR)连接。

我以这种方式尝试过,但没有用:

SELECT * FROM MARA INNER JOIN MAKT ON MARA~MATNR EQ MAKT~MATNR WHERE MAKT~SPRAS NOT IN S_SPRAS

2 个答案:

答案 0 :(得分:3)

我认为S_SPRAS是具有多项选择的选择选项。 在这种情况下,如果您需要显示没有指定语言的材料,请使用以下方法:

SELECT * INTO TABLE lt_mara
FROM MARA
  WHERE NOT EXISTS (
    SELECT * FROM MAKT WHERE MAKT~MATNR = MARA~MATNR AND MAKT~SPRAS IN S_SPRAS )

如果您需要显示的材料中至少没有一种指定的语言,则它会更复杂,并且取决于您的运行时版本-高于或等于7.50。

答案 1 :(得分:0)

您也可以尝试使用LEFT JOIN跟随SQL语句

select mara~matnr
into table @data(gt_matnr)
from mara
left JOIN makt
  on MAKT~MATNR = MARA~MATNR and
     MAKT~SPRAS = @s_spras-low
where MAKT~MATNR IS null.