本帖最后由 SAPOK_ABAP 于 2015-7-8 14:02 编辑
假设内表和工作区分别为:GT_TAB GS_TAB. 将字段field1和field2组合成一个行组,分别对字段FIELD2使用AT NEW 和 AT END OF语法 LOOP AT GT_TAB INTO GS_TAB. AT NEW FIELD2. GS_TAB-FLAG_NEW = 'X'. ENDAT. AT END OF FIELD2. GS_TAB-FLAG_END = 'X'. ENDAT. MODIFY GT_TAB FROM GS_TAB. ENDLOOP. 结合AT语法的原理,可以分析出GT_TAB内表的数据修改成如下: FIELD1 FIELD2 FALG_NEW FLAG_END AB CD X AB CD X EF EG X X CD AB X CD AB CD AB X EG DF X X 可以根据FLAG_NEW和FLAG_END的字段值分布,判断出哪些是需要保留的数据,在来一句 DELETE GT_TAB WHERE FALG_NEW <> 'X' OR FLAG_END <> 'X'. 即可得到预期的数据 FIELD1 FIELD2 FALG_NEW FLAG_END EF EG X X EG DF X X |