- 8. Juni 2014

Was ist bei Tabs in Verbindung mit SAP Screen Personas zu beachten?

Im Bereich UI-Technologie befindet sich derzeit das Addon SAP Screen Personas auf dem Vormarsch. Es bietet viele Möglichkeiten, klassische Dynpro-Transaktionen, wie man sie aus der SAP GUI kennt, sowohl optisch als auch funktional an die besonderen Bedürfnisse auch bestimmter Benutzergruppen im Unternehmen anzupassen. Bei der Entwicklung stößt dieses Addon jedoch an manchen Stellen noch an seine Grenzen, die entweder bereits durch besondere Mechanismen überwunden oder (hoffentlich) in zukünftigen Release-Ständen angegangen werden. So auch bei der Bearbeitung von Dynpros mit verschiedenen Tabs.

Nutzen Sie unser Know How im Bereich SAP User Experience!
Wir beraten sie zu Vor- und Nachteilen der SAP UI-Technologien und unterstützen Sie bei Planung und Design Ihrer Applikationen.

Sie erhalten die Komplettlösung – Ihr Projekt machen wir zu unserem Projekt. Wir sind Ihr Dienstleiter für Ihr Entwicklungsprojekt, das den Anwender in den Mittelpunkt stellt.

Gerne spreche ich mit Ihnen über Ihre Ausgangslage und zeige Lösungsmöglichkeiten auf. Auf Wunsch unterbreite ich Ihnen im Anschluss ein unverbindliches Angebot.

Kontaktieren Sie mich: Telefon 0211.9462 8572-16 oder per E-Mail info@erlebe-software.de
Ingo Biermann, Fachbereichsleiter

 

Wo liegt das Problem?

Die Anpassung eines Dynpros ohne Besonderheiten ist simpel: Jedes UI-Element kann einzeln angefasst und in seinen Eigenschaften verändert, verschoben oder ausgeblendet werden. Liegt jedoch ein Dynpro mit Tabs vor, wie in Abbildung 1 zu sehen, gibt es eine technisch begründete Schwierigkeit, die bei den ersten Versuchen ohne Hilfestellung durchaus eine Hürde darstellt.

Tabs in SAP Screen Personas

Transaktionsbild mit Tabs

Wie bei normalen Dynpros wechselt der Entwickler in den Bearbeitungsmodus und hat einen festen Plan: Von den vorhandenen Tabs sollen Informationen auf nur einigen wenigen Tabs aggregiert werden und alle anderen für den Benutzer ausgeblendet werden. Die dafür vorzunehmenden Schritte scheinen auch eindeutig: Tabs auswählen, Informationen per Drag & Drop aus den Tabs ziehen, Tab ausblenden und die Informationen in den gewünschten Tabs zusammenführen. Munter macht sich der Entwickler an die Arbeit: Bearbeitungsmodus, auf den zu ändernden Tab klicken – doch nichts passiert? Hier sind wir schon an der ersten, sehr trivialen Besonderheit: Mit dem einfachen Klick auf einen Tabreiter wählt man das UI-Element „Tabreiter“ aus, wodurch zum Beispiel Schriftfarbe und Hintergrund geändert werden können. Erst per Doppelklick auf den Tabreiter wird in den Bearbeitungsmodus der tatsächlichen Tab-Inhalte gewechselt.

Wo sind die Hürden?

Eine Menge von Tabreitern ist technisch in SAP Screen Personas in drei Teile, abgesehen vom eigentlichen „TabItemContent“, unterteilt:

1. TabControl
Der TabControl umfasst alle TabItems. Er ist sozusagen das Behältnis für alle Tabs und deren Inhalte und kontrolliert die Sichtbarkeit von TabItems und das Caching der Inhalte.

2. TabItem
Das TabItem kontrolliert die Verfügbarkeit und Anzeige des Tabs selbst sowie die Farben des Hintergrunds, der Schrift und des Rands. Dies ist das Element, das im Bearbeitungsmodus bei einem Doppelklick theoretisch in den Tab wechselt, wenn die Voraussetzungen erfüllt sind.

3. TabHeader
Der TabHeader steuert Inhalt und Sichtbarkeit des Textes.

Wichtig für den Entwickler ist das Wissen um das Zusammenspiel von TabControl und TabItem. Angenommen der Entwickler kopiert den Basic View, wechselt in den Bearbeitungsmodus und klickt doppelt auf das gewünschte Tabitem, passiert … nichts! Doch warum ist das so?

