ABAP提高程序性能
最近,公司一批程序进行了优化,现将主要优化点归纳如下
1、往中间库传输数据系列报表
优化前:每次从VBAK/VBAP取系统日期-4天的数据,全量往中间库传输
优化后:添加间隔分钟数选项,取数时间为当天+系统时间-间隔分钟数,取数改为从CDHDR/VBAK/VBAP获取该时间段的增量数据.注意间隔分钟数>Job执行时间
2、进销存系列报表优化
优化前:取数从MKPF+MSEG的视图中取,效率慢
优化后:将从视图中取数改为直接从MSEG中取,并建立MSEG对应的索引,索引字段参考取数条件
3、COPA系列报表
优化前:采用系统标准的COPA报表,运行时间超过3个小时
优化后:创建新的汇总级别,参考SAP Note:83204 - Usage strategy for summarization levels
4、成本中心报表优化
优化前:从FAGLFLEXA表取数时候,用到了for all entries,导致取数特别慢
优化后:将for all entries改为从range table取数
5、账目明细表
优化点:通过程序RSANAORA进行索引重组
优化工具:
1、用SAT跑报表,大致确认效率慢的业务逻辑
2、ST05跟踪SQL trace,确认效率慢的原因,查看是否是ABAP语句效率差或者需要索引
3、根据1与2的结果,指定解决方案
其他常用跟踪工具
1、SM66 查看当前服务器执行的进程
2、程序RSANAORA进行索引重组