Entering content frame

Component documentation Customer Enhancement and Modification of BAPIs (CA-BFA) Locate the document in its SAP Library structure

Purpose

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:

Implementation Considerations

To enhance or modify a BAPI, you need:

Note

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 Structure link BAPI Explorer.

 

Features

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.

Note

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.

Caution

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.

This graphic is explained in the accompanying text

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 Structure link 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

Yes

No

SAP changes have no effect on own enhancement

Yes

No

Own changes to BAPI interface remain explicitly visible

No

Yes

Changes to SAP coding are possible

No

Yes

 

See also:

Customer Enhancement of BAPIs

Customer Modification of BAPIs

Examples

 

 

Leaving content frame