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 between RFC enabled FM and Bapi

Former Member
0 Likes
621

Hi all,

I am not clear about RFC enabled FM and a BAPI,

If n FM is RFC enabled then we can call it from external system...

and same work Bapi can do... then why we use BAPIs instead of Function modules... what is the major difference between them???

Thanks in advance...

5 REPLIES 5
Read only

Former Member
0 Likes
593

hi

function modules can be <b>created for our own functionality</b> also, then we can call across systems, BAPI is standard RFC enabled FM.

you can use the BAPI for UPLOADING data across systems.

regardfs

karthik

Read only

former_member404244
Active Contributor
0 Likes
593

Hi,

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 an individual BAPI. It is not possible to connect SAP to Non-SAP systems to retrieve data using RFC alone. RFC can acces the SAP from outside only through BAPI and same is for vice versa access.

RFC is the protocol used by SAP for remote communication, that is, for communications between remote (independent) systems. RFC is used for communications between two independent SAP systems, or for communications between an SAP system and a non-SAP system, such as an external application. It can also be used for communications between modules on the same system. Using the RFC interfaces you can extend the functionality of R/3 applications from an external program.

reward points if u find useful..

Regards,

Nagaraj

Read only

hymavathi_oruganti
Active Contributor
0 Likes
593

Note that Every BAPI is an RFC.

But every RFC is not a BAPI.

BAPI should have a structure in se11 starting with zbapi/ybapi.

the RFC uses that strucuture for the logic.

BAPI is for data trasfaer bertween nonsap to sap and also sap to sap.

But every RFC need not do that.

Read only

Former Member
0 Likes
593

Hi,

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.

also refer to the following links..

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

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

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

http://www.plane\tsap.com/Bapi_main_page.htm

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

To know what kind of animal a Bapi is, nothing better than the BAPI user guide site!

http://help.sap.com/saphelp_46c/helpdata/en/7e/5e114a4a1611d1894c0000e829fbbd/frameset.htm

See the below threads for the detailed information:

Regards,

Priyanka.

Read only

Former Member
0 Likes
593

Hi,

Both RFC and BAPI are remote enbled FM. but in BAPI we create an object and attch it with a RFC. swo1 is the tcode for creation of object, you create an object there and attch it with RFC. thats the main difference.

Reward if useful.

Regards,

Ruchika