Klassische und neue BAdIs unterscheiden sich an einigen für die Migration wichtigen Stellen:
● BAdI-Objekt
...
a. Bei klassischen BAdIs wird ein BAdI-Objekt über eine Factory-Methode angelegt und über eine Referenzvariablen vom Typ eines BAdI-Interfaces referenziert.
b. Bei den neuen BAdIs wird ein BAdI-Objekt über die ABAP-Anweisung GET BADI als Handle für die Aufrufe von BAdI-Methoden erzeugt und über eine Referenzvariable vom Typ des BAdIs referenziert. Ein BAdI-Objekt ist eine Instanz einer internen BAdI-Klasse, die nach außen nicht sichtbar ist.
● Übergabe von Vergleichswerten für den Filter
...
a. Bei den klassischen BAdIs werden die Filterwerte in einer Struktur abgelegt und erst beim Aufruf der BAdI-Methoden übergeben.
b. Beim den neuen BAdIs werden die Vergleichswerte für die Filter, mit denen nach Implementierungen gesucht wird, bereits bei der Erzeugung des BAdI-Objekts mit der Anweisung GET BADI übergeben.