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

what is the difference between a BAPI and function module

hi

what is the difference between a BAPI and function module

Add comment
10|10000 characters needed characters exceeded

  • Follow
  • Get RSS Feed

7 Answers

  • author's profile photo
    Former Member
    Jun 20, 2007 at 06:23 AM

    Hi,

    Technically, not much at all. They are both remote enabled functions that can be accessed from outside of SAP (to be more technically correct, from outside of the ABAP stack).

    From a usage/functional perspective however, BAPIs are a little bit more special from RFCs.

    Bapis:

    - are designed as the methods of business objects in the business object repository (accessable using transaction BAPI or SWO1)

    - have non-technical parameter names (the technical field names in SAP are mapped)

    - have a fixed interface and functionality across all SAP releases (this is probably the key point as it means you can develop integrations with them which do not need to be changed when you upgrade)

    Generally, if you are trying to find a function for a particular requirement you should look for a BAPI first, then for a RFC function which has a released status (check the function attributes in SE37), and then just a normal RFC last.

    The benefit of an RFC function with released status means that it also has a fixed interface which will not change with new SAP releases.

    See the below threads for the detailed information:

    bapi fm

    diff-between-bapi-and-rfc

    bapi-and-rfc

    Regards,

    Priyanka.

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Jun 20, 2007 at 05:38 AM

    Hi,

    BAPI is a remote function module and it will store in BOR(business object repository).You can call BAPI from Non-SAP system also.

    Ex : VB to SAP...

    Function module is only you can call with in the system.This not non Remote Function Call...

    Don't forget to reward if useful

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Jun 20, 2007 at 05:38 AM

    HI,

    1)

    BAPI - It is always a RFC..

    Function module - can also be a RFC.

    2)

    BAPI - A business object that is created in the transaction SWO1 which can be used in the standard tasks..The method can be used in workflow..

    Function module - Not related to business object and cannot be used in standard tasks.

    Thanks

    Naren

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Jun 20, 2007 at 05:40 AM

    Hi,

    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.

    <b>Reward points</b>

    Regards

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Jun 20, 2007 at 05:40 AM

    Hi,

    Refer to this.

    BAPI vs FM

    Thanks,

    Anitha

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Jun 20, 2007 at 06:17 AM

    Hi Jyothsna,

    <b>Please see the earlier postings first...

    difference-between-function-module--bapi

    difference-between-bapi-and-rfc-function-module</b>

    ===

    BAPI stands for Business API

    (Business Application Programming 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

    BAPI's 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 you 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 a custom developed BAPI.

    ===

    http://help.sap.com/saphelp_47x200/helpdata/en/c3/4099978b8911d396b70004ac96334b/content.htm

    -


    Also refer to the following links..

    www.sappoint.com/abap/bapiintro.pdf

    www.sap-img.com/bapi.htm

    www.sap-img.com/abap/bapi-conventions.htm

    www.planetsap.com/Bapi_main_page.htm

    www.sapgenie.com/abap/bapi/index.htm

    ====================================

    Regarding BAPI's

    http://www.sappoint.com/abap/bapiintro.pdf

    http://www.sappoint.com/abap/bapiprg.pdf

    http://www.sappoint.com/abap/bapiactx.pdf

    http://www.sappoint.com/abap/bapilst.pdf

    http://www.sappoint.com/abap/bapiexer.pdf

    http://service.sap.com/ale

    http://service.sap.com/bapi

    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCMIDAPII/CABFAAPIINTRO.pdf

    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/CABFABAPIREF/CABFABAPIPG.pdf

    http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCFESDE8/BCFESDE8.pdf

    http://www.planetsap.com/Bapi_main_page.htm

    http://www.topxml.com/sap/sap_idoc_xml.asp

    http://www.sapdevelopment.co.uk/

    http://www.sapdevelopment.co.uk/java/jco/bapi_jco.pdf

    BAPI-step by step procedure

    http://www.sapgenie.com/abap/bapi/example.htm

    list of all BAPI's

    http://www.planetsap.com/LIST_ALL_BAPIs.htm

    =====

    Check out this previous posting

    step-by-step---bapi-creation

    ++

    Using BAPIs results in the following benefits:

    BAPIs represent well-defined, internally consistent units that always represent business facts and leave a consistent database state behind.

    The business contents can be standardized, since BAPIs not only allow the integration of the SAP system and other software components at a technical level, but also at the business level.

    BAPIs have become a communication standard between business systems. Access is possible through object-oriented interface technologies (such as COM/DCOM from Microsoft). The SAP business objects conform to the guidelines of the OAG (Object Application Group), and meet the CORBA standard from the OMG (Object Management Group).

    Stability and compatibility

    Once SAP has released a BAPI, its interface definitions and parameters will remain stable in the long term, which means application programs will not be affected by changes to the underlying SAP software or data. If upward-compatible enhancements are made to the BAPIs, the stability of the existing applications is not affected.

    Openness

    BAPIs can be accessed from any widespread development platform.

    http://help.sap.com/saphelp_47x200/helpdata/en/5a/ccb4bc808311d396b40004ac96334b/content.htm

    Thanks, ABY

    Add comment
    10|10000 characters needed characters exceeded

  • author's profile photo
    Former Member
    Jun 20, 2007 at 06:25 AM

    Hi,

    Technically, not much at all. They are both remote enabled functions that can be accessed from outside of SAP (to be more technically correct, from outside of the ABAP stack).

    From a usage/functional perspective however, BAPIs are a little bit more special from RFCs.

    Bapis:

    - are designed as the methods of business objects in the business object repository (accessable using transaction BAPI or SWO1)

    - have non-technical parameter names (the technical field names in SAP are mapped)

    - have a fixed interface and functionality across all SAP releases (this is probably the key point as it means you can develop integrations with them which do not need to be changed when you upgrade)

    Generally, if you are trying to find a function for a particular requirement you should look for a BAPI first, then for a RFC function which has a released status (check the function attributes in SE37), and then just a normal RFC last.

    The benefit of an RFC function with released status means that it also has a fixed interface which will not change with new SAP releases.

    See the below threads for the detailed information:

    bapi fm

    diff-between-bapi-and-rfc

    bapi-and-rfc

    Regards,

    Padmam.

    Add comment
    10|10000 characters needed characters exceeded