Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation IF_WD_RR_VIEW_USAGE  Dokument im Navigationsbaum lokalisieren

Das Interface IF_WD_RR_VIEW_USAGE gehört zur API des Web-Dynpro-Runtime-Repositories.

Das Interface IF_WD_RR_VIEW_USAGE ermöglicht den Zugriff auf die Metadaten einer View-Einbettung. Eine View kann direkt in ein Web-Dynpro-Window oder in einen View-Container einer anderen View eingebettet werden. In beiden Fällen wird der Einbettungsposition der View ein Beschreibungsobjekt, die so genannte View-Usage zugeordnet. Enthält die eingebettete View wiederum View-Container, also Bereiche, in denen Views eingebettet werden können, so aggregiert die View-Usage dieser View View-Container-Assignments (siehe Interface IF_WD_RR_VIEW_CNT_ASSIGNMENT).

Verwendung

Eine View des Namens VIEW_MAIN sei in ein Window WINDOW_MAIN einer Web-Dynpro-Component eingebettet. Die Einbettungsposition der View im Window sei durch die View-Usage USAGE_VIEW_MAIN ausgedrückt. Der Zugriff auf diese View-Usage erfolgt z.B. in einer Methode des Component-Controllers wie folgt:

data:

l_component_api        type ref to if_wd_component,

l_window_info          type ref to if_wd_rr_window,

l_view_usage           type ref to if_wd_rr_view_usage.

 

l_component_api   = wd_this->wd_get_api( ).

l_component_info  = l_component_api->get_component_info( ).

l_window_info     = l_component_api->get_window_info(

                           window_name = 'WINDOW_MAIN' ).

l_view_usage      = l_window_info->get_view_usage(

                            name = 'USAGE_VIEW_MAIN' ).

Methoden

GET_NAME

Diese Methode gibt den Namen der View-Usage zurück.

GET_EMB_VIEW_CNT_ASSIGNMENT

Ist die zu dieser View-Usage gehörende View in eine andere View eingebettet, dann gibt diese Methode das übergeordnete View-Container-Assignment zurück (siehe Interface IF_WD_RR_VIEW_CNT_ASSIGNMENT). Ist die View dagegen direkt im Window eingebettet, dann ist der Rückgabewert initial.

GET_COMPONENT_USAGE

Gehört die View, die dieser View-Usage zugeordnet ist, zu einer verwendeten Component, dann gibt diese Methode das Beschreibungsobjekt der zugehörigigen Component-Usage zurück. Ansonsten ist der Rückgabewert initial.

GET_VIEW

Diese Methode gibt das Beschreibungsobjekt der View zurück, die dieser View-Usage zugeordnet ist.

GET_WINDOW

Diese Methode gibt das Beschreibungsobjekt des Windows zurück, das zu dieser View-Usage gehört (das Window, in dem die zu dieser View-Usage gehörende View eingebettet ist).

GET_VCA_FOR_CONTAINER

Diese Methode gibt das zu einem View-Container gehörende View-Container-Assignment zurück. Zwischen einem View-Container und einem View-Container-Assignment besteht der folgende Zusammenhang:

Ein View-Container ist ein ausgezeichneter Bereich einer View, in dem andere Views eingebettet werden können. Innerhalb eines Web-Dynpro-Windows kann eine View mehrmals in unterschiedlichen View-Containern oder direkt im Window eingebettet sein. Enthält eine View, die auf diese Weise mehrfach eingebettet ist, selbst wieder View-Container, dann gibt es zur eindeutigen Kennzeichnung der Einbettungsposition pro Einbettung und pro View-Container ein View-Container-Assignment.

Beispiel

Eine View VIEW_01 sei dreimal an verschiedenen Positionen in einem Window WINDOW eingebettet. Die Einbettungspositionen seien durch die View-Usages (siehe IF_WD_RR_VIEW_USAGE) VIEW_01_USAGE_1, VIEW_01_USAGE_2und VIEW_01_USAGE_3 ausgedrückt. Die View enthalte die View-Container CONTAINER_01 und CONTAINER_02. Pro View-Usage und View-Container existiert nun genau ein View-Container-Assignment.

