Recently I am helping customer to measure the performance of APIs in function group CRM_ORDER_API and find this trace tool.
1. use tcode CRMD_TRACE_SET to activate the trace mode:
2. run the one order scenario under trace mode. In my case I execute the program( source code attached to this blog). Once finished, go to tcode CRMD_TRACE_EVAL:
double click on the highlighted cell and it will lead to parameter detail screen:
it is also possible to see the callstack where the function module is called.
How is it implemented
1. There is an include CRM_TRACE_PART_ONE which does the following jobs:
- evaluate the trace mode enablement
- collect the timestamp, work process id, callstack information etc
The include looks strange for me( as an ABAP OO developer) at the first glance:
2. There is another include CRM_TRACE_PART_TWO which persists the collected trace information to table INDX.?
By using where used list on these includes, you can know what APIs could support the trace function.
You can also set user parameter "CRM_DEBUG_CODE" if you would not like to activate it explicitly. It will be evaluated by function module CRM_ORDER_DEBUG_CODE which is called by include CRM_TRACE_PART_TWO.
You can also explore the package CRM_TOOLS: