Show TOC Anfang des Inhaltsbereichs

Hintergrunddokumentation Personalisierung  Dokument im Navigationsbaum lokalisieren

Die bisher beschriebenen Konzepte von Component- und Anwendungskonfiguration bezogen sich auf Gestaltungsvorgänge, die zur Design-Zeit und von Anwendungsentwicklern vorgenommen wurden. Personalisierung und Customization hingegen finden zur Laufzeit statt und werden von Benutzern bzw. Administratoren ausgeführt.

Personalisierung

Der Benutzer einer Web-Dynpro-Anwendung kann in einem bestimmten Rahmen Einfluss auf das Erscheinungsbild der im Browser angezeigten View nehmen. Das Web-Dynpro-Framework stellt für jedes einzelne UI-Element die Möglichkeit zur Verfügung, einen Teil der Eigenschaften der impliziten Konfiguration (siehe Kapitel Component-Konfiguration) zu ändern. Zur Zeit beschränkt sich diese Modifikationsmöglichkeit jedoch auf die Eigenschaft Sichtbarkeit. Ohne zusätzlichen Aufwand für einen Anwendungsentwickler kann also der Benutzer einer Anwendung einzelne UI-Elemente auf der gerade angezeigten View aus- bzw. wieder einblenden.

Hauptsächlich kann der Endbenutzer also nur Dinge ausblenden. Allerdings kann er auch Spalten einer Table verschieben, die Anzahl der sichtbaren Zeilen einer Table einstellen und auch Werte vorbelegen.

Hinweis 

Zum Öffnen des entsprechenden Dialogs setzt der Benutzer den Cursor auf das betreffende UI-Element und wählt dann im Kontextmenü aus den entsprechenden Optionen aus dem Untermenü zu Benutzereinstellungen das Entsprechende aus.

Unter Umständen kann es jedoch auch sinnvoll sein, solche Eigenschaften personalisierbar zu machen, die mit Hilfe der expliziten Konfiguration im Context des Configuration-Controllers angelegt wurden. In diesem Fall muss der Dialog für den Zugriff eines Benutzers auf die Werte des Configuration-Controller-Contexts in einer separaten View explizit vom Anwendungsentwickler angelegt und programmiert werden.

Achtung

Beachten Sie dabei, dass bei jeder Speicheraktion (also auch Aktionen wie das Entfernen eines Buttons zur Laufzeit durch einen Endbenutzer) sowohl die Daten der impliziten als auch der expliziten Personalisierung gemeinsam abgespeichert werden. Sie können jedoch festlegen, dass nur die geänderten expliziten Daten gespeichert werden und nicht der komplette Inhalt des Konfigurations-Controllers. Dafür rufen Sie die Methode SUPPORT_DELTA_HANDLING am Interface IF_WD_PERSONALIZATION auf.

Zusätzlich muss der Absprung von der zu personalisierenden View in den Personalisierungsdialog aktiv angelegt und implementiert werden.

In der Demo-Anwendung WDR_TEST_PERS_IMP_EXP, die in Ihrem System im Paket SWDP_TEST enthalten ist, finden Sie die spezielle Personalisierungs-View PERS_VIEW.

Hinweis

Sie können an der Anwendung festlegen, dass der Endbenutzer keine Personalisierungsmöglichkeit haben soll (Anwendungsparameter WDDISABLEUSERPERSONALIZATION) bzw. Sie können an jeder Web-Dynpro-Component im Speziellen festlegen, dass die implizite Personalisierung für den Endbenutzer bzw. den Administrator nicht gewünscht ist.

Einbettung von impliziten Konfigurationsoptionen in den Personalisierungsdialog

Wenn ein Personalisierungsdialog durch die Anwendungsentwicklung explizit angelegt wird kann es durchaus sinnvoll sein, auch die Personalisierung der impliziten Konfigurationsmöglichkeit, beispielsweise auf einer zusätzlichen Registerkarte, mit einzubetten. Ein Benutzer hätte in diesem Fall den Vorteil einer einheitlichen Handhabung. Die Einbettung erfolgt mit Hilfe eines bereit gestellten Component-Interfaces wodurch eine weitere Ausprogrammierung dieses impliziten Teils des Personalisierungsdialogs nicht mehr nötig ist.

