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: 

Whai is diff b/w BAPI and RFC Function module.

Former Member
0 Kudos

Hi experts,

Please clarify the diff b/w BAPI and RFC Function module.Using both we connect legacy applications.

Regards

Pratap.M

5 REPLIES 5

former_member188829
Active Contributor
0 Kudos

Hi Pratap,

Check this thread..

SantoshKallem
Active Contributor
0 Kudos

regrads

santhosh reddy

reward if useful

Former Member
0 Kudos

<b>Normal Function Module :</b>

A procedure that can only be defined in function group and outside of classes. It can be called from any program. Begins with FUNCTION and ends with ENDFUNCTION.

Function modules are cross-program, reusable procedures that are organized into function groups.

<b>

Remote Function Call</b>

Call of a function module that runs in a different system (destination) as the calling program. Possibilities include connections between different SAP systems or connections between an SAP and an external system. Specially programmed functions, whose interface simulates a function module, are called in external systems instead of function modules. There are synchronous, asynchronous, and transactional function calls. The system is called up using the RFC interface.

<b>Business Application Programming Interface</b>

(BAPI) Predefined interface to data and processes in an SAP application, which is stored in the Business Object Repository with the basic functions Create Objects, Query Object Properties, and Change Object Properties. BAPIs are implemented using function modules with the naming convention BAPI_<business_object_name>_<method_name> that can be called remotely and that cannot run a user dialog. The BAPI Explorer, which lists the function modules for each application, can be accessed with the transaction code BAPI.

Former Member
0 Kudos

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.

Please check the links,

Former Member
0 Kudos

RFC (remote function call) is just a method of access. It means that a function or BAPI can be accessed via external system (e.g. Excel VBA).

In essence, BAPI is just a fancy name for the "function", except that BAPI are more robust/better documented.

If you go to SE37 and check the Attributes tab -> Processing Type for the chosen function, you will see radio buttons that control whether the function/BAPI is remote access enabled or not.

Janek