基于1个键将2个列与不同数据合并

2020-09-12 14:15发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 任何人都可以指导我合...

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

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


大家好,

任何人都可以指导我合并ABAP中的记录。

如何将具有相同位置的记录合并到具有不同代码的单行中?

最终记录应如下:

在此先感谢您!!!

(3.8 kB)
1条回答
闻人可可
2020-09-12 14:45

使用GROUP BY和REDUCE可以得到它。 如果ASSOC,DATE1和DATE2是字符,则也可以使用COLLECT。

 types:ty_data的开头,
          密钥类型i,
          date1类型d,
          date2类型d,
          c1型,
          c2型,
          c3类型i,
        ty_data的结尾,
        tt_data类型ty_data的标准表,带有默认密钥。
 数据:lt_data类型为tt_data。

 lt_data =值#((键= 11 date1 ='20170101'date2 ='20170101'c1 = 55)
                    (键= 11 date1 ='20170101'date2 ='20170101'c2 = 66)
                    (key = 11 date1 ='20170101'date2 ='20170101'c3 = 77))。

 在lt_data处循环到数据(lw_data1)
                 分组方式(key = lw_data1-date1 = lw_data1-date1 date2 = lw_data1-date2)
                 分配field-symbol()。

   data(lw_data)=减少ty_data(组中m的初始r_data类型ty_data
                                    下一个r_data-key = m-key
                                         r_data-date1 = m-date1
                                         r_data-date2 = m-date2
                                         r_data-c1 = m-c1 + r_data-c1
                                         r_data-c2 = m-c2 + r_data-c2
                                         r_data-c3 = m-c3 + r_data-c3)。
 结束循环。

 cl_demo_output => write(lw_data)。
 cl_demo_output => display()。
 

一周热门 更多>