Show TOC

Customer Enhancement and Modification of BAPIs (CA-BFA)Locate this document in the navigation structure

Use

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.

Target groups

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:

  • Basic knowledge of BAPIs, as described in BAPIs - Introduction and Overview

  • Detailed knowledge of BAPI development, as described in the BAPI Programming Guide

  • Knowledge of the ABAP programming language and ABAP Workbench

  • General knowledge of SAP Systems

    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.

    See also: 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.

Example

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

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

More Information