‎2008 Mar 19 10:44 AM
hi friends
my Q is
=> what are differences between BAPI and Function Module?
=> why Smart form is client independent? (in detail)
‎2008 Mar 19 12:45 PM
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.
‎2008 Mar 19 11:07 AM
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
‎2008 Mar 19 12:45 PM
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.
‎2008 Mar 19 4:12 PM
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.
‎2008 Mar 20 7:32 AM
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.