点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨ABAPers,
我有一个内部表,记录如下:
说明----------数量----------价格
1。 每日----- 1000 ---------------- 52.75
2。 每日------------------- 1500 ----------- 52.75
3。 每日------------------- 1700 -------------- 52.75
4。 星期六-------------- 3000 ------------- 55.00
5。 星期日---------------- 4000 ------------- 55.00
现在,我需要将描述为" 每日"的记录合并到内部表中的单个记录中,"数量"字段是3条记录的总和。
我尝试过使用此
:将lt_tab的LOOP AT放入ls_tab。 在新的描述。 每日总数=每日总数+ ls_tab菜单 ENDAT。
但是并没有达到预期的效果。
关于如何解决这个问题的任何想法?
谢谢。
我不敢向您推荐LOOP AT GROUP BY。 使用IF吗?
LOOP与AT NEW/AT END OF也可以轻松地与SUM结合。
再次阅读关于LOOP和 AT(组)语句,那么您能猜到应该怎么做
当且仅当您掌握了该词(以及Abap的最新版本)时,请阅读在Itab上使用LOOP-GROUP BY
不同意!
您可以尝试以下代码。 希望会有所帮助。
CLASS演示定义。
) -desc) )。上分配循环符号()。 -desc。
公共部分。
类方法:
主要,
初始化。
私有部分。
类型:ty_data的开头,
desc TYPE c长度30,
数量类型i,
价格类型p长度10小数2,
ty_data结束。
CLASS-DATA
t_data TYPE标准数据表ty_data。
ENDCLASS。
CLASS演示实现。
方法main。
initialize()。
DATA(out)= cl_demo_output => new()。
类型:
ty_sum的开始,
desc类型c长度30,
数量ty i,
ty_sum的结尾。
数据t_sum类型标准值ty_sum的表。
DATA s_sum像线 的t_sum。
循环t_data分配字段符号(
GROUP BY(键=
升序
分配字段符号(
清除s_sum。
在组
s_sum-desc =
s_sum-qty = s_sum-qty + <行>-数量
ENDLOOP。
APPEND s_sum至t_sum。
ENDLOOP。
out-> write(t_sum)。
out-> display()。
ENDMETHOD。
方法初始化。
t_data = VALUE#((desc ='每日'数量= 1000价格= '52 .75')
(desc ='每日'数量= 1500价格= '52 .75 ')
(desc ='每日'数量= 1700价格= '52 .75')
(desc ='星期六'数量= 3000价格= '55 .00')
(desc ='周日'数量= 4000 价格= '55 .00'))。
ENDMETHOD。
ENDCLASS。
开始选择。
demo => main()。
仅在满足先决条件的情况下。
一周热门 更多>