Answering basic BAPI questions
1. What is the major difference between a BAPI and and RFC?

2. How do I find BAPIs in SAP?

3. How do I determine errors made from BAPI/RFC calls?

    Requires Free Membership to View

    When you register, you will start receiving targeted emails from my award-winning team of editorial writers. Our goal is to keep you informed on the hottest topics and biggest challenges faced by SAP professionals today.

    Hannah Smalltree, Editorial Director

    By submitting your registration information to SearchSAP.com you agree to receive email communications from TechTarget and TechTarget partners. We encourage you to read our Privacy Policy which contains important disclosures about how we collect and use your registration and other information. If you reside outside of the United States, by submitting this registration information you consent to having your personal data transferred to and processed in the United States. Your use of SearchSAP.com is governed by our Terms of Use. You may contact us at webmaster@TechTarget.com.

1. An RFC (Remote Functional Call) is any remotely enabled function module either provided by SAP or created by a developer. The key to an RFC is a flag set in the Function Builder (SE37) under the attributes tab called "Remote-Enabled Module". When this flag is set, the SAP application server allows this function module to be called by an external program or service.

A BAPI (Business Application Programming Interface) is a remote enabled function module that provides access to a specific SAP business object. BAPIs allow an external program or application to act on SAP business objects through a safe, published interface. When integrating with SAP, you should always use BAPIs to interact with specific SAP business applications.

2. The easiest way to find a BAPI in SAP is by using the BAPI browser: Tools -> Business Framework -> BAPI Explorer. You can also navigate directly to the BAPI explorer by using the transaction code BAPI.

You can also search for BAPIs directly in the Function Builder (SE37). The simplest way is to search using "BAPI*". The wildcard will return any function module containing BAPI as a prefix. However, SAP has begun to move away from this naming convention, so you are probably better off using the BAPI Explorer.

3. Most BAPIs with support a RETURN structure that contains all success and error indicators. RFCs are a little trickier in that they are not require to use a BAPI RETURN structure. In an RFC these errors will be part of a specific changing table and will have "ERROR" as part of their name.

This was first published in August 2008