帮助在SAP BW的启动例程中用字段符号替换工作区

2020-08-27 20:45发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)您好,我们有一个启动例程,其中包...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


您好,我们有一个启动例程,其中包含以下代码,并且正在妨碍性能,并希望用字段符号代替对工作区的使用。 有人可以帮助我修改代码,如果需要的话还可以帮助优化代码。 此例程位于自定义主数据对象和Open集线器之间。 下面是代码:

从/bic/azddbatch00

选择材料批次

进入表it_mch1的对应字段

其中/bic/zdelflag ='X'。

如果sy-subrc =0。

按物料批次升序it_mch1排序。

Endif。

循环到it_mch1并进入wa_mch1。

在哪里删除源_包

物料= wa_mch1-物料AND批次= wa_mch1-批次。

ENDLOOP。

5条回答
huskylover
2020-08-27 21:00

很难确定没有上下文的瓶颈所在,但据我所知并不是因为您使用工作区而不是字段符号。

根据您提供的源代码部分,我可以想到两件事:

1。/bic/azddbatch00未根据/bic/zdelflag

2编制索引。 SOURCE_PACKAGE是标准表。 这意味着您正在LOOP中执行线性搜索,这很不好。 事实上,在大量记录的情况下,确实很糟糕。

请确保您使用的表类型是根据where条件中使用的字段排序的。

数据:source_package类型.. WITH [UNIQUE | 非关键]关键物料批处理。

此外,运行性能跟踪(如果您尚未这样做),以确保缓慢性来自何处。 此外,静态代码检查(代码检查器/ATC)为检测和修复可能的性能问题提供了很多帮助。

一周热门 更多>