在 SAP ABAP 中遍历内部表时,是否可以删除活动行?
DELETE 命令将产生结果。您应该确保,一旦删除了行,在循环中后续不应该再引用或使用该行。最好的做法是在执行删除操作后立即使用 CONTINUE。
我建议避免使用 “DELETE lt_itab INDEX sy-tabix”,因为它会改变 sy-tabix,也就是表索引。如果您只想删除循环中的当前行,则可以使用以下方法。
“DELETE lt_itab”
还有一点,如果您使用语句 “DELETE lt_itab FROM ls_wa”,那么无论是有意还是无意,您都在从内部表中删除相同的行。
总而言之,如果我用一句话来概括,那就是,如果您正在更新或修改您当前正在循环遍历的表,那么最好确保您知道自己在做什么。
广告