点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
重构一些旧代码时,我遇到了这个问题:我有一个Select *语句,然后复制了它,所以现在我必须:
一个在LOOP AT t_ekkn INTO
另一个内部LOOP AT t_ekkn 分配 FIELD-SYMBOL
我面临的问题:ATC检查"不合理"选择*仅将第一个问题识别为有问题。 似乎完全忽略了带有字段符号的符号:
2020-04-21-14-41-48-workspace -atc-check-on-select.jpg (121.0 kB)
Joachim Rees,您好
我同意这乍看之下令人惊讶。
原因如下:
两个SELECT语句都填充属性gs_ekpo,然后直接使用结果的一个字段。
在第一个SELECT语句之后,gs_ekpo被下一个SELECT语句覆盖。 因此,很明显,将不再使用此条目的更多字段。
这与第二个SELECT语句的区别:
结束循环后,到达方法的结尾。
可能在类外部的oder中通过其他方法读取gs_ekpo。 因此,此SELECT语句的发现可能为假阳性。
如果删除其中一个选择,则对其他选择将没有任何发现。
最诚挚的问候,
Friederike
如果只有带有字段符号的那个,就不会出现错误?
您好 Sandra Rossi ,确实是这种情况,是的:
在选择*上没有发现,尽管应该有一个!
嘿弗里德里克(
)感谢您的详细说明! 有道理!
一周热门 更多>