
UI-Elemente besitzen eine Reihe von Eigenschaften. Für alle UI-Elemente, die zur Übergabe oder Darstellung von Daten genutzt werden können, beschreibt jeweils eine dieser Eigenschaften den Wert einer Benutzereingabe bzw. die Quelle der darzustellenden Daten.
Diese Eigenschaften können entweder zur Design-Zeit durch die Angabe eines Festwertes statisch festgelegt werden oder sie können auf ein Context-Element verweisen. Letzteres wird Bindung an ein Context-Element genannt. Zur Laufzeit wird dann der Wert des Context-Elementes angezeigt bzw. der Inhalt eines Eingabefeldes vom Bildschirm in das zum View-Element gehörige Context-Element transportiert.
Zwei einfache Beispiele veranschaulichen diese Prinzip:
Die beiden oben dargestellten Beispiele skizzieren zwei nahe liegende Anwendungsfälle: Den Transport eines Eingabewertes sowie die Versorgung eines UI-Elementes mit Anwendungsdaten. Zusätzlich lassen sich jedoch viele weitere Eigenschaften eines UI-Elementes an ein Context-Element binden. Als Beispiel sei and dieser Stelle noch die Länge eines Textfeldes oder die Breite einer Tabelle erwähnt. Ob der Wert einer Eigenschaft eines UI-Elementes festgelegt wird und damit in jeder Darstellung der View konstant ist oder ob der Wert an ein Context-Element gebunden wird, hängt von Gestaltung der Web-Dynpro-Component ab. Für Eigenschaften wie etwa value oder dataSource der beiden o.g. UI-Elemente ist eine Bindung an ein Context-Element zwingend vorgesehen.
Im Referenzteil dieser Dokumentation finden Sie eine tabellarische Beschreibung aller verfügbaren UI-Elemente, u.a. jeweils mit einer Verwendungserläuterung jeder einzelnen Eigenschaft. Im Rahmen derweiterführenden Konzepte von Web Dynpro für ABAP wird noch einmal detailliert auf dieDatenbindung von Oberflächen-Eigenschaften eingegangen.
Einrichten einer Datenbindung
Die Datenbindung einer UI-Elemente-Eigenschaft wird im Layout der View eingerichtet. In der Eigenschaftentabelle der eingebetteten UI-Elemente gibt es hierfür eigens eine Spalte Binding. Durch Klicken der jeweiligen Schaltfläche öffnet sich ein Dialogfenster welches Ihnen die zu dieser View gehörende Context-Struktur zur Auswahl eines Elementes anbietet.
Datenbindung mit Hilfe des Wizards
Für einige UI-Elemente gibt es zusätzlich einen Wizard, der die Gestaltung des UI-Elementes vereinfacht indem er die Struktur des zugehörigen Context-Knotens beim Gestalten des Layouts berücksichtigt. Ein Beispiel:
Sie starten den Wizard indem Sie im Kontextmenü eines geeigneten UI-Elementes in der Baumstruktur unter dem Root-Container den Eintrag Binding erzeugen wählen.
"NULLABLE" gekennzeichnete Attribute
Context-Aspekt (z.B. Suchfelder)
Motivation: Bei Suchfeldern ist relevant, ob ein Benutzer einen Wert im Suchfeld eingegeben hat, ob also der Inhalt des Suchfelds für die Suche benutzt werden soll. Solange das Suchfeld leer ist, hat es den Status NULL und wird nicht für die Suche verwendet.
UI-Aspekt
Ein als NULL-Feld gekennzeichentes Feld soll bei der Ausgabe nichts/ein leeres Feld aufweisen. Für einige UI-Elemente, die an ein Context-Attribut (beispielweise solche von einem numerischen Typ oder auch vom Typ T), gebunden sind, werden die Felder, für die kein Wert vorhanden ist, automatisch mit einem Null-Wert ausgegeben. Im Fall des Typs NUM4C ist dies der Wert "0000", im Fall des Typs T "00:00:00", usw. Für alle anderen UI-Elemente müssen Sie dieses Verhalten selbst implementieren.
Sie können in der Workbench bei den Context-Attribut-Eigenschaften auch den Eintrag Null-Wert deklarativ setzen. Siehe auchContext-Attribute anlegen und pflegen.
Dies gilt für alle Datentpyen, bei denen der Initialwert bei der Ausgabe auf dem Bildschirm ungleich dem Leer-String ist. Für String und Char-Datentypen gilt analog: Wenn das Attribut auf NULLABLE gestetzt ist und der Benutzer die Eingabe löscht, dann wird ebenfalls das dazugehörige Context-Attribut auf NULL gesetzt.