Die Erweiterungen an globalen Klassen und Interfaces können unterteilt werden in:
● Erweiterungen am Quelltext von Methoden, lokalen Klassen usw. – diese Erweiterungen werden mit Hilfe von ABAP-Quelltexterweiterungen durchgeführt.
Quelltexterweiterungen sind nicht innerhalb von Interface- und Klassen-Abschnitten erlaubt Einzige Ausnahme sind implizite Erweiterungsoptionen am Ende von Typen
● Erweiterungen an Komponenten von Klassen und Interfaces
Sie können die Komponenten einer globalen Klasse oder eines globalen Interfaces wie folgt erweitern:
● Einfügen neuer Attribute.
● Einfügen neuer optionaler Formalparameter für vorhandene Methoden (aber keine neuen Ausnahmen)
● Hinzufügen der Implementierung einer Methode pre und/oder post zu einer vorhandenen Methode einer Klasse. Eine pre-Methode wird direkt nach Aufruf der vorhandenen Methode vor der ersten Anweisung aufgerufen. Eine post-Methode wird nach der letzten Anweisung der vorhandenen Methode vor ENDMETHODaufgerufen (nur wenn die Methode über ENDMETHODverlassen wird).
○ Die Kette pre-Methode → Methode xyz → post-Methode kann zur Laufzeit unter folgenden Bedingungen unterbrochen werden (Teile werden nicht ausgeführt):
○ Wenn in der pre-Methode eine Ausnahme auftritt, werden die Methode xyz und die post-Methode nicht ausgeführt.
○ Wird eine Ausnahme in der Methode xyz ausgelöst, wird die post-Methode nicht ausgeführt
Ab SAP NetWeaver 7.0 Enhancement Package 1 und SAP NetWeaver 7.1 Enhancement Package 1 verhindern Anweisungen wie CHECK, EXIT und RETURN innerhalb der Methode xyz nicht die Ausführung der post-Methode. Weitere Informationen finden Sie im SAP-Hinweis 1083387.
● Hinzufügen der Implementierung einer overwrite-Methode zu einer vorhandenen Methode einer Klasse. Das Anlegen/Löschen erfolgt analog zu pre- oder post-Methoden. Allerdings wird eine overwrite-Methode anstelle der ursprünglichen Methode ausgeführt. Wenn eine overwrite-Methode angelegt wird, ist es nicht zulässig, für dieselbe ursprüngliche Methode pre- oder post-Methoden zu haben.
● Einfügen neuer Methoden
Weitere Informationen finden Sie unter:
Erweiterungen an den Komponenten von Klassen oder Interfaces