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


Former Member
0 Kudos


What is the diff. between BAPI and BDC?

What is the diff. between BAPI and RFC?

How to use table control in Module pool? give me example?




Former Member
0 Kudos

BDC and BAPI are used to post data into DB. The difference is BDC is diven completely by the Screen scquence and while execution, the screens are loaded into memory. Whereas BAPI execution happens and the data is posted direcly into kernel without screen flow. In other words, BAPI is the one that is closest to the business logic.

BAPI - RFC -> BAPI is and API method of a Business object that is RFC enabled.

but RFC FM is used to execute any FM (non business also) in remote systems.

Former Member
0 Kudos

What is the diff. between BAPI and BDC?

What is the diff. between BAPI and RFC?

How to use table control in Module pool? give me example?

BAPI - Direct Update

BDC - Physically calls the screens as the user would - Good for error procesing

RFC - Means that a Function Module ( this can be a BAPI ) can be called from an external system

Table Control - Use the wizard.


Former Member
0 Kudos


BAPI -Business Application programming Interface

which is used as an interface.

these are similar to fun modules in most cases with certain exceptions.

BDC - batch data Communication used ofr uploading data from legacy system to SAP.

RFC - Remote function Call

which is used to access the remote data using the Destination Paramter. Again this is similar to Fun modules.

in SE51 Scrren paintet -> Layout editor->

Drag the Table control on to the screen and define its attributes and fields and related code.

It is mainly used to display multiple records.,289142,sid21_gci948835,00.html,289142,sid21_gci948835,00.html

For BDc

For BDC:;

Check these link:



Former Member
0 Kudos

Hello Venu,

What is the difference between a BAPI and an RFC?

>> BAPI stands for Business Application Programming Interface. It is a library of functions that are released to the public as an interface into an existing SAP system from an external system.

RFC is the protocol used to call functions in an R/3 system by a caller external to R/3 or to call programs external to R/3 from an R/3 system.

Functions can only be called via RFC, if they are tagged as RFC functions in the SAP development workbench. They are then called RFC function modules. BAPIs are complete sets of (BAPI) function modules that model a business application.

When you are familiar with web developments: RFC can be compared to HTTP and BAPIs are CGI applications.

In other words: A BAPI function is a function module that can be called remotely using the RFC technology.

BAPI's are associated with Business Objects and also they are RFC enabled.

But RFC's are the FM's which can be called from external systems, those FM's can be used in many places based on the applications..

Difference between BAPI and BDC:

BAPI is a higher end usage for tranfering the data from SAP to non-SAP and vice-versa. for ex: if we are using VB application,where in that we want to connect to SAP and retireve the data,and then change and update the data in SAP for that purpose we can use that.

Apart from that, we can also use it for Uploading/Downloading the data from SAP to Non-SAP like BDC, provided we have an existing BAPI for that.

BAPI function modules will also do all the checks required for data integrity like Transactions for BDC.

There is one more advantage using BAPI instead of BDC. When we go for upgradation, there might be pozzibility to change the screen elements for transactions depending on the requirement. In that case,our BDC pgm may or may not work (depending on the screen changes they have made). Unless and until we prepare new BDC we cant use the old BDC pgm. But in BAPI, SAP promises that they are going to keep the old BAPI and for new functionality they will provide an upgraded BAPI. Until we write a new BAPI pgm, we can use the exisitng BAPI pgm.

I hope it helps.