Abap如何删除内边里和工作区里重复的数据
时间: 2024-03-15 19:44:31 浏览: 134
要删除内表和工作区中的重复数据,可以使用 ABAP 内置函数 `DELETE ADJACENT DUPLICATES`。该函数可以删除相邻且重复的行,只保留其中的一行。
以下是一个示例代码:
```
TYPES: BEGIN OF ty_data,
field1 TYPE string,
field2 TYPE string,
END OF ty_data.
DATA: itab TYPE STANDARD TABLE OF ty_data WITH DEFAULT KEY,
wa TYPE ty_data.
" 填充内表
wa-field1 = 'A'.
wa-field2 = 'B'.
APPEND wa TO itab.
wa-field1 = 'A'.
wa-field2 = 'C'.
APPEND wa TO itab.
wa-field1 = 'B'.
wa-field2 = 'C'.
APPEND wa TO itab.
" 删除内表和工作区中的重复行
DELETE ADJACENT DUPLICATES FROM itab.
" 输出结果
LOOP AT itab INTO wa.
WRITE: / wa-field1, wa-field2.
ENDLOOP.
```
在这个示例中,我们填充了一个内表 `itab`,其中有两行数据是重复的。然后,我们使用 `DELETE ADJACENT DUPLICATES` 函数删除了这些重复行。最后,我们使用 `LOOP AT` 语句输出结果。
运行该代码后,你会发现重复的行已经被删除了。注意,`DELETE ADJACENT DUPLICATES` 函数只删除相邻的重复行,如果有不相邻但内容相同的行,需要另外处理。
阅读全文