We have a need to process millions of records from a foreign system to an SAP R/3 platform, with fast processing times. We have switched from IDoc to BDC recently for performance considerations. How do IDoc, BDC and BAPI compare with one other, if I need to further boost the performance and processing turn-around time?
Let us start with some theory:
IDocs are a universal transport format to exchange data between SAP and external systems. When you process an IDoc, the data is unpacked from the IDoc by stripping the IDoc wrapper, like you take the gifts out of an envelope. Then the data is processed in a conservative way either via BDC, BAPI or some home-made coding.
BDC simulates the data entry via screens by taking the data out of a file and filling the screens automatically rather than having a user to type in the data. BAPIs are function modules that provide a standard API to access transaction data.
Knowing those facts you may understand that performance does not depend on the method you use to inject the data, but rather on the performance of the algorithms behind that process the data.
I am a bit astonished that BDC performs better than IDocs as I would rather expect the contrary. Probably your IDocs make a BDC call themselves instead of calling the processing routines directly.
In order to improve performance you have several options:
- Buy a bigger machine.
- Process a single IDoc with RBDMANIN via the performance monitor SE30 to see where the most time is lost. Often it helps adding some index to a table or letting the IDocs be processed on a several box which is not in the load balancing for dialog users.
- Completely bypass standard processing and invent a slim processor to update the necessary data.
Dig Deeper on SAP integration
Related Q&A from Axel Angeli
An SAP user is receiving an error message while integrating SAP iDoc PORDCR1 for a purchase order. Continue Reading
SAP expert Axel Angeli explains how to update the "further dates" tab information in am SAP transaction through an SAP IDoc. Continue Reading
An SAP R/3 4.7 user wants looking to post a document entry using different trading partner fields for credit and debit for function FB01. Continue Reading