Ansicht
Dokumentation

ABENBADI_ENHANCEMENT - BADI ENHANCEMENT

ABENBADI_ENHANCEMENT - BADI ENHANCEMENT

Addresses (Business Address Services)   rdisp/max_wprun_time - Maximum work process run time  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Erweiterungen über BAdIs

BAdIs gehören zu den Erweiterungen, die durch das ABAP Enhancement Framework zur Verfügung stehen. Sie werden im Enhancement Builder angelegt. Solche BAdIs bilden gemeinsam mit ihren Aufrufstellen in ABAP-Programmen explizite Erweiterungsoptionen dieser Programme und sind Erweiterungsspots zugeordnet.

Wenn BAdIs und ihre Aufrufstellen in einem System definiert worden sind, können in Folgesystemen Erweiterungen vorgenommen werden, indem dort BAdI-Implementierungen angelegt werden. Eine BAdI-Implementierung besteht im Wesentlichen aus einer BAdI-Implementierungsklasse, deren Instanzen ein ABAP-Programm zur Laufzeit als Objekt-Plugins funktional erweitern. Im Rahmen des ABAP Enhancement Frameworks ist eine BAdI-Implementierung ein Erweiterungsimplementierungselement und wird durch Erweiterungsimplementierungen verwaltet.

Ein BAdI besteht im Wesentlichen aus einem BAdI-Interface, das die Deklaration von BAdI-Methoden enthält und einem Satz von Filtern. Die Filter erlauben es, bestimmte BAdI-Implementierungen zur Verwendung auszuwählen. Bei der Definition eines BAdIs können neben der Auswahl des BAdI-Interfaces und der Definition von Filtern folgende Einstellungen vorgenommen werden:

  • Es kann festgelegt werden ob ein BAdI für Einzel- oder Mehrfachverwendung vorgesehen ist. Wenn ein BAdI für Einzelverwendung vorgesehen ist, kann in einer internen Sitzung nur eine einzige BAdI-Implementierung verwendet werden und es muss bei jeder Verwendung eine BAdI-Implementierung vorhanden sein.
  • Es kann eine Fallback-BAdI-Implementierungsklasse angegeben werden, die verwendet wird, wenn keine BAdI-Implementierung mit passenden Filterbedingungen gefunden wird.
  • Ein BAdI kann als kontextfrei oder kontextabhängig definiert werden. Diese Einstellung steuert die Instanzierung der Objekt-Plugins. Bei kontextfreien BAdIs kann definiert werden, ob ein Objekt-Plugin in einer internen Sitzung nur einmal oder mehrmals erzeugt werden kann. Bei kontextabhängigen BAdIs werden die Objekt-Plugins mit einem Kontextobjekt verknüpft.

Im Gegensatz zu den vorhergehenden klassischen BAdIs, die direkt im BAdI-Builder bearbeitet wurden, werden die BAdIs des ABAP Enhancement Frameworks direkt vom ABAP-Laufzeit-Framework durch folgende ABAP-Anweisungen unterstützt:

Erzeugung eines BAdI-Objekts als Handle für Objekt-Plugins.
Aufruf von BAdI-Methoden in Objekt-Plugins.

Die BAdIs des ABAP Enhancement Frameworks sind außer durch ihre Filter auch durch Schalter des Switch Frameworks schaltbar.

Hinweise

  • Es empfiehlt sich für ein BAdI, das für Einzelverwendung vorgesehen ist, immer eine Fallback-Implementierungsklasse anzugeben und diese im gleichen System wie das BAdI zu implementieren.
  • Siehe auch die Dokumentation Enhancement Framework im SAP Help Portal.





BAL_S_LOG - Application Log: Log header data   General Data in Customer Master  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 6758 Date: 20240523 Time: 161305     sap01-206 ( 91 ms )