对ABAP程序调优的学习
文章平均质量分 71
ABAP程序员的必修之路吧
刘欣的博客
深耕SAP技术领域20年,一直为企业的ERP-SAP系统保驾护航。
熟悉制造企业PLM、DMS、MES、LES、SRM等各业务域系统及业务。
展开
-
对ABAP程序调优的学习(一)select 改 read table
写这篇文章时,我突然想到很多年前,先明拿作他的软盘,在我家电脑上,把一个他做的传染程序要给我展示,结果没有成功,因为我的系统是MS DOS6了,而他做的程序是运行在DOS5环境中的。那时候他就喜欢在重大机房里抓获各种病毒标本来研究。得到一个标本,是深入学习的开始。现在我们有一个报表程序,运行起来比较慢一点,我们申请了远程支援,SAP原厂的顾问来帮我们诊断和调优。这样我们有了标本,也有老师来亲自指导,这是最好的学习环境了。看看程序的逻辑:我们其实不关心具体是什么业务数据,我......原创 2021-12-03 16:32:24 · 1332 阅读 · 0 评论 -
对ABAP程序调优的学习(三)并行并发读取
该篇文章详细介绍用SAP ABAP 并发读取功能解决数据读取慢的问题。博主有一个场景,在APO模块中读取生产订单和相关的配置、BOM数据,是依赖于SAP的标准函数:/SAPAPO/OM_ORDER_GET_DATA,这个函数后面就是HANA数据库的存储过程,直接在APO LiveCache中读取订单数据。一直以来,我们都觉得这个点上,没有办法再优化了,直到我看到了SAP帮助中的异步RFC说明经过测试,/SAPAPO/OM_ORDER_GET_DATA函数读取100个订单数据的时间是250秒,差不多一个需要耗原创 2022-06-20 11:31:05 · 1638 阅读 · 1 评论 -
对ABAP程序调优的学习(二)select 改 read table
场景:年前我们最开始依靠SAP CQC顾问的优化方案,但SAP顾问应该是短时间没有消化这个程序,导致优化方案反而更慢,我们回退了程序。节前,我们的方案集中在使用并行方式处理数据,该方案技术上是成功的,但业务认为不好收集错误数据,没有采用。今天,ESB帮助优化了接口的工作方式,我再仔细跟踪了程序,和兴伟一起完成了本次优化。只是对数据库的访问关注,就可以获得很多的优化方案,比如这个程序:我们用ST12得到该程序的跟踪,关注点如下:1、对MARA的访问有1365500这么多次,原创 2022-03-17 16:55:27 · 624 阅读 · 0 评论 -
对ABAP程序调优的学习(四)LOOP WHERE KEY
上接之前的场景,通过RFC并行计算,我们在订单下发程序中读取100个订单耗费的时间缩短为31秒:在ST12中,我们可以看到,31秒钟里,有一个LOOP循环占了19秒,其实它还被嵌套在了上面的GT_INPUTS内表循环中。如果读一个订单的数据,它们要计算 2797*4236次:但对内表的查询,Read table又不能作有大于小于条件的查询: 问到HANA群里的ABAP高手,非常清楚的给出了优化代码如下: 结果,100订单读取从31秒缩短为9秒: 博主联想到原来在ERPHOME论坛上,博主也总是提问题,但只原创 2022-06-22 09:41:05 · 1033 阅读 · 1 评论