|| 您当前的位置:首页 > SAP HR资源网

SAP-ABAP的COLLECT用法

来源:中国护士网  作者:www.512test.com  (查看评论)

Collect语句镶嵌在 select---endselect 之中使用 , 在报表开发中经常用到 , 作用是根据 table unique 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 为主键 , fliedl1 fliedl2 的数据进行累加 , 计算属于每个 keyfield fliedl1 fliedl1 的总和 .

Collect 使用有两个条件 :

<!--[if !supportLists]-->1.       <!--[endif]-->累加时送入的表必须时 hashed table 或者 sorted table, 即必须拥有唯一的 key.

<!--[if !supportLists]-->2.       <!--[endif]-->除了 key 之外的其他属性必须时数字型的 , 才能进行累加计算 .

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

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

考试辅导
最近更新内容
Google广告