SAP RFC & BAPI

BAPI Naming Convention in SAP: Understanding BOR Objects and Methods

Learn how SAP BAPI names connect Business Object Repository objects, methods, and RFC-enabled function modules, with practical steps for identifying and validating the correct interface.

How a BAPI name maps to BORShow the relationship between the BOR object type, method, and RFC-enabled function module.How a BAPI name maps to BORShow the relationship between the BOR object type, method, and RFC-enabled function module.containsimplemented byproducesBOR objecttypeDefines thebusiness…BOR methodDefines thebusiness…BAPIfunction…Provides theRFC-enabled…ApplicationresultReturnsbusiness dat…CertPas original visual explanation
Diagram showing a BOR object type connected to a BOR method, a BAPI function module, and the application result.
On this page
  1. What BOR contributes to BAPI naming
  2. The common BAPI name pattern
  3. BOR object types and methods
  4. BAPI naming versus generic RFC naming
  5. How to identify the correct BAPI in SAP GUI
  6. Reading create change and read patterns
  7. Commit and transaction handling
  8. A practical naming checklist
  9. Troubleshooting a name that does not resolve
  10. Summary

A reliable BAPI naming convention makes an integration easier to discover, test, and maintain. The name usually connects a Business Object Repository (BOR) object type with a business method and its RFC-enabled function module. Understanding that relationship is more useful than memorizing isolated function module names.

This guide focuses on how the pattern works in SAP ERP and SAP S/4HANA environments, how to verify a candidate BAPI in SAP GUI, and how to separate a released BAPI from a generic RFC interface. For the broader interface concept, see What Is a BAPI in SAP?.

What BOR contributes to BAPI naming

The Business Object Repository stores business object types, their methods, attributes, keys, and events. A business object represents a business entity such as a customer, material, sales order, or purchase order. A method represents an operation on that object, such as creating, changing, reading, releasing, or cancelling it.

A BAPI is the integration-facing implementation of a BOR object method. The method is exposed through an RFC-enabled function module with a stable interface intended for external callers. The BOR definition supplies the business meaning, while the function module supplies the executable interface.

The relationship is easiest to read as:

BOR object type → BOR method → BAPI function module → application result

For example, a method associated with a sales order object can have a corresponding function module whose name follows a BAPI_<object>_<method> pattern. The exact object and method names depend on the business object definition.

BAPI identification workflowProvide a practical sequence for selecting and validating a BAPI in SAP GUI.BAPI identification workflowProvide a practical sequence for selecting and validating a BAPI in SAP GUI.search by business meaningverify associationvalidate interfaceDefinebusiness…Identify theobject,…SearchBAPI…Locate thebusiness…Inspectfunction…Reviewparameters,…Testcontrolled…Validatesuccess,…CertPas original visual explanation
Process diagram for identifying a BAPI: define the operation, search the BAPI browser, inspect the function module, and test a controlled scenario.

The common BAPI name pattern

Most standard BAPI function modules use a name built from the BAPI_ prefix, a business object or business concept, and an operation. Common patterns include:

Name partTypical meaningExample shape
BAPI_Identifies the function module as a BAPI-style interfaceBAPI_...
Object segmentIdentifies the business object or business area...SALESORDER...
Method segmentDescribes the operation...CREATE, ...CHANGE, ...GETDETAIL
Optional suffixDistinguishes a variant or related operation...FROMDAT2, ...MULTIPLE

Examples include names such as BAPI_SALESORDER_CREATEFROMDAT2, BAPI_MATERIAL_GET_DETAIL, and BAPI_COMPANYCODE_GETLIST. These names provide a useful search starting point, but the BOR method and the function module documentation remain the authoritative way to understand the interface.

The method name may describe a business action while the function module name reflects technical naming conventions. A method can also have a more specialized function module name when the interface supports a particular data structure, creation scenario, or batch operation.

BAPI and generic RFC distinctionContrast the BOR-based business interface with a general RFC-enabled function module.BAPI and generic RFC distinctionContrast the BOR-based business interface with a general RFC-enabled function module.both use RFC communicationBAPIAssociatedwith a BOR…Generic RFCinterfaceUses RFCcommunicatio…CertPas original visual explanation
Comparison showing that BAPIs use RFC communication and a BOR object method, while generic RFC interfaces use RFC communication without requiring a BOR relationship.

BOR object types and methods

BOR object types commonly use identifiers such as BUS2032 for a standard business object. The object type identifies the modeled business entity; it does not by itself identify a complete integration call. The method supplies the operation that the caller wants to perform.

A useful identification record contains these fields:

  • BOR object type, such as BUS2032
  • BOR method, such as a creation or display operation
  • BAPI function module name
  • Function module release status
  • Required import, export, table, or changing parameters
  • Return structure and message handling
  • Commit behavior

The object key is also important. BOR objects often use one or more key fields to identify a specific business instance. A read method normally requires that key, while a create method normally returns a newly assigned key. The key format belongs to the business object definition and should be verified before an integration is implemented.

The BOR method can expose business semantics that are not obvious from the function module name. For example, a method may require a separate commit step, use an explicit logical system field, or return messages in a standard return structure. Treat the method documentation and interface metadata as part of the naming analysis.

