Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Klasse CL_BSP_CONTROLLER2  Dokument im Navigationsbaum lokalisieren

Überblick

Die Klasse CL_BSP_CONTROLLER2 wird für die Bildung von Controllern und von Komponenten eingesetzt. Jede Klasse eines Controllers erbt automatisch alle Methoden und Attribute von dieser zentralen Basisklasse.

Hinweis

Sollte bei der Basisklasse Ihrer Controller-Klasse statt CL_BSP_CONTROLLER2 die Klasse CL_BSP_CONTROLLER aufgeführt sein, so ändern Sie die Vererbungshierarchie entsprechend ab.

Die Klasse CL_BSP_CONTROLLER2 ermöglicht:

·        das Halten einer Liste von Sub-Controllern (Unter-Controller)

·        die Erstellung eindeutiger IDs für die Sub-Controller, indem der Sub-Controller mit dem Präfix der Controller-ID versehen wird

·        die Verwendung von Modellen

·        das Weiterleiten der Eingaben an den korrekten Controller sowie das Füllen der Modellklasse (falls vorhanden)

Methoden

Im Folgenden erhalten Sie eine Übersicht aller Methoden einer Controller-Klasse. Details zu den wichtigsten Methoden sind unter Verarbeitungsablauf beschrieben.

Die einzelnen Methoden fallen in unterschiedliche Kategorien:

Funktionen, bei denen Überschreiben notwendig ist

DO_REQUEST ist die zentrale Methode in einer Controller-Klasse.

Achtung

Diese Methode müssen Sie überschreiben.

In DO_REQUEST spezifizieren Sie die Verarbeitung des Requests, d.h. diese Methode wird für jeden Request aufgerufen. Sie macht die „Hauptarbeit“ bei der Verarbeitung, insbesondere sollte sie auf den richtigen View verzweigen.

Bei DO_REQUEST sind zwei Einsatzgebiete zu unterscheiden:

·        Wenn es sich um den obersten Controller einer Komponente handelt, dann behandelt diese Methode sowohl die Eingabe- als auch die Ausgabeverarbeitung.

·        Wenn es sich dagegen um einen Sub-Controller einer Komponente handelt, dann behandelt diese Methode lediglich die Ausgabeverarbeitung.

Funktionen, bei denen Überschreiben empfohlen ist

Diese Methoden sollten Sie überschreiben, um die Eingabeverarbeitung festzulegen.

Methode

Beschreibung

DO_HANDLE_DATA

Reaktion auf Benutzereingaben.
Bearbeitung der Dateneingabe für diese Komponente.

DO_HANDLE_EVENT

Reaktion auf Benutzereingaben.
Bearbeitung der Events, falls die Komponente Events beinhaltet.

Es wird immer nur genau der eine Controller des Views, der ein Ereignis wie z.B. einen Sichern-Button beinhaltet, für das Behandeln des Events aufgerufen.

DO_FINISH_INPUT

Beenden der Eingabeverarbeitung.

 

Funktíonen, bei denen Überschreiben möglich ist

Diese Methoden können Sie überschreiben, um die Initialisierung festzulegen.

Methode

Beschreibung

DO_INIT

Diese Methode wird einmalig am Anfang beim Erzeugen aufgerufen und dient der Initialisierung.

Diese Methode verhält sich wie eine Konstruktor-Methode.

DO_INITATTRIBUTES

Diese Methode wird bei jedem Request aufgerufen und dient der Initialisierung der Attribute. Die Parameter werden aus dem Request gelesen. In dieser Methode können Sie Initialisierungen vornehmen, die bei jedem Request notwendig sind.

Mit dieser Methode können Sie auch zusätzliche Attribute setzen. Allerdings ist diese Methode nicht zwingend notwendig, da Sie alles, was Sie hier (theoretisch) behandeln können, ebenfalls über DO_REQUEST erledigen können.

Service-Funktionen

Diese Methoden können Sie aufrufen.

Methode

Beschreibung

CREATE_VIEW

Erzeugt oder holt eine View-Instanz

Verwenden Sie hierbei entweder den Namen des Views oder das Objekt navigation.

Hinweis

Ein View muss immer zur selben BSP-Applikation gehören wie sein Controller.

