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

What are the differences between BAPI and RFC..?

Former Member
0 Likes
995

Hi Gurus..

Could you please tell me the differences between RFC and BAPI...?

Pls give explanation for those differences...

Thanks and Regards

Nagarjuna

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
954

Hi,

Please find the comparisons below

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.

In other words: A BAPI function is a function module that

can be called remotely using the RFC technology.

eg:

An RFC, or Remote Function Call, describes an external interface to a system function module available in SAP. For example, getting the system parameters is a system function available via RFC. use transaction se37 to view an RFC,in the atrribute tab of a function module if " Remote Enabled module" is selected in the "processing type" it is an RFC

A BAPI, or Business Application Programming Interface, is an RFC-enabled function module that provides external access to an SAP business application such as creating a sales order.

use transaction se37 -> put bapi* and press F4 to view bapis

Almost all BAPIs are enabled as RFCs which can be seen in the attributes tab in se37 .....

Regards

Byju

6 REPLIES 6
Read only

Former Member
0 Likes
955

Hi,

Please find the comparisons below

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.

In other words: A BAPI function is a function module that

can be called remotely using the RFC technology.

eg:

An RFC, or Remote Function Call, describes an external interface to a system function module available in SAP. For example, getting the system parameters is a system function available via RFC. use transaction se37 to view an RFC,in the atrribute tab of a function module if " Remote Enabled module" is selected in the "processing type" it is an RFC

A BAPI, or Business Application Programming Interface, is an RFC-enabled function module that provides external access to an SAP business application such as creating a sales order.

use transaction se37 -> put bapi* and press F4 to view bapis

Almost all BAPIs are enabled as RFCs which can be seen in the attributes tab in se37 .....

Regards

Byju

Read only

Former Member
0 Likes
954

Hi,

BAPIs are RFCs, the only difference is that BAPIs usually encapulate some complete business object. For example, creating a sales order, the BAPI would do all of the steps required to create a sales order.

Regards

Kiran Sure

Read only

Former Member
0 Likes
954

Hi,

BAPI:

BAPI is an API method of a business object which intern is a RFC enabled function module. Business objects are objects in their own sense which involve with a business process.

BAPI (Business Application Programming Interface) is an API method of a business object which intern is a RFC enabled Function Module.

Business Objects are the Objects which has business sence associated to it. Ex. Sales Orders, Purchase Orders etc.

The Properties of BAPI are:

Every BAPI name should start with letters 'BAPI'.

It is an API method of a Business Object.

it does not contain a internal COMMIT statement in the Function Module.

It does not contain "CALL TRANSACTION" statements.

BAPI do not raise 'EXCEPTIONS'.

a RETURN structure is defined as an interface parameter of a BAPI which is used to log all the errors, warnings and the successful processes tha are triggered in the course of execution of a BAPI.

A successful execution of a BAPI requires the data to be commited and this process of performing a COMMIT is achieved by calling the BAPI_TRANSACTION_COMMIT' explicitly if there are no errors logged in the RETURN structure.

There are two types of BAPI's: Instance Dependent & Instance Independent.

BAPI provides an access to the SAP system for external applications to have the business data processed in the form of web services. When BAPI's are used to post the data in SAP system these are used as Function Modules.

RFC:

Remote Function Call (RFC) is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system, but usually caller and callee will be in differene system. RFC allows for remote calls between two SAP Systems (R/3 or R/2) or between an SAP System and a non-SAP System.

Reward point if useful..

Read only

Former Member
0 Likes
954

Hi nagarjuna reddy ,

in simple way we can tell as

BAPI'S are created using RFC.

i.e all BAPI'S are RFC

but all RFC are not BAPIS.

Hope this may solve your problem.

Please reward points if found correct.

thanks and regards,

Rajeshwar.

Read only

Former Member
0 Likes
954

Hi Reddy!!

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

kindly reward points if helpful.

Read only

Former Member
0 Likes
954

BAPI has object oriented concept.

BAPI are a particular kind of RFC.

In BAPI u cant have CALL TRANSACTION or CALL SCREEN.