在循环内部表时,我可以安全地删除活动行吗?
例如,请考虑以下代码:
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.
Run Code Online (Sandbox Code Playgroud)
删除这样的记录是否安全,或者这种逻辑不按预期行事?
我应该在临时itab中存储行的唯一标识符并DELETE lt_itab WHERE在循环后运行吗?
我假设对当前迭代中加载的记录以外的记录执行删除操作肯定会引起问题,但我不确定这是否是有效的,更不用说是好的做法.