Wherever possible, changes or product enhancements should be compatible with the previous version. In other words, a customer must be able to upgrade to a new version of a product without any difficulty. Incompatible changes are those that render the program code of the previous version in some way invalid. The following section provides an overview of compatible changes to SAP Exchange Infrastructure objects.
For two systems to communicate there must be an outbound and an inbound interface. You must ensure that any change to either interface does not mean that the counterpart must be changed as well in order that the systems can communicate with each other. The following options for compatible changes exist:
· Adding technical and semantically optional attributes or elements to the referenced complex data types. Semantically optional means that a field is not expected by a receiver although it is flagged as optional.
· Communication parties can of course agree on changes. If a new version of a product depends on changes in another product, then the customer must be informed correspondingly (for example, new product A, version 2.0 requires at least product B, version 3.5).
Generally you check for an object that has had incompatible changes made to it whether it is referenced by other objects and whether you should inform the “owner” of the object about the changes (no where-used list function exists at present).
You must only make compatible changes to a mapping between two application components for technical reasons. Compatible means that the mapping must function for any combination of subsequent versions of both application components. Therefore, the only changes possible to a mapping in different software component versions are corrections. If you need to make incompatible changes, you must create a new mapping.
A mapping between the application components CRM 1.0 and APO 1.0 must also function for the following combinations: CRM 2.0 with APO 2.0, CRM 1.0 with APO 2.0 and CRM 2.0 with APO 1.0 (see: Ensuring the Compatibility of Mappings).
If a mapping comprises multiple mapping programs that are executed one after the other, then they must be compatible for each transitional step.
The mapping programs M1 and M2 are used for the following overall mapping: A (M1) B (M2) C. It is not sufficient when the mapping is only compatible for the mapping from A to C. The mapping from A to B and from B to C must also be compatible.