1) Rule sets:
a) Have your rules ordered with the most commonly received events first and those rarely used last.
b) Have your archiving, BW upload and update parameter tasks as the last rule activities. Then for each rule that is executed put the rule down for the last activity as the “TRUE rule”
e.g. 10 SEND_PO IS_PO DO_PO_ACT CHANGE_PARAMETERS
20 POST_GR IS_GR DO_GR_ACT CHANGE_PARAMETERS
What the above does is the following: If the event coming in to SAP EM is a PO then rule 10 is true and it’s activity (DO_PO_ACT) is executed and once it’s executed it jumps to the activity CHANGE_PARAMETERS, thus skipping the condition logic of rule 20 and all rules in-between 10 and 900.
c) Rule conditions should be coded as functions and not implemented using the condition editor. The overhead of the container and interpretation of the condition is far greater than simply executing a few lines of ABAP code
2) Outbound EM queues in the application system should be threaded. To do this you need to specify a new queue name for your communication with SAP EM. I will go into more detail on how to do this in another blog. Remember that all RFC / BAPI calls should be preceded with setting the new queue name.
3) Your RFC connection parameters for your Application System and the SAP EM system needs to have the Synchronous Communication connection flagged off in production. It’s fine set to synchronous in a development environment.
4) When designing your EM solution take care to plan out the expected events and their respective dates up front. Try hard not to change these dates or events during the process as these cause the system to believe that a “significant” change has occurred to the EH. When a significant change occurs to an EH it deletes the EH and recreates it and reprocesses all the events again
5) Deactivate the application logs if you feel that they are not needed
6) On the application system also ensure that all conditions are executed as functions as apposed to condition editor type functionality.
7) Keep your Event Handlers relatively small. If you have a long process to track, consider breaking it up into sub-processes and hooking them up using query IDs or EH sets.
8) Limit the parameters to only those that are needed to transfer to BW and those that are required to manage the process through SAP EM.
9) Make use of an extension table if you are experiencing performance issues retrieving data from SAP EM. With an extension table you can index it however you making the retrieval of data much more efficient.