如何从内部表中删除所有重复项

2020-08-20 21:46发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,

我遇到一种情况,我需要从一个不相邻的内部表中删除所有重复项。

例如

1 0001 xyz

1 0001 xyz

2 001 xyz

在上面的示例中,前两行是重复的行

所以我需要同时删除这两个字段,如果我使用删除相邻重复项,那么它只会删除1行

请帮助我。

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,

我遇到一种情况,我需要从一个不相邻的内部表中删除所有重复项。

例如

1 0001 xyz

1 0001 xyz

2 001 xyz

在上面的示例中,前两行是重复的行

所以我需要同时删除这两个字段,如果我使用删除相邻重复项,那么它只会删除1行

请帮助我。

付费偷看设置
发送
4条回答
昵称总是被占用
1楼 · 2020-08-20 21:55.采纳回答

因此,您想要:

  • 删除所有重复的行!
  • 甚至不将一组重复的一行保留为原始行?
  • 仅应保留这些行,确实没有任何重复项!

此编码将执行"技巧",但还有许多其他方法, 但我想你明白了。 如果您有多个键字段,则还应在key2的注释中包括编码,并在必要时为key3复制等。

数据行类似于itab的行。
 DATA count_key TYPE i。
 DATA delete_key类型为boole_d。

 按键排序itab 1。  " key2,...
 在itab INTO行上环行。
   在新键1。
    清除:count_key,delete_key。
   ENDAT。
   "在新键2。
   "清除:count_key,delete_key。
   " ENDAT。
   向count_key加1。
   在key1的末尾。
     如果count_key> 1。
       delete_key = abap_true。
     万一。
   ENDAT。
   如果delete_key = abap_true。
     删除itab WHERE key1 = line-key1。  " AND key2 = line-key2。
   万一。
 结局。
 
callcenter油条
2楼-- · 2020-08-20 22:21

请提供您的内部表结构

我相信我们可以通过collect语句来实现。

95年老男孩
3楼-- · 2020-08-20 22:20

不。 收集不会做。 他想要这样。

 A
 乙
 乙
 C 

要还原为

 A
 C 
lukcy2020
4楼-- · 2020-08-20 22:05

非常感谢Michael !!!!

有效:)

一周热门 更多>