Skip to Content

I use this article to log my findings today.

Performance issue during Sales Order Save

I am developing the program to modify and save sales order in the backend. I found the performance of order save is poor – on average it took 6 seconds to save a order. Then I use SAT to trace the program to try to find the performance bottleneck.

I expand the call hierarchy list:

/wp-content/uploads/2014/01/clipboard1_360728.png


Most of the execution time is spent on this method CL_DOC_PROCESSING_CRM_ORDER=>CRM_ORDER_EXEC_SMART_FORM.

/wp-content/uploads/2014/01/clipboard2_360729.png


And every time the order is saved, I notice there is an outbound request in SOST:

/wp-content/uploads/2014/01/clipboard3_360730.png

the document is a smart form:

/wp-content/uploads/2014/01/clipboard4_360731.png

Action Framework

Looking into its outer callstack I found the smart form generation and sending is implemented via action framework:

/wp-content/uploads/2014/01/clipboard7_360732.png

Here below is how I investigate it step by step:

1. find the process type of changed sales order in table CRMD_ORDERADM_H: WCBC

/wp-content/uploads/2014/01/clipboard8_360733.png


2. in SPRO Customer Relationship Management->Transactions->Basic Settings->Define transaction types:

/wp-content/uploads/2014/01/clipboard9_360740.png

find its leading transaction category BUS2000115

/wp-content/uploads/2014/01/clipboard10_360741.png

And action profile:

/wp-content/uploads/2014/01/clipboard11_360742.png

3. in SPRO Customer Relationship Management->Basic functions->Actions->Actions in Transactions->Change Actions and Conditions->Define Action profile and conditions:

/wp-content/uploads/2014/01/clipboard12_360746.png

Now we find the smart form name, the process class and method which is exactly what we have found in SAT trace:

/wp-content/uploads/2014/01/clipboard13_360747.png

In SPRO Customer Relationship Management->Basic functions->Actions->Actions in Transactions->Change Actions and Conditions->Define Conditions

we found the Partner function is set as 0001 Sold-To party.

/wp-content/uploads/2014/01/clipboard14_360752.png


So we go to webclient UI, navigate to Sold-To Party,

/wp-content/uploads/2014/01/clipboard15_360753.png

Maintain my email address there

/wp-content/uploads/2014/01/clipboard16_360754.png

after that I could receive the mail with smartform attached every time sales order is changed.

/wp-content/uploads/2014/01/clipboard17_360755.png

Reference

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply