Customer Enhancement and Modification of BAPIs (CA-BFA)


Customers often have to change the standard system supplied by SAP in order to meet their own special requirements. This fact is reflected in the implementation of BAPIs. A number of concepts have been developed to allow IBUs, partners, and customers to change existing BAPIs.

Target Audience

The target audiences of this document are:

  • Customers who want to enhance or modify the BAPIs supplied by SAP
    The modification concept can also be used by IBUs and partners. For simplicity, this group is referred to as "customers" below.
  • SAP developers who have to design the BAPIs to allow enhancement by the customers

Implementation Considerations

To enhance or modify a BAPI, you need:

The central tool for developing BAPIs is the BAPI Explorer, which you can access by calling transaction BAPI. The BAPI Explorer includes an interactive project form, which lists the most important steps of BAPI development.

For more information, see BAPI Explorer.


Types of Changes to Existing BAPIs

Customer changes to existing BAPIs can be implemented as either a customer enhancement or a customer modification:

Customer Enhancement

The customer enhancement concept should be used (instead of the modification concept) whenever possible, since changes to the standard implemented by SAP (in a new release, for example) will be activated automatically in an enhanced BAPI. In contrast, if the BAPI has been modified, these changes will not be activated automatically.

Customer enhancements are transferred to the BAPI using containers that are at the interface. This concept is useful, for example, when customers want to enhance the underlying database tables for a BAPI, or when they want to use an existing BAPI to manipulate their own tables as well.

The customer concept described was new in Release 4.5B. As a result, not all of the existing BAPIs have the containers required for enhancement in their interfaces. In these cases, either modify the BAPIs or enhance them in accordance with the old concept. Customer exits or Business Add-Ins (BAdIs), which are implemented using the enhancement concept, do not have to be reprogrammed.

The customer enhancement concept is not suitable for developing individual industry solutions within SAP, nor is it intended for partner developments, because it does not support multi-level changes. For this reason, IBUs and partners always have to use the modification concept.

Customer Modification

Customers have to modify existing BAPIs when they want to extend their functionality – for example, adding new parameters or parameter fields to the BAPIs, or changing the function module coding. When a BAPI is modified, any changes to the version supplied by SAP in a new release will not automatically be activated in the modified version.

BAPI modifications cannot be made to the business object types delivered in the standard system. Instead, you create a subtype of the business object type which inherits all the characteristics and methods of this object type. The original object type becomes the supertype. The necessary changes are then performed on the derived subtype.

In this way, the SAP standard delivered to customers is not changed, and the modified version is retained when the release is upgraded.

This procedure also enables BAPIs to be modified in steps because further subordinate subtypes of a business object type can be created for an existing subtype.

Multi-level change: A core BAPI is modified by an IBU. In turn, the modified IBU version can be modified by a customer.

For general information about object types and subtypes, please see the documentation for the SAP Business Object Builder.

The following table contrasts the relative advantages and disadvantages of customer enhancements and modifications:


Customer Enhancement

Customer Modification

SAP changes to the BAPI activated automatically



SAP changes have no effect on own enhancement



Own changes to BAPI interface remain explicitly visible



Changes to SAP coding are possible



See also:

Customer Enhancement of BAPIs

Customer Modification of BAPIs