Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Using BDC over BAPI

Former Member
3,608

Hi All,

We see that in almost all cases we use BAPI over BDC because it has many advantages over BDC. However, can you let me know scenarios, with the help of an example preferably, where BDC should/is used even when there is an existing BAPI for that update/change?

Thanks!

1 ACCEPTED SOLUTION
Read only

Jelena_Perfiljeva
Active Contributor
3,351

No.

I rarely make such categorical statements but BDC is never better than BAPI. We use BDC as a last resort when the required functionality is not available in any other way.

Not sure where this question is coming from but even having basic understanding of what BDC is and how it works it's easy to see why it sucks. My dream is to never, ever having to use BDC in SAP and I hope it's also SAP's dream to finally make it happen for the customers.

9 REPLIES 9
Read only

Jelena_Perfiljeva
Active Contributor
3,352

No.

I rarely make such categorical statements but BDC is never better than BAPI. We use BDC as a last resort when the required functionality is not available in any other way.

Not sure where this question is coming from but even having basic understanding of what BDC is and how it works it's easy to see why it sucks. My dream is to never, ever having to use BDC in SAP and I hope it's also SAP's dream to finally make it happen for the customers.

Read only

3,351

"never"? 🙂 There can always be exceptions to rules. For instance, if it's a one shot call to speed one input, then Batch Input is really okay for me, because it's very fast to develop, speed is not required, the user has the possibility to correct the input (display mode E) so in that case BDC is much better than BAPI.

Read only

3,351

sandra.rossi , that's why I said I rarely make such statements. 🙂 My problem with such exceptions is that "one shot call" quickly becomes a regular production program which breaks in the next upgrade and a lot more time is spent to rewrite it. So I'm not ready to concede on this one, sorry! 🙂

Read only

former_member1716
Active Contributor
0 Likes
3,351

Hello Samriddhi N,

You really don't want to know the use cases of BDC, if there is a BAPI available there is no need of using the BDC.

Your BDC can never be a permanent solution to any of your requirements, one way or the other it always raise issues.

Though there are multiple reasons to prove the need of BAPI over BDC, you can consider this simple case.

Since BDC is purely based on the screen recording concepts. Any changes over the years done to the screen after your BDC recording was done like:

1) Adding a field

2) Adding a validation to any existing field

3) Adding mandatory check to any field etc

can collapse your BDC program. And all the screen changes we are talking about, the functional and technical consultant who does this may not necessarily be aware of a BDC program existing for this screen and hence issues are always on the cards.

NEVER USE BDC OVER BAPI!!!

Regards!

Read only

JackGraus
Active Contributor
3,351

A standard SAP example using BDC is sales order create from ORDERS IDOC message. This is calling IDOC processing function module IDOC_INPUT_ORDERS.

Regards Jack Graus

Read only

former_member564522
Active Participant
3,351

BAPI should be used over BDC where ever possible . But however sometimes there are few scenario this statement doesn't lies true ( Please note that it depend upon type of development already done by any developer) .

Scenario - Sometime few customer performs few modification or implicit enhancements as per requirement which may not be available when use BAPI for new set of requirement.

Read only

0 Likes
3,351

Customers should not be doing modifications either. One bad thing leads to another.

¯\_(?)_/¯

Read only

3,351

Customers should hire and keep competent ABAPers, who know their trade, SAP's software as well as the problem domain, who'd implement the modifications and enhancements in a competent and thorough fashion, so the functionality is also available via the few bits of official API available to them, or not at all - in the minority of cases, where it's truly impossible or unfeasible to do so 🙂

Read only

keremkoseoglu
Contributor
0 Likes
3,351

BAPI should be preferred over BDC by default; but some cases where BDC might be used are:

  • There is simply no BAPI
  • Behavior of BDC and BAPI is different (rare but happens)
  • There are lots of custom fields on the screen with checks & calculations behind, which is not available over BAPI. The original developer should have implemented it as a class or something, but if he/she didn't, BDC might save the day in the short term.