BAPI naming versus generic RFC naming

RFC describes the communication technology. BAPI describes a business-oriented interface delivered through an RFC-enabled function module. A custom RFC-enabled function module can use a clear name and still be a custom RFC interface rather than a BAPI associated with a released BOR method.

CheckBAPI-oriented indicationGeneric RFC indication
Business objectA BOR object type is associated with the interfaceNo BOR object relationship is required
MethodA documented BOR method defines the operationThe function module defines the operation directly
NamingOften follows BAPI_<object>_<method>Uses a project or application naming standard
LifecycleRelease status and interface documentation are availableLifecycle depends on the owning development team
Transaction handlingCommit and rollback behavior is documentedBehavior is defined by the custom implementation

Use Remote Function Call in SAP when the main concern is RFC communication architecture. Use the BAPI and BOR relationship when the concern is selecting a business interface that external systems can call consistently.

How to identify the correct BAPI in SAP GUI

Start with the business operation rather than a guessed function module name. Define the object, the action, the identifying key, and the expected result. Then use the BAPI browser in SAP GUI to search for the relevant business object and method.

A practical identification sequence is:

  1. Search the business object or business term in the BAPI browser.
  2. Open the candidate BOR object type.
  3. Review its available methods and descriptions.
  4. Open the method documentation and associated function module.
  5. Check the interface parameters, structures, and return messages.
  6. Confirm the release status and application prerequisites.
  7. Test the call with representative business data in a controlled system.

Transaction BAPI provides a business-oriented view of available objects and methods. Function Builder can then be used to inspect the associated function module, its RFC-enabled status, parameter definitions, documentation, and test facilities.

The function module name is only one part of the selection. Two similarly named interfaces may differ in required structures, supported scenarios, commit requirements, or release status. Record the BOR object type and method together with the function module name in the integration specification.

Reading create change and read patterns

BAPI names often reveal the broad operation category:

  • CREATE or CREATEFROMDAT... usually indicates creation from supplied data.
  • CHANGE usually indicates modification of an existing business object.
  • GETDETAIL usually indicates retrieval of detailed data for a known object key.
  • GETLIST usually indicates retrieval of a list based on selection criteria.
  • DELETE or CANCEL indicates a destructive or reversal-related business operation.
  • RELEASE, POST, or CHECK indicates a business process action rather than simple master-data maintenance.

These segments are discovery hints. The parameter documentation determines what the call actually supports. A create BAPI may require header, item, partner, schedule-line, or extension structures. A change BAPI may require an accompanying update indicator structure. A read BAPI may return data in several related structures.

Use the return parameter as part of the operational contract. Inspect its message type, message identifier, message number, and message text. A technically successful RFC response can still contain an application error or warning that requires caller-side handling.

Commit and transaction handling

Many transactional BAPIs separate business validation from database commit. The application calls the business BAPI, evaluates the return messages, and then calls the appropriate commit or rollback function according to the documented interface behavior.

A safe integration sequence is:

  1. Build the input structures from validated source data.
  2. Call the business BAPI.
  3. Read every returned message.
  4. Stop and roll back when an error is reported.
  5. Commit only after the business result is acceptable.
  6. Persist the returned business object key and application messages.

The exact commit function, wait behavior, and rollback handling must come from the BAPI documentation and the owning application process. Test duplicate requests and interrupted calls so that retries do not create unintended business objects.

For communication-level symptoms, SAP RFC and BAPI Communication Types provides the surrounding context. For a structured investigation of failed calls, see Common SAP RFC and BAPI Error Patterns.

A practical naming checklist

Before approving a BAPI for an integration, capture the following information:

  • Business requirement and business object
  • BOR object type
  • BOR method
  • BAPI function module
  • Required authorization and calling user
  • Import, export, table, and changing parameters
  • Key fields and external-number handling
  • Return-message processing
  • Commit and rollback behavior
  • Extension or custom-field mechanism
  • Release status and applicable application documentation
  • Test cases for success, validation failure, duplicate request, and retry

This record prevents a technical name from becoming the only interface documentation. It also makes later troubleshooting faster because the support team can distinguish object selection, input validation, authorization, communication, and transaction-processing failures.

Troubleshooting a name that does not resolve

When a guessed BAPI name cannot be found, search by the business object and operation in the BAPI browser. Confirm the spelling of the function module in Function Builder, then verify that the associated BOR method is available in the target system.

If the object is available but the method is absent, check the application component, installed business functionality, and system documentation. If the method is present but the call fails, inspect the parameter definitions, required keys, return messages, authorization trace, and application logs.

A custom interface should have its own documented namespace and lifecycle. Keep custom implementations separate from standard BAPI records so that upgrades, support ownership, and release status remain clear.

Summary

The BAPI naming convention is a practical navigation aid across three related layers: the BOR object type, its method, and the RFC-enabled function module. The most dependable selection process starts with the business object and operation, verifies the BOR method, checks the function module interface, and documents commit and return-message behavior.

A name such as BAPI_<object>_<method> helps locate a candidate. The BOR definition, method documentation, release status, parameters, and business tests establish whether it is suitable for the integration.

Back to all articles