Skip to Content
author's profile photo
Former Member

Performance BAPI vs. IDoc


i don't now if this is the correct forum for my question, but i also don't know which i have to take instead of this.

I have the following problem. At the moment i try to compare the BAPI and the IDoc interface with regard to performance and speed. I write a test program in C# with the SAP .NET Connector 1.0.2 and send the same data with both interfaces and measure the time the transmission needs.

My results are confusing me. IDocs are faster than BAPI, only a little bit, but they are faster. Could this be?? It seems illogical to me because i know IDocs itself use that BAPI during data processing. How can IDocs be faster in this case? Or is it only a bug in my program? I didn't find it so far. Where can i find more information about that thing (comparision between IDoc and BAPI)?

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

1 Answer

  • author's profile photo
    Former Member
    Posted on Aug 03, 2004 at 09:37 AM


    IDOC processing is usually an asynchronous process inside R/3. A successful call to the method SAPIDocSender.SubmitIDoc just means that the IDOC has been successfully transferred to the target SAP system and the corresponding processing has been triggered, but not necessarily tells if the IDOC processing has been successfully started or completed.

    As explained above, the result you got is actually not so "illogical", because you are probably comparing IDOC's part time to BAPI's total time.

    From the viewpoint of performance and speed, calling a BAPI directly should be always faster than calling the same BAPI indirectly through IDOC/ALE.



    Add comment
    10|10000 characters needed characters exceeded

    • Former Member Former Member

      Ah, thanks!

      I think this could be the solution. That means the SAPIDocSender.SubmitIDoc-Method returns immediately when there is a free dialog process to handle the IDoc and processing has started. But this means that i'm not able to measure the processing time of the IDoc in R/3. I assume that the difference between BAPI and IDoc isn't great in fact but unfortunately this measurement is part of my diploma thesis, so it would be good to find a way to solve that problem. Does anybody has an idea?

      Message was edited by: Stefan Bauer