SAP ABAP delete adjacent duplicates 坑
前一段时间调试一个程序的,半天没发现问题在哪里,经过测试才发现
delete adjacent duplicates from itab 和 delete adjacent duplicates from itab comparing all fields还是有区别的:
前者相邻两行数据,如果除金额字段以外的其他字段都相同,则去重复删除其中一行;
后者相邻两行数据,如果所有对应的字段都相同(包含金额字段),则去重复删除其中一行。
语法格式:
DELETE ADJACENT DUPLICATE FROM <itab> [COMPARING <comp>].
系统从内表 <itab> 中删除所有 邻近重复条 目。所以在使用时就必须先排序,如果不排序后果是很严重的。
DELETE ADJACENT DUPLICATE FROM itab COMPARING ALL FIELDS.
注意:
如果没有 COMPARING 选项,则标准关键字段 的内容必须相同(默认的内表关键字有F、I和P型),金额型不算,所以除金额型外其他相同的都被咔嚓(删除)了。
COLLECT语句也有类似的功能,除了金额型字段外其他的字段内容相同,则去掉相同行并把相同行的金额值累加到留下来的一行。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示