顾问给我发了这个代码示例,这是他希望得到的东西
SELECT m1~vbeln_im m1~vbelp_im m1~mblnr smbln
INTO CORRESPONDING FIELDS OF TABLE lt_mseg
FROM mseg AS m1
INNER JOIN mseg AS m2 ON m1~mblnr = m2~smbln
AND m1~mjahr = m2~sjahr
AND m1~zeile = m2~smblp
FOR ALL ENTRIES IN lt_vbfa
WHERE
AND m2~bwart = '102'
AND 0 = ( select SUM( ( CASE
when SHKZG = 'S' THEN 1
when SHKZG = 'H' THEN -1
else 0
END ) *MENGE ) MENGE
into lt_mseg-summ
from mseg
where
VBELN_IM = m1~vbeln_im
and VBELP_IM = m1~vbelp_im
).
问题是我看不出它在当前语法中应该如何工作。我考虑派生内部选择并将其用作主要选择的条件,但是是否有适当的方法来编写这种嵌套结构?
据我了解,如果嵌套语句 = 0,则执行主查询。这里的问题是嵌套语句中的情况。在ABAP中甚至可能吗?在我看来,这个检查可以在主 SQL 查询之外使用。
欢迎任何建议。