Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation IF_WD_NAVIGATION_SERVICES_NEW  Dokument im Navigationsbaum lokalisieren

Das Interface IF_WD_NAVIGATION_SERVICES_NEW ermöglicht die Erzeugung der notwendigen Metadaten für eine dynamische Navigation. Damit kann auf eine Deklaration von Navigationslinks zur Design-Zeit verzichtet werden. Allerdings sollte dies nur dann geschehen, wenn eine statische Deklaration der Navigationslinks nicht möglich ist. Dies ist z.B. dann der Fall, wenn erst zur Laufzeit bekannt ist (eventuell durch Konfiguration der Web Dynpro-Component), welche Views bzw. Interface-Views eingebetteter Components angezeigt werden sollen.

Verwendung

Innerhalb einer View einer Web Dynpro-Component kann auf das Interface IF_WD_NAVIGATION_SERVICES_NEW wie folgt zugegriffen werden:

data:

l_view_api                type ref to

 if_wd_view_controller,

l_navigation_services_new type ref to

 if_wd_navigation_services_new.

l_view_api = wd_this->wd_get_api(

 ).

L_navigation_services_new ?= l_api.

Methoden

PREPARE_DYNAMIC_NAVIGATION

Diese Methode legt einen Navigationslink und ein Navigationsziel zu den angegebenen Parametern an. Dazu werden alle notwendigen View-Einbettungen und View-Container-Zuordnungen angelegt. Stammt die Ziel-View aus einer eingebetteten Component, so wird bei Bedarf die Component-Verwendung angelegt. Nach Aufruf dieser Methode kann eine Navigation durch Auslösen des in SOURCE_PLUG_NAME angegebenen Outbound-Plugs durchgeführt werden.

Der Aufruf der Methode führt außerdem dazu, dass ein Objekt des Typs IF_WD_REPOSIORY_HANDLE erzeugt wird, das an den Aufrufer zurückgegeben wird. Dieses Objekt ermöglicht den Zugriff auf die bei dem Aufruf der Methode dynamisch erzeugten Metadaten.

Hinweis

Beachten Sie, dass das wiederholte Aufrufen dieser Methode unter Verwendung des gleichen Outbound-Plugs (SOURCE_PLUG_NAME) dazu führt, dass mehrere Navigationslinks zu diesem Outbound-Plug angelegt werden. Da alle diese Navigationslinks während der Navigationsphase verfolgt werden, kann dies eventuell dazu führen, dass nicht die erwartete View zur Anzeige gebracht werden kann.

Es gibt die folgenden Import-Parameter:

      SOURCE_WINDOW_NAME

Name des Windows, in dem navigiert werden soll. Das ist das Window, in dem also sowohl Start- als auch Ziel-View eingebettet sind.

      SOURCE_VUSAGE_NAME

Name der View-Usage der Start-View (siehe Window-Editor)

      SOURCE_PLUG_NAME

Name des Outbound-Plugs

      TARGET_COMPONENT_NAME

Name der Component des Ziels, also der View, die im internen Fenster angezeigt werden soll

      TARGET_VIEW_NAME

Name der Ziel-View, zu der navigiert werden soll

      TARGET_PLUG_NAME

Name des Inbound-Plugs

      TARGET_EMBEDDING_POSITION

Einbettungsposition der Ziel-View in der Form:

[<View1>/ <Container1>.[<View2>/<Container2>]*].

Ist dieser Parameter initial, so wird die View, zu der navigiert werden soll, direkt in das Window eingebettet.

Es gibt den folgenden Returning-Parameter:

      REPOSITORY_HANDLE (ref to IF_WD_REPOSITORY_HANDLE)

Handle, unter dem die erzeugten Metadaten angesprochen werden können

DO_DYNAMIC_NAVIGATION

Es wird eine dynamische Navigation durchgeführt. Dazu werden, falls noch nicht vorhanden, Navigationslink, Navigationsziel, Outbound-Plug, Component-Verwendung, View-Einbettungen und View-Container-Zuordnungen für das Navigationsziel angelegt. Schließlich wird die Navigation durchgeführt.

Der Aufruf der Methode führt außerdem dazu, dass ein Objekt des Typs IF_WD_REPOSIORY_HANDLE erzeugt wird, das an den Aufrufer zurückgegeben wird. Dieses Objekt ermöglicht den Zugriff auf die bei dem Aufruf der Methode dynamisch erzeugten Metadaten.

Hinweis

Beachten Sie, dass das wiederholte Aufrufen dieser Methode unter Verwendung des gleichen Outbound-Plugs (SOURCE_PLUG_NAME) dazu führt, dass mehrere Navigationslinks zu diesem Outbound-Plug angelegt werden. Da alle diese Navigationslinks während der Navigationsphase verfolgt werden, kann dies eventuell dazu führen, dass nicht die erwartete View zur Anzeige gebracht werden kann.

Es gibt die folgenden Import-Parameter:

      SOURCE_WINDOW_NAME

Name des Windows, in dem navigiert werden soll. Das ist das Window, in dem also sowohl Start- als auch Ziel-View eingebettet sind.

      SOURCE_VUSAGE_NAME

Name der Einbettung der Start-View

      SOURCE_PLUG_NAME

Name des Outbound-Plugs

      PLUG_PARAMETERS

Liste der Parameterwerte des Outbound-Plugs

      TARGET_COMPONENT_NAME

Name der Component des Ziels, also der View, die im internen Fenster angezeigt werden soll

      TARGET_VIEW_NAME

Name der Ziel-View, zu der navigiert werden soll

      TARGET_PLUG_NAME

Name des Inbound-Plugs

      TARGET_EMBEDDING_POSITION

Einbettungsposition der Ziel-View in der Form:

[<View1>/ <Container1>.[<View2>/<Container2>]*].

Ist dieser Parameter initial, so wird die View, zu der navigiert werden soll, direkt in das Window eingebettet.

Es gibt den folgenden Returning-Parameter:

      REPOSITORY_HANDLE (ref to IF_WD_REPOSITORY_HANDLE)

Handle, unter dem die erzeugten Metadaten angesprochen werden können

 

Ende des Inhaltsbereichs