我可以在遍历内部表时安全地删除活动行吗?
例如,考虑以下代码:
LOOP AT lt_itab INTO ls_wa.
IF [...] . " A check that can't be done inside a 'DELETE lt_itab WHERE'
DELETE lt_itab INDEX sy-tabix
" OR
DELETE lt_itab FROM ls_wa.
ENDIF.
ENDLOOP.
删除这样的记录是否安全,或者这种逻辑不会按预期运行?
我是否应该将行的唯一标识符存储在临时 itab 中并DELETE lt_itab WHERE
在循环后运行?
我假设对当前迭代中加载的记录以外的记录进行删除操作肯定会导致问题,但我不确定这是否有效,更不用说好的做法了。