GET_VIEW_CNT_ASSIGNMENTS

Diese Methode gibt alle zu dieser View-Usage aggregierten View-Container-Assignments zurück.

GET_VIEW_CNT_ASSIGNMENT

Diese Methode gibt das von dieser View-Usage aggregierte View-Container-Assignment des angegebenen Namens zurück.

Aggregiert diese View-Usage kein View-Container-Assignment des angegebenene Namens, dann wird die Ausnahme CX_WDR_RR_EXCEPTION ausgelöst.

CREATE_VIEW_CNT_ASSIGNMENT

Diese Methode erzeugt ein zu dieser View-Usage aggregiertes View-Container-Assignment.

DELETE_VIEW_CNT_ASSIGNMENT

Diese Methode löscht ein dynamisch erzeugtes View-Container-Assignment des angegebenen Namens.

Voraussetzung ist, dass ein zu dieser View-Usage aggregiertes View-Container-Assignment des angegebenen Namens dynamisch erzeugt wurde (z.B. mit den Methoden IF_WD_RR _VIEW_USAGE~CREATE_VIEW_CNT_ASSIGNMENT, IF_WD_NAVIGATION_SERVICES_NEW~PREPARE_DYNAMIC_NAVIGATION oder IF_WD_NAVIGATION_SERVICES_NEW~DO_DYNAMIC_NAVIGATION ).

Der Versuch, ein View-Container-Assignment zu löschen, das nicht dynamisch, sondern mit Hilfe der ABAP-Workbench erzeugt wurde, führt zu der Ausnahme CX_WDR_RR_EXCEPTION.

CREATE_NAVIGATION_TARGET

Die Methode IF_WD_RR_VIEW_USAGE~CREATE_NAVIGATION_TARGET erzeugt temporär ein Navigations-Target. Existiert bereits ein Navigations-Target für die Kombination SOURCE_PLUG_NAME, TARGET_PLUG_NAME und TARGET_VIEW_USAGE_NAME, ist der Aufruf der Methode wirkungslos. In diesem Fall ist der Rückgabewert initial. Existiert bereits ein Navigations-Target mit gleichem Namen, dann wird die Ausnahme CX_WDR_RR_EXCEPTION=>TARGET_ALREADY_EXISTING ausgelöst.

DELETE_NAVIGATION_TARGET

Diese Methode löscht ein dynamisch erzeugtes Navigations-Target des angegebenen Namens. Existiert kein entsprechendes Navigations-Target, so bleibt der Aufruf der Methode wirkungslos.

Voraussetzung ist, dass das zu löschende Navigations-Target zuvor dynamisch erzeugt wurde (z.B. mit den Methoden IF_WD_RR_VIEW_USAGE~CREATE_NAVIGATI ON_TARGET , IF_WD_NAVIGATION_SERVICES_NEW~PREPARE_DYNAMIC_NAVIGATION oder IF_WD_NAVIGATION_SERVICES_NEW~DO_DYNAMIC_NAVIGATION ).

Der Versuch, ein Navigations-Target zu löschen, das nicht dynamisch, sondern mit Hilfe der ABAP-Workbench erzeugt wurde, führt zu der Ausnahme CX_WDR_RR_EXCEPTION.

DELETE_ALL_NAVIGATION_TARGETS

Diese Methode löscht alle dynamisch erzeugten Navigations-Targets zu dem angegebenen Outbound-Plug.

IS_DYNAMIC

Mit Hilfe dieser Methode kann festgestellt werden, ob diese View-Usage dynamisch oder mit Hilfe der ABAP-Workbench erzeugt wurde.

IS_DIRTY

Mit Hilfe dieser Methode kann festgestellt werden, ob diese View-Usage bereits gelöscht wurde.

 

Ende des Inhaltsbereichs