SAP BW中结束例程的性能

2020-09-20 01:15发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 我编写了结束例程来填...

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

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


大家好,

我编写了结束例程来填充已经存在的帐单号的DSO不会通过查找另一个DSO而得到更新,但是该例程需要1-2小时才能完成更新100-150条记录的过程。 这是代码。 请让我知道您在提高代码性能方面的想法。

代码:

***声明***

类型:TY_CON的开头,

UCCONTRACT类型/BI0/OIUCCONTRACT,
UCINSTALLA类型/BI0/OIUCINSTALLA,

TY_CON的结尾。

类型: TY_LOOKUP的开始,
UC_SIM_ID类型/BI0/OIUC_SIM_ID,
/BIC/ZCHBL_NUM类型/BIC/OIZCHBL_NUM,
TY_LOOKUP的结尾。

数据:LT_CON类型标准表 br> TY_LOOKUP的LT_LOOKUP类型标准表,<_> _TY_S_TG_1的LT_RESULT类型标准表,<_> _TY_S_TG_1的LT_RP类型标准表,
LV_RESULT类型_TY_S_TG_1。
****声明结束****


字段符号:类型TY_CON。

LT_RP [] = RESULT_PACKAGE []。

通过UCCONTRACT排序LT_RP。
从LT_RP比较中删除相邻的重复项 UCCONTRACT。


如果LT_RP []不是初始的。


从/BI0/PUCCONTRACT中选择UCCONTRACT UCINSTALLA
到表LT_CON中,以查找LT_RP中的所有条目
UCCONTRACT = LT_RP-UCCONTRACT。 >通过UCCONTRACT排序LT_CON。
在UCINSTALLA初始化的地方删除LT_CON。
ENDIF。
ENDIF。

清除LT_RP []。
LT_RP [] = RESULT_PACKAGE []。
>
通过UC_SIM_ID/BIC/ZCHBL_NUM排序LT_RP。
从LT_RP中删除相邻的重复项,并比较UC_SIM_ID/BIC/ZCHBL_NUM。



如果LT_RP []不初始化。 >从/BIC/ABDSSDS9600
的LT_LOOKUP表中为LT_RP
中的所有条目选择UC_SIM_ID/BIC/ZCHBL_NUM,在UC_SIM_ID = LT_RP-UC_SIM_ID和
/BIC/ZCHBL_NUM = LT_RP-/BIC中。 >
如果SY-SUBRC是初始代码。

SORT LT_LOOKUP。

ENDIF。
ENDIF。


清除LT_RP []。 循环到LV_RESULT的RESULT_PACKAGE中。

使用键UCCONTRACT = LV_RESULT-UCCONTRACT
BINARY SEARCH。
读取表LT_CON分配
。如果SY-SUBRC是INITI AL。

LV_RESULT-UCINSTALLA = -UCINSTALLA。

ENDIF。

用键读取表LT_LOOKUP
UC_SIM_ID = LV_RESULT-UC_SIM_ID
/BIC/ZCHBL_NUM = LV_RESULT-/BIC/ZCHBL_NUM
二进制搜索不传输任何字段。

如果SY-SUBRC不初始。

将LV_RESULT附加到LT_RESULT。

ENDIF 。

ENDLOOP。

清除RESULT_PACKAGE []。
RESULT_PACKAGE [] = LT_RESULT []。