
统计内誉斗表行肢虚稿数可历孝以用
data: lv_num type i.
describe table lt_table lines lv_num.
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 .
你这个问题问有有点含糊,相同的记录是指和什么相同,可能会有3条A,1条闹春B,4条C,你要的是那一个值?你液察耐先用LOOP,里面做个READ,找到相同记录没饥就append/collect到另一个表里,同时多一个字段记数+1,再删掉原记录条目,跑一次循环就可以把所有的相同数据全部处理出来,应该有你要的结果。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)