IF_WD_RR_VIEW_USAGE
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).
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' ). |
Diese Methode gibt den Namen der View-Usage zurück.
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.
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.
Diese Methode gibt das Beschreibungsobjekt der View zurück, die dieser View-Usage zugeordnet ist.
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).
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.

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.
Diese Methode gibt alle zu dieser View-Usage aggregierten View-Container-Assignments zurück.
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.
Diese Methode erzeugt ein zu dieser View-Usage aggregiertes View-Container-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.
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.
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.
Diese Methode löscht alle dynamisch erzeugten Navigations-Targets zu dem angegebenen Outbound-Plug.
Mit Hilfe dieser Methode kann festgestellt werden, ob diese View-Usage dynamisch oder mit Hilfe der ABAP-Workbench erzeugt wurde.
Mit Hilfe dieser Methode kann festgestellt werden, ob diese View-Usage bereits gelöscht wurde.