Skip to Content
author's profile photo Former Member
Former Member

Diferences

Hello friends,

Can anybody let me know the exact differences between Function module and RFC and RFC & BAPI.

Thank you regards

Satish

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

6 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Dec 04, 2006 at 06:22 AM

    hi Satish,

    Remote Function Call:

    RFC is an SAP interface protocol. Based on CPI-C, it considerably simplifies the programming of communication processes between systems.

    RFCs enable you to call and execute predefined functions in a remote system - or even in the same system.

    RFCs manage the communication process, parameter transfer and error handling.

    http://help.sap.com/saphelp_47x200/helpdata/en/22/042860488911d189490000e829fbbd/frameset.htm.

    BAPI

    BAPI stands for Business API(Application Program Interface).

    A BAPI is remotely enabled function module

    ie it can be invoked from remote programs like standalone JAVA programs, web interface etc..

    You can make your function module remotely enabled in attributes of Function module but

    A BAPI are standard SAP function modules provided by SAP for remote access.

    Also they are part of Businees Objest Repository(BOR).

    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects.

    You 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 u 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.

    Some BAPIs provide basic functions and can be used for most SAP business object types.

    These BAPIs should be implemented the same for all business object types.

    Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs.

    Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.

    between bapi and fm

    1. Technically there is no difference.

    2. FM is a FM

    BAPI is also FM only.

    3. The only difference is

    BAPI is RFC Enabled - Thats all !

    4. One more difference we can say is,

    BAPI is registered in BOR

    as a method of some business object.

    If u find it useful mark the points

    Regards,

    GNK.

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 04, 2006 at 06:22 AM

    Hi,

    A FM is the general function used for performing some specific task and can be called in any report, other FM, BAPI etc.

    An RFC enabled FM is called BAPI it is used to make remote calls,like calling from a non sap platform or in SAP.

    Regards,

    Amit

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 04, 2006 at 06:22 AM

    Hi Satish,

    Function Modules and RFC are both same and the only difference is you can access RFC remotely from other systems. Where as normal function Module you cannnot access remotely.

    BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You 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 u 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 Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.

    BAPI's are nothing but RFC's from a technical perspective(implemenation perspective).

    In case of BAPI's, you have something called as a BOR (Business Object Repository), where in you have a business object and then you have methods to deal with that business object. For example, MATERIAL is a business object and then you have methods to CREATE / CHANGE etc etc.

    Each of the implementations of the methods is nothing but a RFC. You can see the same in BAPI transaction, drill down into the methods and see the implementation underneath.

    Check out these threads.

    difference between RFC and BAPi

    rfc-vs-bapi

    Other good links are..

    http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm

    http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html

    http://www.sap-img.com/fu033.htm

    http://www.sap-img.com/abap/ale-bapi.htm

    Regards,

    Ram

    Add a comment
    10|10000 characters needed characters exceeded

  • Posted on Dec 04, 2006 at 06:23 AM

    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.

    http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm

    Hope this h elps.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Dec 04, 2006 at 06:25 AM

    hi,,

    Hey I am sure you know about function modules.These can be used for modularization and reuse of code.

    RFCs are Remote Function calls where a function module present on a different Application server can be called using Destinations.For Eg if there are 2 servers then you can call a FM present on sever 2 in server 1 using a RFC.The FM which are "remote enabled" in their attributes can be used for RFC

    BAPIs (Business Application Programming Interfaces) are the standard SAP interfaces. They play an important role in the technical integration and in the exchange of business data between SAP components, and between SAP and non-SAP components. These can be function modules also starting with BAPI*

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Jul 19, 2011 at 10:02 AM

    This message was moderated.

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.