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 BAPI & Functional Module

Former Member
0 Likes
7,237

hi friends

my Q is

=> what are differences between BAPI and Function Module?

=> why Smart form is client independent? (in detail)

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
2,768

Hi Sujit ayare ,

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 RFC enabled API's where as FM's are not.

Regards

Eshwar.

4 REPLIES 4
Read only

Former Member
0 Likes
2,768

Hi

1. The diff between BAPI and FM are

a). Exception handling is not possible in BAPI where as in FM it is possible

b). BAPI is a remote enabled function module and FM is normal function module

c). BAPI support API method where as FM doesnt support API method

d) Naming convetion for BAPI must start with BAPI where as FM doesnt need naming convention

2. SMARTFORMS is a client independent because it generates Function module and function module is client independent.

I hope it cleares your doubt

Regards,

Venkatram

Read only

Former Member
0 Likes
2,769

Hi Sujit ayare ,

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 RFC enabled API's where as FM's are not.

Regards

Eshwar.

Read only

Former Member
0 Likes
2,768

Hi,

RFC is also a functional module but it is remote enabled that is from one system you can execute the RFC in another system. For this the radio button RFC in attributes column of the FM should be enabled.

In RFC parameters are only pass by value and there is no pass by reference parameter in RFC.

Function modules are routines with a defined interface. They support optional parameters intended to perform specific tasks encouraging re-use.

If u have a FM which is not RFC enabled, then u can copy this function module into your own ZFM and make it RFC enabled.

Hope this is helpful.

Reward points if useful.

Thanks.

Read only

Former Member
0 Likes
2,768

HI SUJIT

A FUNCTION MODULE is 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.

Whereas BAPI's are the remote enabled Function modules which are defined in the Business Object Repository (BOR) as the methods of the business objects.