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

Difference between a BAPI and RFC

Former Member
0 Likes
690

hi experts,

I would like to know the exact difference between a BAPI and an RFC .Could any one of you tell me the exact difference, as far as i know all BAPI 's are RFC enabled .Is there any striking difference.

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
658

Hi,

The Differences are-

1.

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.

2.

Bapi's are nothing but RFC enabled function module....... and the main difference b/w RFC & BAPI is that BAPI is maintained in BOR(business object repository)...

3.

RFC can have only one instance whereas BAPI can have many.

4.

BAPI methods are RFC enabled function modules. The difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call.Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs.BAPI is having all Key fields, methods, interfaces etc.

Regards,

Sujit

5 REPLIES 5
Read only

Former Member
0 Likes
658

Hello varghese,

RFC refers to Request for Comments. It is a series that contains the internetu2019s technical and organizational documents. It also includes in it the technical specifications and the policy documents also that are produced by the Internet Engineering Task Force (IETF). These are funded by the Internet Society and can only be done online.

BAPI refers to the Business Application Programming Interface. It enables the SAP functions across for the formal, stable and dialog u2013free interfacing. These can be used by the external programs applications that have been developed by the customers. These provide the clients with the view that is object-oriented and that can use the logic of business.

The main and basic difference between BAPIs and RFC is the

business object.Both are remote-enabled calls.But business

object differentiates between them.

Also check this out..

http://www.sap-img.com/fu026.htm

*Hope this is useful

Best of luck,

bhumika

Read only

Former Member
0 Likes
658

Hi,

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 is transaction related where as RFC is Cross system realted.

By using BAPI you can save the transactional data

Like PO creation or Account Document creation those things you can do it.

RFC is For Communication kind of thing Between two systems.

We will take one example where we have to post the account document in other system.

I will use the RFC BAPI function module to post the document.

Here in this case I am using the BAPI function module for posting the transactional data By using the RFC connection.

Best rregards,

raam

Read only

Former Member
0 Likes
659

Hi,

The Differences are-

1.

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.

2.

Bapi's are nothing but RFC enabled function module....... and the main difference b/w RFC & BAPI is that BAPI is maintained in BOR(business object repository)...

3.

RFC can have only one instance whereas BAPI can have many.

4.

BAPI methods are RFC enabled function modules. The difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call.Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs.BAPI is having all Key fields, methods, interfaces etc.

Regards,

Sujit

Read only

0 Likes
658

hi sujith,

Can you just explain to me a bit about the 3 rd point you mentioned that a RFC CAN HAVE ONLY ONE INSTANCE WHEREAS A BAPI CAN HAVE MANY. is it possible for you to provide more light to it

regards ,

varghese

Edited by: varghese oommen on Jun 28, 2008 1:05 PM

Read only

Former Member
0 Likes
658

Hiii!

Check out this link

http://www.geekinterview.com/question_details/40974

Regards

Abhijeet Kulshreshtha