在loop中Collect语句的使用方法及实例

您所在的位置:网站首页 sap的使用方法及实例 在loop中Collect语句的使用方法及实例

在loop中Collect语句的使用方法及实例

2023-08-04 20:57| 来源: 网络整理| 查看: 265

FavoriteLoading ◆◆0 在loop中Collect语句的使用方法及实例

石头 6月 25, 2018 Report 14,955 views 0

[隐藏] 1, Collect介绍2, 例子程序13, 例子程序24, collect中的错误信息 1, Collect介绍

ABAP编程中,经常会要求对loop循环中的一些数值类型(类型 I、P 或F)的字段进行合计,也可以直接使用collect语句进行合计,当然也可以自定义一个变量用来保存累加结果,然后使用At...endat语句进行合计,。

简单说来,collect就是在loop循环的内表中非数值类型字段相同的情况下,对数值类型字段的进行合计。

2, 例子程序1

有点拗口,通过一个简单的程序,一看就明白了。

简单说明一下程序实现的功能,需要合计的内表中有8条数据,按照key字段合计V1 V2的值,最后显示出来。

ABAP 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 REPORT ztest_collect.*----------------------------------------------------------------------**   define internal tables or workarea*   定义内表或者工作区*----------------------------------------------------------------------*DATA : BEGIN  OF  w_test,         key TYPE  string,        "这是关键字段,用于根据这列来统计的V1、V2的值(这个关键字段可以是多个)         v1  TYPE  i,         v2  TYPE  i,       END    OF  w_test. DATA : t_data LIKE  w_test OCCURS  0  WITH  HEADER  LINE .       "定义数据内表DATA : t_data_1 LIKE  w_test OCCURS  0  WITH  HEADER  LINE .DATA : t_test LIKE  w_test OCCURS  0  WITH  HEADER  LINE . *----------------------------------------------------------------------**   assign value to internal tables*   给内表赋值用于测试*----------------------------------------------------------------------* DO  8  TIMES .  IF  sy-index  


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3