gpt4 book ai didi

abap - FOR ALL ENTRIES 通过空 itab 从数据库中选择所有记录

转载 作者:行者123 更新时间:2023-12-02 19:19:17 25 4
gpt4 key购买 nike

我有一个查询,其中使用FOR ALL ENTRIES。内表lt_customer没有记录。

SELECT *
FROM bsid
INTO CORRESPONDING FIELDS OF TABLE lt_customer2
FOR ALL ENTRIES IN lt_customer
WHERE bukrs EQ p_bukrs
AND belnr EQ lt_customer-belnr
AND gjahr EQ lt_customer-gjahr.

现在,由于 lt_customer 没有记录,我期待在这里转储。但事实证明,它正在将 bsid 中的所有记录选择到 lt_customer2 中。我不明白为什么或如何。请赐教。谢谢!

最佳答案

这是标准行为,如 ABAP 帮助中所述:

“如果内表itab为空,则忽略整个WHERE条件。”

https://help.sap.com/doc/abapdocu_752_index_htm/7.52/en-US/abenwhere_logexp_itab.htm

在 SELECT 之前检查表是否不为空:

IF lt_customer IS NOT INITIAL.
SELECT ...
...
FOR ALL ENTRIES IN lt_customer
...
ENDIF.

关于abap - FOR ALL ENTRIES 通过空 itab 从数据库中选择所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63263680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com