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哈希表实现

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

总结

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

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

相关推荐
goyeer3 天前
08.[SAP ABAP] 循环结构
sap·abap
goyeer3 天前
09.[SAP ABAP] 终止循环
sap·abap
goyeer5 天前
07. [SAP ABAP] CASE控制语句
sap·abap
山茶花开时。7 天前
[SAP ABAP] CONVERSION_EXIT_ALPHA_INPUT
sap·abap
EasyStudios8 天前
金色传说:SAP-ABAP-Excel数据导入工具函数示例
sap·abap·excel导入
EasyStudios9 天前
金色传说:SAP-ABAP-交货单创建及过账工具类示例
sap·abap·工具类·se24·交货单bapi
goyeer12 天前
05.[SAP ABAP] ABAP中的运算符
算法·sap·abap·运算符
爱喝水的鱼丶1 个月前
SAP-ABAP:SAP概述:数据处理的系统、应用与产品
运维·学习·sap·abap·1024程序员节
1314lay_10071 个月前
SAP ABAP 导入excel表,导多个sheet
excel·abap