功能模块CRM_ORDER_READ的执行速度非常慢。如何提高性能?

2020-08-20 17:28发布

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

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


如果数据量少,则功能模块容易执行,但数据量超过80,000,则需要更多时间。

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

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


如果数据量少,则功能模块容易执行,但数据量超过80,000,则需要更多时间。

付费偷看设置
发送
4条回答
Haoba3210
1楼 · 2020-08-20 17:44.采纳回答

您正在认真尝试一次将CRM_ORDER_READ用于8万个一阶对象? 对于这将花费很长时间,我并不感到惊讶。 您希望实际达到什么"性能"(秒,分钟,小时)?

您是否已经在使用大多数导入参数来限制FM的范围? 您实际上需要从这些命令中读取什么?

我的简单限制是将其限制为读取模式以及您实际上只需要从一个命令中读取的对象。

>
包含CRM_DIRECT。  ",例如CRM_OBJECT_NAMES_CON和CRM_MODE_CON

 数据lt_requested_objects类型crmt_object_name_tab。

 "...。

 "仅从一阶对象中请求必要的对象,例如ORDERADM_H,CUSTOMER_H
 ",但还有其他内容,请参见包括CRM_OBJECT_NAMES_CON
 插入gc_object_name-orderadm_h插入表lt_requested_objects。
 插入gc_object_name-customer_h INTO TABLE lt_requested_objects。

 通话功能" CRM_ORDER_READ"
       出口
         it_header_guid = lt_header_guid
         it_requested_objects = lt_requested_objects
         iv_mode = gc_mode-display
       输入
         et_orderadm_h = lt_orderadm_h
         et_customer_h = lt_customer_h
       例外情况
         OTHERS = 1。

否则,您可能必须直接从数据库表中读取数据并进行相应的连接,才能真正获得最佳性能。

您将需要做更多的工作。 为了使社区能够为您提供帮助,具体说明您当前正在做什么以及实际要实现的目标。

灬番茄
2楼-- · 2020-08-20 17:41

对性能进行故障诊断(无论代码是什么)在论坛中都进行了很多讨论。 。 仅在您的系统上性能可能会变慢,希望您可以调整"系统配置"。 事务代码SAT,ST05,ST03N等。或并行运行代码。

悠然的二货
3楼-- · 2020-08-20 17:48

嗨Sharma Ji。

启用ST12跟踪,在ABAPer的帮助下参考SAP注释2436955,检查昂贵的sql语句并采取必要的操作。

问候

SS

Violet凡
4楼-- · 2020-08-20 17:46
Gaurav Sharma 您在IT_GUID_H中插入了80'000多个向导? 如果花费这么长时间,我不会感到惊讶。如果您想直接从数据库表中读取数据,目前就需要这些数据,并且在大多数情况下,它们是从CRMD_LINK中的CRMD_ORDERADM_H/I-GUID与相关表中的GUID结合在一起的: ul>
  • CRMD_ORDERADM_H
  • CRMD_PARTNER
  • CRM_JEST(状态)
  • CRMD_ACTIVITY_H
  • 对于SERVICE_OS,我建议检查/调试FM CRM_SERVICE_OS_GET_DATA 要找出使用了哪些数据库表,很可能是CRMD_SRV _ *
  • 对于DOC_FLOW,这取决于您所需的内容,主要是CRMD_BINREL,CRMD_BRELVONAE,还检查包CRM_DOC_FLOW中的数据库,CRMD_BREVONAE的ORDERADM_H-GUID例如 objguid_a_sel
  • 一周热门 更多>