Die Mechanik des Cachings in SAP Screen Personas

Ein TabItem wechselt nur dann in den Bearbeitungsmodus, wenn dieser zuvor gecacht wurde. Genau hier kommt der TabControl ins Spiel. Dieser bildet in SAP Screen Personas den äußeren Rahmen um den Block der TabItems und TabItemContents und steuert wie oben kurz beschrieben die Sichtbarkeit, aber – für den Entwickler besonders interessant – auch das Caching der Inhalte. Wurde nichts gecacht, wird auch nichts angezeigt!

TabControl in SAP Screen Personas

SAP Screen Personas: Markierter TabControl um die TabItems

Mit einem Doppelklick auf diesen Rahmen im Bearbeitungsmodus öffnet sich das Popup, das die Basis für die Bearbeitung von Tabs bildet. In diesem unten zu sehenden Popup muss für die Bearbeitung von verschiedenen Tabs der Haken bei „Tab caching enabled“ gesetzt sein.

Caching in SAP Screen Personas

Steuerungspopup für Caching und Sichtbarkeit

Wird das Fenster dann bestätigt, erscheint ein neues Symbol neben den TabItems:

SAP Screen Personas aktiviertes Caching

Icon für aktiviertes Caching.

Anschließend muss einmal auf „Save & Exit“ geklickt werden. SAP Screen Personas cached dann sowohl die UI-Elemente als auch die kontextbezogenen Inhalte der TabItemContents. Sind alle Inhalte, die in der Spalte Caching zuvor mit dem einem Haken versehen wurden, gecacht, wird das Symbol grün:

SAP Screen Personas erfolgreiches Caching

Erfolgreich gecachte TabItems.

Jetzt kann im Bearbeitungsmodus wie gewünscht per Doppelklick in die anderen Tabs gewechselt werden. Auch die Inhalte können jetzt wie gewohnt aus den Tabs heraus- und in andere Tabs hineingezogen sowie zusätzliche Elemente eingebaut werden. Für eine bessere Performance und die Schonung von Ressourcen sollte ein Entwickler sich vor dem Cachen überlegen: Welche Tabs brauche ich für die Bearbeitung, welche muss ich cachen? Welche kann ich eventuell sowohl ausblenden als auch ungecacht lassen?

Bei diesen und weitergehenden Überlegungen unterstützen wir Sie gerne. Sprechen Sie uns an und informieren Sie sich über unsere Lösung, bei der Ihnen unsere Experten für SAP Screen Personas zur Verfügung stehen: SAP endlich benutzerfreundlicher mit SAP Screen Personas.

Technischer Hintergrund zum Caching

Hinter der, dem Addon eigenen, Mechanik des Cachings steht das Auslösen eines Round-Trips bei dem Wechsel von Tabs. Lässt ein Entwickler den Debugger mitlaufen, wird bei jedem Wechsel des Tabs ein Round-Trip ausgelöst und somit die PAI- und PBO-Blöcke der entsprechenden Dynpros durchlaufen. Im Bearbeitungsmodus von SAP Screen Personas werden alle Events unterbunden und damit auch kein Round-Trip ausgelöst. Es wird nicht mit dem Backend-Server kommuniziert, wodurch die Tabs nicht dynamisch geladen werden können. Dies macht das Cachen der TabItemContents erforderlich, da diese ansonsten im Bearbeitungsmodus nicht zur Verfügung ständen. Durch das Cachen wird der Round-Trip umgangen, alle im Dynpro möglichen Tabs sind bereits im Cache vorgehalten und somit ohne Round-Trip verfügbar. Dies ist aber wie bereits erwähnt durchaus eine besondere Belastung der Ressourcen und sollte daher zuvor gut durchdacht werden, um unnötig vorgehaltene Daten zu vermeiden.

 

Haben Sie auch schon Erfahrungen mit technischen Schwierigkeiten und funktionalen Grenzen in SAP Screen Personas gemacht? Teilen Sie diese mit mir, ich freue mich auf Ihr Feedback.


SHARE



Schreiben Sie einen Kommentar

Bitte füllen Sie alle mit * gekennzeichneten Felder aus. Ihre E-Mail Adresse wird nicht veröffentlicht.