内容来自:
https://blog.csdn.net/Qunending/article/details/106779981
DELETE itab[]
用于 loop 当中,删除当前loop行, read table 会改变 sy_tabix 的值,但是不影响该语法执行结果
举例:
loop at gt_item into gs_item.
DELETE gt_item[].
endloop.
DELETE itab INDEX i.
DELETE GT_ITEM INDEX 20.
注意: 该语句不建议在loop 循环中使用,因为loop 循环中删除了行会影响内表的行索引。
DELETE TABLE itab FORM wa
删除内表中 KEY 值与 工作区KEY值相同的行 ,关键字 TABLE 不能丢,否则执行会报错。=
DELETE ADJACENT DUPLICATES FROM itab.
删除内表中的重复行
要注意使用之前要先SORT itab BY xxxx.
DELETE GT_XXX WHERE xxxxx
删除内表中符合条件的行
WHERE 后面的判断可以对字段进行花式判断,也可以特意增加一个字段用作删除标记,例如,DELETE GT_XXX where field = ‘x’
删除有标记的行。
也可以使用 range 表: 例 DELETE GT_ITEM WHERE MATNR IN S_MATNR. 使用该语句前需要判断S_MATNR[] 不为空