Compatible Enhancements

Use

Compatible enhancements are interface enhancements that change the BAPI without effecting the downward compatibility of the BAPI. Applications that access the BAPI are not affected by compatible enhancements.

Integration

Compatible enhancements are:

  • New optional parameters

    A parameter is considered to be optional if it does not have to be included in a BAPI call.

    A new optional parameter can be added in any place in the interface.

  • New, optional fields in structures

    A field is considered to be optional if it can be left out completely in a BAPI call.

    The fields must be added to the end of a structure. This is because the function module upon which the BAPI is based is called via RFC. It does not matter how the fields are arranged in a structure or table because the whole structure is always forwarded. It is not first broken up into fields.

The table below lists the compatible changes in the function module. We cannot guarantee that this list is exhaustive.

Compatible Changes to Function Modules

In interface

New optional parameter as a field

New optional parameter as a structure

New optional parameter as a table

Adding new optional field to the structure

Adding new optional field to the table

Compatible changes to field types (in the ABAP Dictionary)

Converting mandatory fields to optional fields

In program code

New additional coding that does not involve changes to the interpretation/processing logic

Changes to the existing code which do not involve changing the interpretation or processing logic.

Using customer exits

When making changes, be sure to follow the guidelines in the BAPI Programming Guide.