abap collect对内表统计

REPORT  ZTESTIAN5 .
data  begin   of  w_test ,
key   type  string ,         "这是关键字段,用于根据这列来统计的V1、V2的值(这个关键字段可以是多个)
v1   type   ,
v2   type   ,
end     of  w_test .

data  t_data  like  w_test  occurs   0   with   header   line  .        "定义数据内表

data  t_test  like   HASHED   TABLE   OF  w_test  with   UNIQUE   key   key   with   header   line  .   "定义统计结果内表(必须是哈希内表)

*----------------------------------------------------------------------*
*   assign value to internal tables
*   给内表赋值用于测试
*----------------------------------------------------------------------*

do   10   times  .
if  sy - index   .
t_data - key   'A'  .
t_data -v1   sy - index  .
t_data -v2   sy - index   .
elseif  sy - index   .
t_data - key   'B'  .
t_data -v1   sy - index  .
t_data -v2   sy - index   .
else  .
t_data - key   'C'  .
t_data -v1   sy - index   .
t_data -v2   sy - index   .
endif  .

append  t_data .
enddo  .

*----------------------------------------------------------------------*
*   process interal table
*   处理内表(统计)
*----------------------------------------------------------------------*
loop   at  t_data .
collect  t_data  into  t_test .          "按关键列统计值
endloop  .

*----------------------------------------------------------------------*
*  output internal tables
*  打印输出内表
*----------------------------------------------------------------------*
write  sy - uline  .
write  '内表数据:'  .
loop   at  t_data .
write  ' '  ,t_data - key  ,t_data -v1 t_data -v2 .
endloop  .
write  sy - uline  .

write  sy - uline  .
write  'collect后的数据:'  .
loop   at  t_test .
write  ' '  ,t_test - key  t_test -v1 t_test -v2 .
endloop  .
write  sy - uline  .
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值