Kompatible Weiterentwicklungen 
Bei kompatiblen Weiterentwicklungen handelt es sich um Schnittstellenerweiterungen, die ein BAPI verändern, ohne die Abwärtskompatibilität des BAPIs zu beeinträchtigen. Anwendungen, die auf das BAPI zugreifen, werden durch kompatible Weiterentwicklungen nicht beeinflusst.
Kompatible Weiterentwicklungen sind beispielsweise:
Neue optionale Parameter
Ein Parameter ist dann optional, wenn auf den Parameter im Aufruf des BAPIs ganz verzichtet werden kann.
Ein neuer optionaler Parameter kann an einer beliebigen Stelle der Schnittstelle eingefügt werden.
Beispiel
Bei dem BAPI SalesOrder.GetList() wird ein neuer Parameter hinzugefügt, der als zusätzliches Selektionskriterium für die Auswahl von Bestellungen verwendet werden kann.
Neue optionale Felder in Strukturen
Ein Feld ist dann optional, wenn im Aufruf eines BAPIs auf das Feld ganz verzichtet werden kann.
Neue Felder müssen am Ende der Struktur angefügt werden. Dies liegt daran, dass der einem BAPI zugrundeliegende Funktionsbaustein über RFC aufgerufen wird. Dabei wird die Sortierung der Felder in einer Struktur/Tabelle nicht beachtet, da in einem RFC-Aufruf eine Struktur immer im ganzen und nicht in Felder aufgelöst übergeben wird.
Beispiel
Im BAPI Applicant.CreateFromData() wird ein zusätzliches Eingabefeld für die Schulausbildung des Bewerbers aufgenommen.
Folgende Tabelle gibt eine Auflistung von kompatiblen Änderungen im Funktionsbaustein. Die Vollständigkeit dieser Liste ist nicht garantiert.
Kompatible Änderungen eines Funktionsbausteins |
|
|---|---|
An der Schnittstelle |
Neuer optionaler Parameter als Feld |
Neuer optionaler Parameter als Struktur |
|
Neuer optionaler Parameter als Tabelle |
|
Neues optionales Feld an Struktur anhängen |
|
Neues optionales Feld an Tabelle anhängen |
|
Kompatibles Ändern der Typen der Felder (im ABAP Dictionary) |
|
Umwandlung eines Feldes von obligatorisch nach optional |
|
Im Programmcode |
Neues zusätzliches Coding, ohne dass dabei die Interpretation/Verarbeitungslogik verändert wird. |
Ändern des vorhandenen Codings, ohne dass dabei die Interpretation/Verarbeitungslogik verändert wird. |
|
Verwendung von Customer-Exits |
|
Bei allen Änderungen sind die im BAPI-Programmierleitfaden beschriebenen Richtlinien einzuhalten.
Hinweis
Wenn freigegebene BAPIs kompatibel erweitert werden, darf die Freigabe der BAPI-Methode im BOR nicht zurückgenommen werden.