
Mit den Web-Dynpro-APIs erhält der Anwendungsentwickler eine Menge an Interfaces, mit deren Hilfe die Controller-Programmierung gestaltet werden kann. Der Zugriff auf die verschiedenen APIs erfolgt auf sehr unterschiedliche Weise.
Die Laufzeit-Interfaces bieten Ihnen eine Vielzahl von Methoden zu unterschiedlichen Programmierbereichen. Einige Beispiele hierfür sind:
Zugriff auf das Window-Manager-API IF_WD_WINDOW_MANAGER zur Erzeugung von Popups aus bestehenden Web-Dynpro-Windows
Zugriff auf das Portal-Integrations-API IF_WD_PORTAL_INTEGRATION
Bearbeitung des Contexts
Erzeugung von Meldungen
Im Rahmen der dynamischen Programmierung kommen weitere Bereich hinzu, z.B.:
Dynamische Manipulation des Layouts
Dynamische Steuerung der Navigation
Beispiel für den Zugriff auf ein Laufzeit-API
Unter Referenzvariable WD_THIS wurde das Laufzeit API der verschiedenen Controller-Typen beschrieben. Je nach Typ des Controllers ist der Rückgabewert der Methode WD_GET_API des lokalen Controllers-Interfaces eine Referenzvariable des Interfaces:
IF_WD_VIEW_CONTROLLER (für alle View-Controller)
IF_WD_COMPONENT (für alle Component-Controller) oder
IF_WD_CONTROLLER (für alle Interface- oder Custom-Controller)
Das folgende Beispiel zeigt den Zugriff auf das Laufzeit-API vom Typ des eigenen Controllers, in diesem Fall ein View-Controller:
Beispiel
method MY_VIEW_CONTROLLER_METHOD .
data: L_RUNTIMEAPI type ref to IF_WD_VIEW_CONTROLLER.
L_RUNTIMEAPI = WD_THIS->WD_GET_API( ) .
endmethod.
Innerhalb dieser Beispielmethode können Sie nun mit Hilfe des Attributs L_RUNTIMEAPI die Methoden des Laufzeit-APIs IF_WD_VIEW_CONTROLLER nutzen.
Sie können jedoch auch auf das Laufzeit-API vom Typ eines verwendeten Controllers zugreifen. Das folgende Beispiel soll dies verdeutlichen:
Beispiel
method MY_CONTROLLER_METHOD .
data: L_COMP_INTF type ref to IG_COMPONENTCONTROLLER,
L_RUNTIMEAPI type ref to IF_WD_COMPONENT.
L_COMP_INTF = WD_THIS->GET_COMPONENTCONTROLLER_CTR( ).
L_RUNTIMEAPI = L_COMP_INTF->WD_GET_API( ) .
endmethod.
In diesem Fall wird zunächst eine Referenzvariable des Component-globalen Interfaces des Component-Controllers erzeugt. Anschließend wird mit Hilfe der Methode WD_GET_API eine Referenzvariable des Laufzeit-APIs des Component-Controllers erzeugt.
Da für jeden View-Controller das Attribut WD_COMP_CONTROLLER vom Typ IG_COMPONENTCONTROLLER bereits von der Entwicklungsumgebung angelegt wird, verkürzt sich in diesem Fall das Coding für den Zugriff auf das Laufzeit-API des Component-Controllers:
Beispiel
method MY_VIEW_CONTROLLER_METHOD .
data: L_RUNTIMEAPI type ref to IF_WD_COMPONENT.
L_RUNTIMEAPI = WD_COMP_CONTROLLER->WD_GET_API( ) .
endmethod.
Alle andere APIs der Web-Dynpro-Laufzeit werden über andere Wege zugänglich gemacht. Zwei Beispiele:
Das API IF_WD_VIEW ist ausschließlich über das Attribut VIEW der Methode WDDOMODIFYVIEW des lokalen View-Controller-Interfaces erreichbar.
Auf die APIs IF_WD_CONTEXT_NODE und IF_WD_CONTEXT_NODE_INFO kann über das das Attribut WD_CONTEXT vom Typ IF_WD_CONTEXT zugegriffen werden. Diese beiden APIs werden benötigt, um Festwerte von Attributen zu setzen.
Eine Liste der Klassen und Interfaces des Frameworks und ihrer Zugriffsmethoden finden Sie im Referenzteil dieser Dokumentation.