Performance comparisons: IDoc vs. BDC vs. BAPI

Performance comparisons: IDoc vs. BDC vs. BAPI

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?

    Requires Free Membership to View

    When you register, you will start receiving targeted emails from my award-winning team of editorial writers. Our goal is to keep you informed on the hottest topics and biggest challenges faced by SAP professionals today.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSAP.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSAP.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

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:
1. Buy a bigger machine.
2. 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.
3. Completely bypass standard processing and invent a slim processor to update the necessary data.

This was first published in March 2005

Join the conversationComment

Share
Comments

    Results

    Contribute to the conversation

    All fields are required. Comments will appear at the bottom of the article.