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.
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.
A new parameter is added to the BAPI SalesOrder.GetList() , which can be used as an additional selection criteria for selecting purchase orders.
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.
An additional input field for the applicant's educational background is added to the BAPI Applicant.CreateFromData().
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 .
If released BAPIs are enhanced compatibly, you cannot reset the release of the BAPI method in the BOR.