Erweiterungsoptionen sind Stellen in Repository-Objekten, an denen Erweiterungen vorgenommen werden können. Diese Optionen werden entweder explizit definiert, d.h. von einem Entwickler vorgedacht, oder sind implizit immer vorhanden. Explizite Erweiterungsoptionen werden in einem zentralen Ausgangssystem definiert. Erweiterungen werden in Folgesystemen vorgenommen.
Explizite Erweiterungsoptionen sind derzeit definierbar
● durch die explizite Kennzeichnung von Quelltext-Stellen oder Quelltext-Abschnitten in beliebigen ABAP-Programmen. Bei einer Erweiterung können diese durch sogenannte Quelltext-Plug-Ins erweitert bzw. von diesen ersetzt werden.
● über das Einbinden von Business Add-Ins (BAdIs) in ABAP-Programmen. Bei einer Erweiterung werden solche Programme durch sogenannte Objekt-Plug-Ins mit vorgegebenen Interfaces erweitert.
Explizite Erweiterungsoptionen werden durch Erweiterungsspots verwaltet und durch Erweiterungsimplementierungen erweitert.
Implizite Erweiterungsoptionen sind:
● bestimmte Optionen in ABAP-Programmen, wie z.B. das Programmende, die durch Quelltext-Plug-Ins erweitert werden können.
● Parameterschnittstellen von Funktionsbausteinen, die um Parameter erweitert werden können
● Attribute und Parameterschnittstellen globaler Klassen, die um Attribute bzw. Parameter erweitert werden können.
● Erweiterung eines Web-Dynpro-Objektes
Implizite Erweiterungsoptionen sind immer vorhanden und benötigen keine Erweiterungsspots. Sie werden ebenfalls durch Erweiterungsimplementierungen erweitert.