Anfang des Inhaltsbereichs

Vorgehensweisen Manipulation des Element-Inhalts  Dokument im Navigationsbaum lokalisieren

Verwendung

Aktivieren Sie diese Option in der Eigenschaften-Anzeige zum BSP-Element, wenn es erforderlich ist, daß dieses Element den eigenen Inhalt manipulieren kann.

Aktivitäten

Nach Aktivierung dieser Option steht im Interface-Attribut M_OUT der Elementhandler-Klasse ein sogenannter BodyWriter zur Verfügung, der den Inhalt des BSP-Elements verwaltet. Über die Methoden des BodyWriters kann dann der Inhalt entsprechend manipuliert werden.

Um den Element-Inhalt zu ändern, müssen Sie zusätzlich zur Aktivierung der Option Manipulation des Element-Inhalts noch die Interface-Methode DO_AT_END der Elementhandler-Klasse überdefinieren.

Auf diese Methode wird auf jeden Fall am Ende des Element-Aufrufs zugegriffen. Sie können sie speziell bei Manipulation des Inhalts dazu verwenden, um den Inhalt des BodyWriters an den BodyWriter eines umgebenden BSP-Elements explizit zu übergeben. Erfolgt in diesem Fall jedoch keine Übergabe, so wird der Element-Inhalt verworfen.

Beispiel

Im nachfolgenden Beispiel soll ein BSP-Element seinen kompletten Textinhalt in Großbuchstaben umwandeln. Hierzu wird die Methode DO_AT_END wie folgt überschrieben:

Zunächst wird der Element-Inhalt aus dem aktuellen BodyWriter m_out in die lokale Variable content geschrieben. Dieser Variablen wird dann ein neuer Inhalt zugewiesen. Anschließend liefert der Methodenaufruf me->get_previous_out() den BodyWriter des umgebenden Elements previous_out zurück. Der neue Inhalt wird jedoch nicht automatisch auf diesen BodyWriter kopiert. Die Zuweisung des neuen Inhalts erfolgt schließlich mit der Methode print_string().

method IF_BSP_ELEMENT~DO_AT_END.

data: content type string.

      content = m_out->get_content( ).

      translate content to upper case.

data: previous_out type ref to IF_BSP_WRITER.

      previous_out = me->get_previous_out().

      previous_out-> print_string( content ).

      rc = CO_PAGE_CONTINUE.

endmethod.

 

 

Ende des Inhaltsbereichs