abap collect(abap中怎样统计相同记录行)

本文目录
- abap中怎样统计相同记录行
- ABAP 一张内表的,相同物料的数量汇总
- abap中数据累加的问题
- abap COLLECT 的用法
- ABAP报表数据处理:内表数据汇总COLLECT和AT END OF、AT*
abap中怎样统计相同记录行
你这个问题问有有点含糊,相同的记录是指和什么相同,可能会有3条A,1条B,4条C,你要的是那一个值?
你先用LOOP,里面做个READ,找到相同记录就append/collect到另一个表里,同时多一个字段记数+1,再删掉原记录条目,跑一次循环就可以把所有的相同数据全部处理出来,应该有你要的结果。
ABAP 一张内表的,相同物料的数量汇总
假设内表名叫itab 如果物料号matnr是key 那就用collect.
data: itab1 like table of itab with header line.
clear itab.
loop at itab.
move-corresponding itab to itab1.
collect itab1.
endloop.
fresh itab.
itab.
这样应该可以,还有一个方法,如果你解决不了我再打出来。。。下班了有点记不住~~~
abap中数据累加的问题
可以根据物料A 和B 以关键字反复select出金额,最后累加。
或者直接collect 同名字段 自动累加 数字类性 字段。
abap COLLECT 的用法
collect 只能累加数值数据, 这个主要是用来做累加的 例如:
内表数据: it
a 1
a 2
b 1
你调用 collect it . 结果如下:
a 3
b 1
ABAP报表数据处理:内表数据汇总COLLECT和AT END OF、AT*
1)在写abap 的过程中可能需要统计、求和等,那么在loop ... endloop 中间,有个AT 《LEVEL》,《…》,ENDAT循环。其中的《LEVEL》包括: FRIST,LAST, NEW , END OF。
2)这些可以用来进行内表中按某个《u》字段f《/u》 进行分组统计。
3)当f字段或者f字段左边的字段内容发生变化时该事件后面的语句都会执行。
以下以处理工资报表数据为例(简化例子):
接下
以上在loop过程中对工资单数据分别按人事范围、部门汇总,最后做总的统计。
ABAP对内表插入数据有3种:APPEND,COLLECT,INSERT。
1) 要计算数字字段之和或要确保内表中没有出现重复条目,使用 COLLECT 语句,它根据标准关键字处理行(将关键字相同的其他数字字段值汇总)。
2)要在内表现有行之前插入新行,请使用 INSERT 语句。
3)要将内表条目内容复制到另一个内表中并且覆盖该目标表格,使用 MOVE 语句。
以下举例说明collect常见用法。
注意:此处itab作为汇总表定义为hashed table 且明确唯一key列(普通内表也可),collect要求非KEY列都得是数据类型(I,P,F)
DATA: itab LIKE TABLE OF wa_data with KEY col1 col WITH HEADER LINE .

更多文章:
ajax提交form表单数据到servlet(HTML与Servlet的连接)
2025年12月7日 10:30
批量转换ascii(如何把txt 批量从utf8转换为ascii,最好有工具)
2025年11月18日 04:30
postgresql 创建用户(postgresql如何用新创建的用户登录呢)
2026年1月28日 16:30
工程师一个月能赚多少钱(造价工程师一般月收入是多少 需求量大吗)
2026年7月4日 11:00
delphi led扩展屏显示开发(用DELPHI模拟LED屏下的那种文字特效怎么做)
2025年12月17日 14:30
download是什么意思可以删除吗(Download什么意思,Download的文件夹能删了吗,)
2026年7月27日 03:15
trousers后面单复数(The+trousers用不用三单)
2026年5月7日 03:00
linux是自由软件吗(Linux是自由软件,什么是自由软件,它包含哪些含义)
2026年4月14日 08:15
springmvc答辩问题(我的毕业设计是JSP+mysql+Tomcat搭建的一个管理系统,答辩老师问我是怎么设计的,我应该)
2025年11月16日 05:00















