!--a11y-->
Web-Dynpro-Laufzeit-APIs 
Mit den Web-Dynpro-APIs erhält der Anwendungsentwickler ein Set an Interfaces mit deren Hilfe die Controller-Programmierung gestaltet werden kann. Der Zugriff auf die verschiedenen APIs erfolgt auf sehr unterschiedliche Weise. Eine vollständige Liste aller Klassen und Interfaces des Frameworks und ihrer Zugriffsmethoden finden Sie daher im Referenzhandbuch dieser Dokumentation.
Die Laufzeit-Interfaces bietet 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. Als Beispiele seien genannt:
● Dynamische Manipulation des Layouts
● Dynamische Steuerung der Navigation
Im Kapitel Die Referenzvariable WD_THIS wurde bereits das Laufzeit API der verschiedenen Controller-Typen angesprochen. 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:
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:
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 ein 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
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. Sie werden benötigt um Festwerte von Attributen zu setzen.
Eine vollständige Liste aller Klassen und Interfaces des Frameworks und ihrer Zugriffsmethoden finden Sie im Referenzhandbuch dieser Dokumentation.