Das vorbereitete, zu verwendende Web-Dynpro-Component-Interface heißt IWD_PERSONALIZATION und stellt eine Interface-View bereit, die wiederum in das Window der verwendenden Component eingebettet werden muss. Dieses Interface verfügt über die Methode INIT_PERSONALIZATION, welche in einer Methode der Haupt-Component (z.B. WDDOINIT des Component-Controllers) aufgerufen wird. Der Methode INIT_ PERSONALIZATION müssen die Referenz auf den View-Controller für das zu personalisierende View-Element sowie die ID dieses View-Elements  übergeben werden.

Anwenderübergreifende mandantenweite Anpassungen

Während bei einem Personalisierungsvorgang ein einzelner Benutzer seine eigenen Einstellungen manipulieren kann, hat ein Administrator auch die Möglichkeit, Anpassungen (Customization) für einen größeren Kreis von Benutzern durchzuführen. Technisch unterscheiden sich dieser Vorgang nicht von der Personalisierung, beide finden zur Laufzeit einer Anwendung statt. Der Unterschied liegt in der Reichweite einer Einstellung. Außerdem muss eine Anwendung für gruppenweite Einstellungen in einem speziellen Administrations-Modus laufen. Dies ist immer dann automatisch der Fall, wenn eine Anwendung im Portal im Preview-Modus gestartet wurde. Unabhängig von Portal können Sie eine Anwendung auf folgende Weise aus der Workbench heraus im Administrations-Modus starten:

      Doppeklicken Sie den Namen der Anwendung in der Objektliste

      Im Menü Web-Dynpro-Anwendungen in der oberen, linken Ecke des Workench-Fensters wählen Sie den Eintrag Testen    Ausführen im Admin-Modus

Der Konfigurationsmodus wird einer Anwendung dann als URL-Parameter sap-config-mode=X übergeben.

Hinweis 

Alle vom Administrator im Admin-Modus vorgenommenen Anpassungen werden Mandanten-spezifisch abgelegt. Zur Zeit gibt es keine Möglichkeit, kleinere Benutzergruppen administrativ zu strukturieren. Da die mandanten-weite Anpassung jeweils für die betreffende Konfigurationsvariante zieht, kann eine Strukturierung kleinerer Gruppen derzeit über die Pflege verschiedener Konfigurationsvarianten realisiert werden.

Hinweis 

Zur Personalisierung eines einzelnen Benutzers öffnet sich bei Klicken der rechten Maustaste auf dem jeweiligen Element ein Kontextmenü. Im entsprechenden Kontextmenü eines Administrator (d.h.: mit URL-Parameter sap-config-mode=X ) befindet sich der Zugang zu einem Dialogfenster zur Anpassung der Einstellungen von Benutzergruppen.

Ein Administrator hat hierbei zusätzlich die Möglichkeit, innerhalb eines UI-Element-Containers entweder einzelne Zeilen (Grid-, Matrix- und RowLayout) oder auch einzelne Elemente (FlowLayout) umzusortieren.

Hinweis 

Für Mandantenweite Anpassungen ist für den jeweiligen Administrator eine spezielle Berechtigung notwendig. Dies kann entweder eine Entwicklerberechtigung sein oder die spezielle Berechtigung S_WDR_P13N. Mit dieser Berechtigung können zwar keine Konfigurationen zu Designzeit erstellt werden, wohl aber Anpassungen zur Laufzeit.

Diese Anpassungen gelten für alle Anwender, finden jedoch nur in einem einzigen Mandanten statt.

Kundeneigene Erweiterungsfelder (Custom Extension Fields)

Der Context einer Web-Dynypro-Anwendung geht in vielen Fällen auf eine Struktur des ABAP Dictionary zurück. Im Rahmen einer kundenseitigen Entwicklung kann eine solche Struktur modifikationsfrei um beliebige Felder ergänzt werden ( Append-Strukturen) bzw. über CI-Felder ( Customizing-Includes). Die Felder dieser Append-Strukturen bzw. CI-Felder können dann mit Hilfe der mandatenweiten Anpassung im Layout der Anwendung zur Laufzeit sichtbar gemacht werden.

Siehe auch:

DEMO_CUSTOM_EXT_FIELDS

 

Ende des Inhaltsbereichs