abap 如何得到内表中不重复的记录。
发布网友
发布时间:2022-04-23 06:25
我来回答
共4个回答
热心网友
时间:2023-10-03 04:05
1.循环你的内表到工作区: wa
2. copy 你的内表到另一个一样的内表: itab_copy
3. delete itab_copy where f1 <> wa-f1 and f2 <> wa-f2 ...
4. 检查itab_copy剩余条数,如果等于1,那么说明这是条不重复的记录,如果>1那么是重复的
5.如果不重复append 到一个结果表中
循环结束,你就得到了所有不重复的记录。
热心网友
时间:2023-10-03 04:06
用去重语法就行了
首先进行排序,用语法
SORT ITAB(内表名) BY 重复字段名.
DELETE ADJACENT DUPLICATES FROM itab(内表名)
该语法用于去除内表中重复的数据(删除的条件是相临的数据重复,所以需要先以重复字段排序,使相同字段变得相临),不知道是否能解决你的问题
热心网友
时间:2023-10-03 04:06
用关键字DELETE DUPLICATE ADJACENT FROM IT_TAB,想要比较某几个字段就加上comparing,如果后面不跟字段名将会判断所有字段是否重复,你可以F1看下它具体的意思。
热心网友
时间:2023-10-03 04:07
1. 先按照你关心的那几个字段排序.
2. 用 DELETE DUPLICATE ADJACENT FROM IT_TAB COMPARING 字段1, 字段X...
这里的字段1到字段X就是你排序的那几个字段.