Anfang des Inhaltsbereichs

Objektdokumentation Instanzerzeugungsmodus  Dokument im Navigationsbaum lokalisieren

Definition

Diese Eigenschaft steuert die Instanzierung der Objekt-Plugins bei Ausführung der Anweisung GET BADI. Folgende Angaben sind möglich:

      neu erzeugende Instanzierung

      wieder verwendende Instanzierung

      kontext-abhängige Instanzierung

Verwendung

Die ersten beiden Angaben definieren kontext-freie BAdIs. Bei der neu erzeugenden Instanzierung werden bei jeder Ausführung der Anweisung GET BADI neue Objekt-Plugins erzeugt. Bei der wieder verwendenden Instanzierung wird ein einmal im aktuellen internen Modus verwendetes Objekt-Plugin wieder verwendet, falls es wiederholt benötigt wird.

Bei der kontext-abhängigen Instanzierung müssen Sie für GET BADI einen Kontext angeben. Dieser Kontext steuert die Instanzierung. Pro Kontext und implementierende Klasse wird genau ein Objekt-Plugin erzeugt und bei einem erneuten GET BADI mit demselben Kontext wird dieses wieder verwendet. Ein Kontext ist eine Instanz einer Klasse die das Tag-Interface if_badi_context implementiert. Die Angabe erfolgt in Form einer Referenz auf eine solche Instanz.

Hinweis

Wenn Objekt-Plugins wieder verwendbare Daten enthalten sollen, können nur die Angaben 1 und 2 gemacht werden.

Beispiel

Die folgenden Abbildungen zeigen für kontext-freie BAdIs die Situation nach zwei aufeinander folgenden Anweisungen.

GET BADI bd1.

GET BADI bd2.

Die oberen Rechtecke repräsentieren die BAdI-Objekte. Die gestrichelten Pfeile zeigen an, welche Objekt-Plugins von den BAdI-Objekten referenziert werden, wobei hier der Fall von zwei passenden BAdI-Implementierungsklassen cl_imp1 und cl_imp2 dargestellt wird.

Abbildung 1 zeigt die neu angelegte Instanzierung. Bei der Erzeugung jedes BAdI-Objekts werden neue Objekt-Plugins erzeugt, erst imp1 und imp2, dann imp3 und imp4.

Abbildung 1

Diese Grafik wird im zugehörigen Text erklärt

Abbildung 2 zeigt die wieder verwendete Instanzierung. Pro BAdI-Implementierungsklasse wird nur eine Instanz erzeugt. Alle BAdI-Objekte verweisen auf die gleich Instanz, unabhängig davon, wo (im internen Modus) und wie das BAdI-Objekt angefordert wird.

Abbildung 2

Diese Grafik wird im zugehörigen Text erklärt

 

 

 

Ende des Inhaltsbereichs