无梦山庄

寻找事业与SAP的最佳结合点

原创 Collect语句的使用方法收藏

Collect语句镶嵌在select---endselect之中使用,在报表开发中经常用到,作用是根据tableunique key,把表中其他的字段进行自动的累加,一般用在对某些数据进行总数统计的时候.

举例如下:

data:begin of mytable,

  keyfield  like XXX,

fliedl1   like XXX,

 field2    like XXX,

end of mytable.

Data: mytable_col like hashed table of mytable

    With unique key keyfield with headline.

 

select keyfield fliedl1 field2 from table_system

  into (mytable- keyfield, mytable-fliedl1, mytable- field2).

Collect mytable into mytable_col.

Endselect.

 

这个例子的作用是以keyfield为主键,fliedl1fliedl2的数据进行累加,计算属于每个keyfieldfliedl1fliedl1的总和.

Collect使用有两个条件:

1.       累加时送入的表必须时hashed table或者 sorted table,即必须拥有唯一的key.

2.       除了key之外的其他属性必须时数字型的,才能进行累加计算.

当然 mytable mytable_col.的表的类型必须完全一致.

一般的报表在生成时都需要对大量的数据进行计算,这时使用collect语句的好处就是不用在把数据取到本地后再loop进行累加,降低报表对系统的压力.

 

发表于 @ 2007年02月25日 20:38:00|评论(loading...)

新一篇: SAP系统的开发语言--ABAP简介 | 旧一篇: XI的服务器居然是坏的

Csdn Blog version 3.1a
Copyright © 许鹏