似乎AT FIRST
控制级别处理的语句对于必须运行的任何命令或必须在循环本身开始运行之前初始化的变量都是理想的。鉴于AT
命令如何清除工作区中的列,这是我仍然看到的少数用途之一。
为了说明,而不是这样做:
CLEAR lv_loopcounter.
LOOP AT lt_itab INTO ls_wa.
ADD 1 TO lv_loopcounter.
...
ENDLOOP.
我们可以这样做:
LOOP AT lt_itab INTO ls_wa.
AT FIRST.
CLEAR lv_loopcounter.
ENDAT.
ADD 1 TO lv_loopcounter.
...
ENDLOOP.
这里很明显,需要初始化变量才能使循环按预期运行。当您有很多需要在循环之前运行的语句时,它还可以使代码看起来更清晰。我看到的唯一缺点是它在LOOP
逻辑上不应该在语句中移动代码。
这里有最佳实践吗?是否有我应该注意的隐藏警告?