首先,我没有使用ABAP的经验,我在这里进行猜测。
我想在现有报告中为SELECT添加条件。 现有代码如下所示:
SELECT SINGLE *
FROM EKPO
WHERE EBELN = GT_MSEG-EBELN
AND EBELP = GT_MSEG-EBELP.
如果字段F1是某个值且字段F2为0(两个条件必须为true以排除记录),我想添加一个条件来排除记录。我试过这个:
SELECT SINGLE *
FROM EKPO
WHERE EBELN = GT_MSEG-EBELN
AND EBELP = GT_MSEG-EBELP
AND NOT (F1 = 'value' AND F2 = '0').
我收到语法错误:字段“F1 ='value'和F2 ='0'”未知。它既不在指定的表中,也不在“DATA”语句中定义。
字段F1和F2肯定存在于EKPO表中,我已经检查过了。似乎括号使编译器将内容视为字段名称,但我不知道为什么。
语法不正确,我在某个地方错过了某个定义,还是两者都错过了?
答案 0 :(得分:10)
SELECT SINGLE *
FROM EKPO
WHERE EBELN = GT_MSEG-EBELN
AND EBELP = GT_MSEG-EBELP
AND NOT ( F1 = 'value' AND F2 = '0' ).
这很有用。基本上我只需要一个与括号相邻的空间。