Diese Seite verwendet Cookies, um das bestmögliche Nutzererlebnis sicherzustellen. Wenn Sie die Seite weiter nutzen, stimmen Sie der Cookie-Nutzung zu.  mehr...  Einverstanden  Ablehnen

Basis Know-How BADI-NEW

Neues BAdI

Das Neue BAdI ( Kernel-BAdI ) ersetzt seit Release 7.0 das Klassische BAdI. Es ist Teil des Enhancement Framework und stellt dort eine
explizite Erweiterungoption dar.

Das Neue BAdI wird durch eigene ABAP-Kommandos
  • GET BADI
  • CALL BADI
von der ABAP-Laufzeitumgebung unterstützt und ist daher deutlich schneller als das Klassische BAdI, was nach wie vor existiert, aus Performancegründen aber migriert werden sollte.

Neue BAdIs werden über die Transaktion SE18 ( BAdI-Builder - Definitionen ) angelegt und unter einem Erweiterungsspot zusammengefasst,
der als Container dient und die BAdI-Definitionen semantisch ( nach technischen oder thematischen Kriterien ) gruppiert.

Über die Transaktion SE19 ( BAdI-Builder - Implementierungen ) lassen sich neue BAdI-Implementierungen anlegen.
Analog zum Erweiterungsspot auf der Definitionsseite werden die BAdI-Implementierungen auf der Implementierungsseite über eine Erweiterungsimplementierung gruppiert.

Beispiel: Erweiterungsspot mit 3 BAdIs:
BAdI Implementierung
Jeder BAdI-Definition ist genau ein Interface zugeordnet, was die Methoden definiert, die das BAdI zur Verfügung stellt.

Jeder BAdI-Implementierung ist genau eine implementierende Klasse zugeordnet, welche dieses Interface implementiert
und in der das eigentliche Coding abgelegt ist, welches zur Laufzeit vom BAdI aufgerufen wird.

Beispiel: Aufruf von 3 Kernel-BAdIs

DATA:
  lro_abc_badi1 TYPE REF TO zex_abc_badi1,
  lro_abc_badi2 TYPE REF TO zex_abc_badi2,
  lro_abc_badi3 TYPE REF TO zex_abc_badi3.

GET BADI lro_abc_badi1.
CALL BADI lro_abc_badi1->m11.
CALL BADI lro_abc_badi1->m12.

GET BADI lro_abc_badi2.
CALL BADI lro_abc_badi2->m21.
CALL BADI lro_abc_badi2->m22.

GET BADI lro_abc_badi3.
CALL BADI lro_abc_badi3->m31.
CALL BADI lro_abc_badi3->m32.



Basis Administration



Die Angaben im Text sind unverbindlich und dienen lediglich zu Informationszwecken.
Alle Namen von Produkten und Dienstleistungen sind Marken der jeweiligen Firmen.