Programmieren von Delete()/Undelete()-BAPIs 

Verwendung

Das BAPI Delete() löscht eine Instanz eines SAP-Business-Objekttyps von der Datenbank. Analog hierzu löscht das BAPI DeleteMultiple() mehrere Business-Objektinstanzen. Delete()-BAPIs müssen immer komplette Instanzen löschen, z.B. einen ganzen Materialstamm.

Im Gegensatz hierzu wird mit dem BAPI Cancel() eine Instanz eines Business-Objekts storniert, d.h. die zu stornierende Instanz bleibt auf der Datenbank erhalten und als Storno wird eine zusätzliche Instanz erzeugt. Weitere Informationen hierzu finden Sie unter Programmieren von Cancel()-BAPIs.

Der tatsächliche Löschvorgang eines Delete()-BAPIs kann entweder sofort erfolgen, oder zeitlich versetzt über eine Löschvormerkung. Welche Art des Löschens Sie in Ihrem BAPI realisieren, ist für den Aufrufer nicht relevant; Sie sollten hierzu keine Informationen an der BAPI-Schnittstelle bereitstellen.

Das BAPI Undelete() wird verwendet, um eine Löschvormerkung zurückzunehmen, mit der das Löschen eines Objekts spezifiziert wurde.

Die BAPIs Delete() und Undelete() sind Instanzmethoden, die BAPIs DeleteMultiple() und UndelteMultiple() dagegen Klassenmethoden (instanzunabhängig).

Funktionsumfang

Die Schnittstellen der BAPIs Delete() und Undelete() sollten identisch sein.

BAPI-Schnittstelle

Import-Parameter

Bei der Festlegung der Import-Parameter sind folgende Aspekte zu beachten:

Sollen mehrere Instanzen gelöscht werden, müssen Sie eine Tabelle für die Schlüsselfelder des Business-Objekttyps anlegen. Sie können dies beispielsweise über eine Range-Tabelle realisieren.

Bei der entsprechenden Methodendefinition im BOR dürfen die Schlüsselfelder jedoch nicht zusätzlich als Parameter aufgeführt werden. Aus diesem Grund nimmt der BOR/BAPI-Wizard beim Anlegen eines BAPIs die Funktionsbaustein-Parameter für die Schlüsselfelder nicht in die Methodendefinition auf.

Weitere Informationen finden Sie unter TestRun-Parameter.

Informationen zu diesen Parametern finden Sie unter Selektionsparameter.

Implementieren Sie die Schnittstelle eines Delete()-BAPIs so, daß es nicht möglich ist, durch eine einfache Parametrisierung der Schnittstelle alle Instanzen zu löschen, z.B. durch Default-Einstellungen.

Export-Parameter

Bei der Festlegung der Export-Parameter sind diese Aspekte zu beachten:

Dabei sind folgende Aspekte von Bedeutung:

Ist der Gesamtschlüssel länger als die maximale Kapazität von MESSAGE_V2 (also 50 Zeichen), so wird er auf die beiden Felder MESSAGE_V2 und MESSAGE_V3 aufgeteilt. Dabei werden die ersten 50 Zeichen in MESSAGE_V2 gespeichert und der Rest MESSAGE_V3 zugewiesen.

Bei einem Undelete()-BAPI wird im Erfolgsfall folgende standardisierte T100-Nachricht verwendet:

Die Bedeutung der einzelnen Felder ist äquivalent zum Erfolgsfall.

Bei einem Undelete()-BAPI wird im Fehlerfall folgende standardisierte T100-Nachricht verwendet:

Informationen zu diesem Parameter finden Sie unter Return-Parameter (Fehlerdarstellung).

Siehe auch:

Beispiel für ein Delete()-BAPI