CALL_VIEW

Ruft den Request-Handler der View-Instanz auf

CREATE_CONTROLLER

Erzeugt oder holt eine Controller-Instanz

CALL_CONTROLLER

Ruft den Request-Handler (Methode DO_REQUEST) der Controller-Instanz auf

GET_ATTRIBUTE

Liefert das angegebene Seitenattribut.
Generische Methode für das Lesen eines Attributwerts

GET_LIFETIME

Liefert die Lebensdauer dieser Seite (nur für den obersten Controller)

GET_PAGE_URL

Liefert die URL der Seite bzw. des aktuellen Controllers

SET_ATTRIBUTE

Setzt das angegebene Seitenattribut.
Generische Methode für das Setzen eines Attributwerts

SET_LIFETIME

Ändert die Lebensdauer dieser Seite (nur für den obersten Controller)

TO_STRING

Erzeugt einen formatierten String

WRITE

Schreibt einen formatierten String in die Ausgabe

GET_OUT

Holt den aktuellen Ausgabe-Writer

SET_MIME_TYPE

Ändert den MIME-Type der Seite bzw. den Content-Type des Header-Feldes

INSTANTIATE_PARAMETER

Instantiiert die Parameter aus dem Request über die Request-Daten

SET_CACHING

Ändert die Caching-Werte

Es gibt zwei Arten von Caching:

·        Browser-Cache

·        Server-Cache

Siehe auch Caching von BSPs.

Hinweis

Caching kann hier nur eingeschränkt verwendet werden.
Beachten Sie, dass der Server-Cache nicht Benutzer-spezifisch ist.
Wenn Sie die Seite ändern, müssen Sie den eventuell eingestellten Cache zurücksetzen.

DISPATCH_INPUT

Dispatchen der Eingabeverarbeitung (nur für den obersten Controller).

DISPATCH_INPUT ruft für jede Eingabe die richtigen Methoden in der richtigen Reihenfolge auf.
Diese Methode holt Daten aus dem Request.

Hinweis

Diese Methode hat keine Attribute.

GET_ID

Berechnet die ID aus der angegebenen ID und der Komponenten-ID

SET_MODEL

Erzeugt und registriert eine Model-Instanz

CREATE_MODEL

Erzeugt und registriert eine Model-Instanz

GET_CONTROLLER

Holt einen Sub-Controller

CONTROLLER_SET_ACTIVE

Setzt einen Controller auf aktiv/inaktiv.
Dies ist bei der Eingabeverarbeitung relevant, da Sie hierduch einen Controller verbergen können.
Siehe auch Lebensdauer

DELETE_MODEL

Löscht eine Model-Instanz

FILL_MODEL_DATA

Füllt die Model-Daten

DELETE_CONTROLLER

Löscht einen Sub-Controller

GET_MODEL

Holt eine Model-Instanz

IS_TOPLEVEL

Ist dieser Controller ein oberster (Haupt-) Controller (0: nein, 1: ja) ?

IS_NAVIGATION_REQUESTED

Hat ein Controller eine Navigation gefordert (0: nein, 1: ja) ?

 

Framework-Funktionen

Diese Methoden werden im Rahmen des Frameworks zur Verfügung gestellt und werden lediglich der Vollständigkeit halber hier aufgeführt. Sie sind i.d.R. nicht relevant für die Anwendungsentwicklung.

Methode

Beschreibung

IF_BSP_DISPATCHER~REGISTER

Registrierung einer Unterkomponente

IF_BSP_CONTROLLER~FINISH_INPUT_PROCESSING

Bearbeite oder dispatche: Ende der Eingabeverarbeitung

IF_BSP_CONTROLLER~FILL_VALUES

Bearbeite oder dispatche: Werte behandeln

IF_BSP_CONTROLLER~HANDLE_EVENT

Bearbeite oder dispatche: Event behandeln

GET_FIELD_COMPONENT

Finde Komponente zu einem Feldnamen

GET_FIELD_MODEL

Finde Model zu einem Feldnamen

 

Hinweis

Die beiden Methoden DO_DESTROY und SUBSCRIBE sind nicht relevant.

 

Ende des Inhaltsbereichs