在使用新的ABAP代码附加到ITAB中时,如何跳过重复而不进行排序?

2020-08-23 08:10发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好 我想将一个表中的条目追...

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

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


大家好

我想将一个表中的条目追加到结构相同的另一张表中,但是append应该跳过重复的条目。 如何使用新的ABAP编码实现它?

示例代码:Image1

预期结果:图片2

此致

Abhishek

image1.jpg (102.6 kB)
7条回答
蓋茨
2020-08-23 08:41 .采纳回答

这可以使用COLLECT非常简单地完成,但是当您想使用"新"构造函数表达式进行操作时……

您需要混合使用非排序列表和排序列表, 因此,我们来看一个具有标准主键和唯一(在此为哈希)辅助键的表,以及使用对应的重复副本的hack:

 TYPES:BEGIN OF ty_header,
          vbeln TYPE vbeln_va,
        ty_header的结尾。

 带有默认键的ty_header的类型gtt_header类型标准表
         使用唯一的哈希键by_dummy COMPONENTS vbeln。

 DATA(gt_vbeln)= VALUE gtt_header(
                     (vbeln ='4500000029')
                     (vbeln ='4500000028')
                     (vbeln ='4500000027')。

 DATA(gt_vbeln1)= VALUE gtt_header(
                     (vbeln ='4500000026')
                     (vbeln ='4500000030')
                     (vbeln ='4500000029'))。

 gt_vbeln =对应的#(BASE(gt_vbeln)gt_vbeln1 DISCARDING DUPLICATES)。

 声明gt_vbeln = VALUE gtt_header(
                     (vbeln ='4500000029')
                     (vbeln ='4500000028')
                     (vbeln ='4500000027')
                     (vbeln ='4500000026')
                     (vbeln ='4500000030')。)

一周热门 更多>