ABAP内表汇总数据的方法汇总

ABAP内表汇总数据的方法汇总

本文主要介绍ABAP中使用内表统计的几种方式

四种统计方式

内表统计执行数据统计大致有下述几种方式, 这些方式本身没有优劣差异,根据实际情况选择一种使用就好.

COLLECT 语句实现

AT NEW 语句实现

LOOP AT GROUP 语句实现

READ 哈希表语句实现. SELECT SUM 也能汇总内表

数据准备

如图: 给出了内表定义及示例数据.

目标:原内表LT_DATA 结果按字段MATNR统计到内表LT_SUM中. 统计表中的WERKS 字留空或者保留第一行或最后一行的内容

COLLECT 语句实现

该语句的局限性: 目标内表中所有字段区分为关键字和指标(数字型).系统底层会是所有关键字创建临时哈希表,解决汇总的性能问题该方式另外的局限是: 不参与统计的字段必须清空.

AT NEW 语句实现

该语句的局限性: 参与统计的字段必须是内表前面的字段,并且需要先排序.如果统计结果中的地点需要放第一行或最后一行的地点, 可以通过特定逻辑实现.

LOOP AT GROUP实现

该语句无需排序,字段无需作为内表前面的字段, 但是性能比AT NEW 方式稍差.且无关字段只能使用第一行的.

备注: 如果统计表有多关键字,多关键字并列呈现即可

( MATNR = LW_GP-MATNR WERKS = LW_GP-WERKS ).

READ哈希表实现

需要定义一个哈希内表.循环内表读取哈希表.

总结

上述给出的四种常用的内表统计的方式.其中方式三的性能稍差,其它性能差不多. 实际应用中根据实际情况确定使用一种方式即可.

实际应用中,方式四使用更灵活. 方式一最简单,但是对汇总表结构要求较高.

相关推荐
Seele_10183 天前
RAP - 报表示例
sap·abap
爱喝水的鱼丶6 天前
SAP-ABAP:高效开发指南:全局唯一标识符ICF_CREATE_GUID函数的全面解析与实践
运维·服务器·开发语言·数据库·sap·abap·开发交流
LilySesy7 天前
【SAP-MOM项目】二、接口对接(中)
开发语言·python·pandas·restful·sap·abap
Lisson 37 天前
VF01修改实际开票数量增强
java·服务器·前端·abap
爱喝水的鱼丶11 天前
SAP-ABAP:掌握BAPI_OUTB_DELIVERY_CONFIRM_DEC:解锁SAP自动化发货的核心钥匙
运维·学习·sap·abap·交流学习
爱喝水的鱼丶14 天前
SAP-ABAP:从SAP中暴露REST API:完整实操SICF接口开发指南
运维·开发语言·api·sap·abap·rest·接口开发
xiaohutushen18 天前
紧急预警:微软 Edge Webview2 v144 升级导致 SAP GUI 严重白屏故障 (Note 3704912)
前端·microsoft·edge·abap·sap 用户·sap license·usmm
duangww1 个月前
SAP 生产订单状态取值
abap
爱喝水的鱼丶1 个月前
SAP-ABAP:SAP性能侦探:STAD事务码的深度解析与应用实战
开发语言·数据库·学习·sap·abap
Bitter、1 个月前
sap abap 批量导出表结构字段
sap·abap