Anfang des Inhaltsbereichs

Hintergrunddokumentation Die Basisklasse CL_BSP_ELEMENT  Dokument im Navigationsbaum lokalisieren

Definition

Die Klasse CL_BSP_ELEMENT liefert eine Standard-Implementierung des Interfaces IF_BSP_ELEMENT. Dieses Basisinterface stellt im wesentlichen eine Reihe vom Methoden und Attributen zur Verfügung, die als Framework bei der Implementierung von individuellen Elementen in BSP-Extensions zum Einsatz kommen.

Verwendung

Die Standard-Implementierung der Klasse CL_BSP_ELEMENT stellt die gemeinsame Grundfunktionalität für alle Elementhandler-Klassen bereit. Um spezifische Funktionen eines BSP-Elements zu implementieren, müssen Sie bestimmte Interface-Methoden der Elementhandler-Klasse überschreiben und dort eventuell neue hinzufügen.

Siehe auch: Elementhandler-Klassen implementieren

Methoden

Interface-Methoden der Validierung

COMPILE_TIME_IS_VALID

Ermittelt zur Compile-Zeit, ob Element-Attributen korrekte Werte zugewiesen wurden. Das Ergebnis der Validierung wird in den Rückgabeparameter valid geschrieben.

Die möglichen Werte von valid sind: 'X' oder ' ' (Leerzeichen).

Wie Sie diese Methode in der Elementhandler-Klasse überschreiben können, erläutert ein Beispiel für den Fall der benutzerdefinierten Validierung.

RUNTIME_IS_VALID

Ermittelt zur Laufzeit, ob den Element-Attributen korrekte Werte zugewiesen wurden. Siehe auch entsprechendes Beispiel für benutzerdefinierte Validierung.

Empfehlung

Mit dem Aufruf der Runtime-Methode <Elementname>->RUNTIME_IS_VALID mit dem speziellen Argument ‘/*/‘ haben Sie die Möglichkeit zu verhindern, daß ein Abbruch beim Aktivieren erfolgt, falls der String mit Runtime-Attributen (arg_1/arg_2/...) wegen der Maximallänge von 200 Zeichen zu lang wird und damit überläuft.

Interface-Methoden zur Beeinflussung des Element-Ablaufs und Element-Inhalts

DO_AT_BEGINNING

Auf diese Methode wird immer bei der Prozessierung der BSP-Seite zu Beginn des Element-Aufrufs zugegriffen.

Über den Rückgabeparameters RC können Sie steuern, ob auf den Inhalt des aktuellen BSP-Element ausgewertet wird oder nicht. Die möglichen Werte des Rückgabeparameters RC sind daher:

CO_ELEMENT_CONTINUE und CO_ELEMENT_DONE.

Ein Beispiel für eine spezielle Implementierung dieser Methode erhalten Sie unter: Referenzübergabe bei Attributen.

DO_AT_ITERATION

Auf diese Methode wird bei der Prozessierung der BSP-Seite nach der Auswertung des Element-Inhalts zugegriffen. Voraussetzung, daß diese Methode überhaupt aufgerufen wird ist jedoch, daß die entsprechende Option Iteration über Element-Inhalt für das Element explizit gesetzt wurde.

Die Methode liefert den Rückgabeparameters RC zurück.

Die möglichen Werte des Rückgabeparameters RC sind hier ebenfalls:

CO_ELEMENT_CONTINUE und CO_ELEMENT_DONE.

Ein Beispiel für die Implementierung erhalten Sie in Iteration über Element-Inhalt

DO_AT_END

Auf diese Methode wird auf jeden Fall am Ende des Element-Aufrufs zugegriffen. Da zu diesem Zeitpunkt der komplette Element-Inhalt verfügbar ist, kann diese Methode zur Manipulation des Element-Inhalts genutzt werden.

Mit dem Rückgabeparameter RC können Sie steuern, ob die komplette BSP-Seite weiter ausgewertet wird oder nicht. Die möglichen Werte sind daher:

CO_PAGE_CONTINUE und CO_PAGE_DONE.

Interface-Methoden für Zugriffe auf Parent-Knoten

GET_CLASS_NAMED_PARENT

Liefert ein beliebiges Parent-Element zurück, das durch die Elementhandler-Klasse identifiziert wird.

GET_ELEMENT_NAMED_PARENT

Liefert ein beliebiges Parent-Element zurück, das durch den Namen der Extension und den Element-Namen identifiziert wird.

GET_DIRECT_PARENT

Liefert das direkte Parent-Element zurück.

Interface-Methode für die Fehlerbehandlung

RAISE_ERROR

Löst eine Exception der Klasse CX_BSP_ELEMENT_EXCEPTION aus.

Interface-Methode für Zugriff auf den Inhalt des BodyWriters

GET_PREVIOUS_OUT

Liefert die Referenz auf den BodyWriter des umgebenden Elements zurück .

 

Attribute

Allgemeine Interface-Attribute

ID

ID des BSP-Elements.

M_NAME

Name des BSP-Elements.

M_EXTENSION

Name der BSP-Extension.

M_CLASS_NAME

Name der Elementhandler-Klasse.

M_PARENT

Referenz auf ein Parent-Element.

M_PAGE_CONTEXT

Referenz auf den Seitenkontext (IF_BSP_PAGE_CONTEXT )

Vordefinierte Interface-Konstanten

CO_PAGE_DONE

Diese Konstante legt fest, daß die BSP-Seite nicht weiter ausgewertet wird.

CO_PAGE_CONTINUE

Diese Konstante legt fest, daß die BSP-Seite weiter ausgewertet wird.

CO_ELEMENT_DONE

Diese Konstante legt fest, daß das BSP-Element nicht mehr ausgewertet wird.

CO_ELEMENT_CONTINUE

Diese Konstante legt fest, daß das BSP-Element (noch einmal) ausgewertet wird.

Interface-Attribut für den BodyWriter

M_OUT

Referenz auf den BodyWriter, der den Element-Inhalt verwaltet.

Interface-Attribut der Validierung

M_VALIDATOR

Statischer Validierer (für alle Instanzen der Klasse), der für die Laufzeit-Validierung verwendet wird. Instanzen dieses Objektes werden nur dann erzeugt, wenn die Option Iteration über Element-Inhalt für das Element explizit gesetzt wurde.

Ende des Inhaltsbereichs