Ü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.
Sollte bei der Basisklasse Ihrer Controller-Klasse statt
Die Klasse
CL_BSP_CONTROLLER2 ermöglicht: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.
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:Funktionen, bei denen Überschreiben empfohlen ist
Diese Methoden sollten Sie überschreiben, um die Eingabeverarbeitung festzulegen.
|
Methode |
Beschreibung |
|
DO_HANDLE_DATA |
Reaktion auf Benutzereingaben. |
|
DO_HANDLE_EVENT |
Reaktion auf Benutzereingaben. 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.
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. |
|
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. |
|
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:
Siehe auch Caching von BSPs.
Caching kann hier nur eingeschränkt verwendet werden. |
|
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.
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. |
|
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 |

Die beiden Methoden