Show TOC

Web-Dynpro-Laufzeit-APIsLocate this document in the navigation structure

Verwendung

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.

Weitere Informationen

Eine Liste der Klassen und Interfaces des Frameworks und ihrer Zugriffsmethoden finden Sie im Referenzteil dieser Dokumentation.