1.  DELETE itab[ ]

用于loop当中,删除当前loop行,read table  会改变sy-tabix的值,但是不影响该语法执行结果

例:LOOP ATgt_item INTO gs_item .

DELETE gt_item[] .

ENDLOOP .

2. DELETE itab INDEX i .

删除内表中的指定行

例: DELETE GT_ITEM INDEX 20 .

注意:该语句不建议在loop循环中使用,因为loop循环中删除了行会影响内表的行索引。

3. DELETE TABLE itab FROM wa .

删除内表KEY值与工作区KEY值相同的行,  关键字TABLE不能丢,否则执行会报错.

4. 删除内表中的重复行

注意要先排序SORT itab BY **** .

DELETE ADJACENT DUPLICATES FROM itab .  保留第一条数据

例:DELETE ADJACENT DUPLICATES FROM lt_matdoc COMPARING matnr charg.

匹配参数 matnr charg ,删除物料编码与批次相同的行,如果不带COMPARING MATNR CHARG这段,只会删除完成一样的行。

5. 删除内表中符合条件的行。

DELETE GT_** WHERE ******

WHERE 后面的判断可以对字段做花式判断,也可以特意加一个字段用作删除标记,DELETE GT_** WHERE FIELD = ‘X’ .删除有标记的行。

也可以使用range表

例:DELETE GT_ITEM WHERE MATNR NOT IN S_MATNR .使用该语句前需要判断S_MATNR[]不为空

data: begin of itab occurs 0. include structure mara. include type ty_self. data a type c.data:end of itab. (2)DATA itab TYPE T...
一. 删除 重复 :(要先排序后 删除 ,才可以 删除 完全) SORT itabBY field1  field2.默认是升序,降序-DESCENDING. DELETE ADJACENT DUPLICATES FROM xxx COMPARING ALL FIELDS. DELETE IT_Z_ACCT WHERE Z_DESC_CHN = '固定资产净值:' OR Z_DESC_CHN =
Jack最近比较忙,所以没有更新博客。今天一个程序上线正式环境之后,log记录比较奇怪,看起来像是程序只执 了开头。ST22查询后发现有产生dump,发现问题是一个很低级的错误。 有一段根据条件筛选对 内表 delete处理。以spfli表为例。 DATA: gt_spfli TYPE STANDARD TABLE OF spfli, gw_spfli LIKE LINE OF gt_spfli. SELECT * FROM spfli INTO TABLE gt_spfli.
LOOP中使用DELETE (internal table)的话,可以 删除 当前循环的 内表 数据。 Loop at lt_data into lw_data. Delete ltdata. Endloop. 在LOOP外使用该语句,check不报错,程序执 时会shut dump。LOOP外使用时必须附加条件进 删除
内表 的增加, 删除 ,修改,查找,在 ABAP 编程中同样用的很多。 由于工作区和 内表 是变量,以下是清量工作区和 内表 的方法 clear[] refresh(变量 内表 ) clear (清空工作区). 如果有工作区和 内表 ,又要clear和refresh. 1. 内表 的增加 数据库 表增加的方法:insert 内表 的增加的方法: insert, append ,collect 以下是插入单 insert wa into | initial(空 ) line into tab index idx( ). insert