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.
cancel
Showing results for 
Search instead for 
Did you mean: 

differance between rfc and bapi

Former Member
0 Kudos

hi,

what is the differance between rfc and bapi

2 REPLIES 2

Former Member
0 Kudos

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 are RFC enabled function modules. the difference between RFc and BAPI are business objects.

We 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 we 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.

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.

FUNCTION MODULE:

Function modules are special external subroutine stored in a central library. The R/3 system provides numerous predefined functin modules that you can call from your ABAP/4 programs. The function modules have global presence and can return value.

Rewards if useful.

Former Member
0 Kudos

RFC and BAPIs are remote enabled function modules. They are practicly the same. A BAPI is one step further as it usually is a self contained business function, such as "Create Purchase Order", or "Change Sales Document". BAPIs interface is very well defined and documented. BAPIs can be found in the BAPI browser via transaction BAPI. RFCs are just remote enabled function modules.

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.

1) The main difference between BAPI and RFC is BUSINESS OBJECT.

2) BAPI is the defined interface it holds business data and process, it is the point of entry to the external apllications( JAVA, VB,...) for aceesing and processing SAP data directly.

3) BAPI has it's corresponding RFC function module where as viceversa is not possible.

4) We can call BAPI as Remote Enabled Function Module and Call as the method of Business Object in the BOR, where as RFC can be called as Remote Enabled Function Module only.

5) BAPI has no User dialog and Exceptions.