SAP Tips: Solving performance problems in IDoc processing
High volumes of inbound and outbound IDocs can cause performance problems. This is less of an issue with an S/4HANA system or a Business Suite on HANA system, where the database power can be used to your advantage.
However, there are occasions when very high volumes of inbound and outbound IDocs can cause errors in the IDocs being sent or received correctly. IDocs can get stuck in status 30 or 64 or can even be stuck in the transactional RFC queue (transaction SM58).
For non-critical IDocs, the easiest way around this is to set the IDoc processing to happen in batch. This is done in partner profile in WE20. Select the inbound or outbound message type and change the processing method to “Trigger by background program” for inbound and “Collect IDocs” for outbound.
You can then schedule a batch job to run at regular intervals to process the collected IDocs. The batch job should have three steps in the process:
Step 1: ABAP program RBDAPP01 for inbound processing
Step 2: ABAP program RSEOUT00 for outbound processing
Step 3: ABAP program RBDMANI2 for reprocessing of any IDocs which were locked in the previous steps.
Be sure to set a variant in each of the steps which only selects the message types in question and for a given date range.
More information can be found in SAP note 1333417, including using the “packet size” in the partner profile to control how many IDocs are submitted for processing at a time.
I hope you find this useful! Stay tuned for another SAP Tip from Eursap soon!
Be sure to also check out Eursap’s SAP Blog for more in depth articles.