
Das InputField-Oberflächenelement erlaubt dem Benutzer, einen einzeiligen Text zu editieren oder anzuzeigen. Mit einem InputField können Sie einen beliebigen einfachen Datentyp editieren. Die Konvertierung von der internen in die Anzeige-Darstellung und bei Eingabe durch den Benutzer wieder zurück in die interne Darstellung erfolgt dabei automatisch. Tritt nach der Benutzereingabe bei der Konvertierung in die interne Darstellung ein Fehler auf, so wird der Wert nicht in den Context zurückgestellt, sondern verbleibt im Data Container. Bei der nächsten Anzeige wird das InputField mit dem fehlerhaften Wert rot umrandet und mit einer Fehlermeldung versehen angezeigt.
Die Überprüfung einer Eingabe erfolgt erst durch das Auslösen eines Roundtrips.
Um Benutzern bei der Eingabe die möglichen Werte anzuzeigen, können Sie an einem an Context-Attribut, das an die Eigenschaft value eines InputFields gebunden ist, eine Wertehilfe für dieses InputField definieren. Weitere Informationen finden Sie unter Eingabehilfen.
Um die Entwicklung barrierefreier Anwendungen zu ermöglichen, wird im Rahmen des Syntaxchecks die Eigenschaft label überprüft.
Wenn kein label gesetzt wurde und auch für das entsprechende gebundene Context-Element im ABAP-Dictionary kein Beschreibungstext angegeben wurde, findet eine Überprüfung auf die Eigenschaft tooltip statt.
Beachten Sie, dass der Wert des InputField auch im Passwort-Modus im Klartext übertragen wird. Anwendungen, die die Eigenschaft passwordField verwenden, sollten daher nur im HTTPS-Modus laufen
Sie können den HTTPS-Modus durch eine Einstellung am ICF-Service in der Transaktion SICF erreichen, indem Sie bei dem Knoten für Ihre Anwendung im HTTP-Service-Baum auf dem Reiter Anmelde-Daten als Sicherheitsanforderung SSL einstellen.
Beispiel für die visuelle Darstellung mit einem Label
Prüfung von Musseingabefeldern
Die Prüfung nach Musseingabefeldern ist nicht in Web Dynpro implementiert und ist auch künftig nicht vorgesehen
In den Anwendungen können Sie überprüfen, ob die Felder leer sind. Zu diesem Zweck gibt es eine Methode, die von der Anwendung verwendet wird.
Rufen Sie die Methode CL_WD_DYNAMIC_TOOL=>CHECK_MANDATORY_ATTRIBUTES in Ihrem Action-Handler oder in Methode wdDoBeforeAction auf. Ein Beispiel hierfür ist die Web-Dynpro-Anwendung WDR_TEST_MANDATORY.
In den Anwendungen können Sie überprüfen, ob die Musseingabefelder einer vollständigen View leer sind. Dabei werden auch personalisierte Musseingabefelder berücksichtigt.
Rufen Sie die Methode CL_WD_DYNAMIC_TOOL=>CHECK_MANDATORY_ATTR_ON_VIEW in Ihrem Action-Handler oder in Methode wdDoBeforeAction auf. Ein Beispiel hierfür ist die Web-Dynpro-Anwendung WDR_TEST_MANDATORY.
Designvorgaben für die Eigenschaften readOnly im Gegensatz zu enabled
Sie sollten nur dann Felder auf enabled=false setzen, wenn diese Felder für den Benutzer nicht relevant für seine momentane Arbeit sind und im Rahmen des aktuellen Kontextes auch nicht relevant sein werden. Aus diesem Grund wird ein Feld mit disabled=false auch so auf dem Bildschirm ausgegeben, dass die Aufmerksamkeit des Benutzers nicht darauf gelenkt wird. So wird in diesem Fall auch der Schrifttyp des Labels grau dargestellt, damit er sich dem ausgegrauten InputField anpasst.
Beispiel für ein InputField mit enabled=false:
Read-only Felder dagegen sollten nur für Felder verwendet werden, die relevant für die momentane Arbeit des Benutzers sind, und die auch zu einem späteren Zeitpunkt geändert werden können, jedoch nur nicht gerade in diesem Moment.
Daten, die relevant sind für den aktuellen Kontext, die aber hier niemals editierbar sind, sollten aktuell mittels eines TextViews dargestellt werden. Dies hat allerdings zur Folge, dass z.B. per Tastatur keine Feldhilfe aufgerufen werden kann und auch keine Feld-Explanation (siehe Hilfetexte in und für Web-Dynpro-Applikationen) angehängt werden kann.
Implementierungsdetails
|
Laufzeit-Klasse |
CL_WD_INPUT_FIELD |
Eigenschaften im View Designer
|
Name |
Typ |
Anfangswert |
Bindbar |
|---|---|---|---|
|
STRING |
(automatisch) |
nein |
|
|
WDY_BOOLEAN |
false |
nein |
|
|
WDUI_INPUT_FIELD_ALIGNMENT |
auto |
ja |
|
|
WDUI_CONTEXT_MENU_BEHAVIOUR |
inherit |
nein |
|
|
WDY_MD_UI_ELEMENT_REFERENCE |
nein |
||
|
WDY_MD_UI_ELEMENT_REFERENCE |
nein |
||
|
WDY_BOOLEAN |
false |
ja |
|
|
WDY_BOOLEAN |
false |
ja |
|
|
WDY_BOOLEAN |
true |
ja |
|
|
Übersetzbarer Text |
nein |
||
|
WDUI_IMEMODE |
auto |
ja |
|
| inputHelp |
WDUI_INPUTHELP |
auto |
ja |
|
Übersetzbarer Text |
ja |
||
|
l |
20 |
ja |
|
|
WDY_BOOLEAN |
false |
nein |
|
|
WDY_BOOLEAN |
false |
ja |
|
|
WDY_BOOLEAN |
false |
ja |
|
|
WDUI_STATE |
normal |
ja |
|
| styleClassName | STRING | ja | |
|
WDUI_SUGGEST_FILTER_METHOD |
prefixSearch |
ja |
|
|
WDY_BOOLEAN |
false |
ja |
|
|
WDY_BOOLEAN |
false |
ja |
|
|
WDUI_TEXT_DIRECTION |
inherit |
ja |
|
|
Übersetzbarer Text |
ja |
||
|
Übersetzbarer Text |
muss |
||
|
WDUI_VISIBILITY |
visible |
ja |
|
|
STRING |
ja |
Events im View Designer
|
Name |
|---|
Weitere Eigenschaften, die über Vererbung zur Verfügung stehen, sind in den dazugehörigen übergeordneten Klassen definiert. Die dazugehörigen Oberflächenelemente sind:
Dynamische Programmierung
Für die dynamische Programmierung stehen dieselben Eigenschaften, Ereignisse und Aggregationen zur Verfügung wie im View Designer. Beachten Sie dabei die unterschiedlichen Schreibweisen.
Dynamische Programmierung der Eigenschaften
|
View Designer Name |
Laufzeitname |
Typ |
|---|---|---|
|
ACTIVATE_ACCESS_KEY |
WDY_BOOLEAN |
|
|
ALIGNMENT |
WDUI_INPUT_FIELD_ALIGNMENT |
|
|
alignment: auto |
CL_WD_INPUT_FIELD=>E_ALIGNMENT-AUTO |
|
|
alignment: beginOfLine |
CL_WD_INPUT_FIELD=>E_ALIGNMENT-BEGIN_OF_LINE |
|
|
alignment: center |
CL_WD_INPUT_FIELD=>E_ALIGNMENT-CENTER |
|
|
alignment: endOfLine |
CL_WD_INPUT_FIELD=>E_ALIGNMENT-END_OF_LINE |
|
|
alignment: forcedLeft |
CL_WD_INPUT_FIELD=>E_ALIGNMENT-FORCED_LEFT |
|
|
alignment: forcedRight |
CL_WD_INPUT_FIELD=>E_ALIGNMENT-FORCED_RIGHT |
|
|
CONTEXT_MENU_BEHAVIOUR |
WDUI_CONTEXT_MENU_BEHAVIOUR |
|
|
contextMenuehaviour: inherit |
CL_WD_INPUT_FIELD=>E_CONTEXT_MENU_BEHAVIOUR-INHERIT |
|
|
contextMenuBehaviour: provide |
CL_WD_INPUT_FIELD=>E_CONTEXT_MENU_BEHAVIOUR-PROVIDE |
|
|
contextMenuBehaviour: suppress |
CL_WD_INPUT_FIELD=>E_CONTEXT_MENU_BEHAVIOUR-SUPPRESS |
|
|
CONTEXT_MENU_ID |
WDY_MD_UI_ELEMENT_REFERENCE |
|
|
DATE_PICKER_REFERENCE_ID |
WDY_MD_UI_ELEMENT_REFERENCE |
|
|
DISPLAY_AS_TEXT |
WDY_BOOLEAN |
|
|
DISPLAY_ONLY |
WDY_BOOLEAN |
|
|
ENABLED |
WDY_BOOLEAN |
|
|
EXPLANATION |
WDY_MD_TRANSLATABLE_TEXT |
|
|
IME_MODE |
WDUI_IMEMODE |
|
|
imeMode: active |
CL_WD_INPUT_FIELD=>E_IME_MODE-ACTIVE |
|
|
imeMode: auto |
CL_WD_INPUT_FIELD=>E_IME_MODE-AUTO |
|
|
imeMode: disabled |
CL_WD_INPUT_FIELD=>E_IME_MODE-DISABLED |
|
|
imeMode: inactive |
CL_WD_INPUT_FIELD=>E_IME_MODE-INACTIVE |
|
| inputHelp | INPUT_HELP | WDUI_INPUTHELP |
| inputHelp: auto | CL_WD_INPUT_FIELD=>E_INPUT_HELP-AUTO | |
| inputHelp: calculator | CL_WD_INPUT_FIELD=>E_INPUT_HELP-CALCULATOR | |
| inputHelp: none | CL_WD_INPUT_FIELD=>E_INPUT_HELP-NONE | |
| inputHelp: search | CL_WD_INPUT_FIELD=>E_INPUT_HELP-SEARCH | |
|
INPUT_PROMPT |
WDY_MD_TRANSLATABLE_TEXT |
|
|
LENGTH |
I |
|
|
NO_HISTORY |
WDY_BOOLEAN |
|
|
PASSWORD_FIELD |
WDY_BOOLEAN |
|
|
READ_ONLY |
WDY_BOOLEAN |
|
|
STATE |
WDUI_STATE |
|
|
state: normal |
CL_WD_INPUT_FIELD=>E_STATE-NORMAL |
|
|
state: required |
CL_WD_INPUT_FIELD=>E_STATE-REQUIRED |
|
| styleClassName | STYLE_CLASS_NAME | STRING |
|
SUGGEST_FILTER_METHOD |
WDUI_SUGGEST_FILTER_METHOD |
|
|
suggestFilterMethod: containsSearch |
CL_WD_INPUT_FIELD=>E_SUGGEST_FILTER_METHOD-CONTAINS |
|
|
suggestFilterMethod: prefixSearch |
CL_WD_INPUT_FIELD=>E_SUGGEST_FILTER_METHOD-PREFIX |
|
|
SUGGEST_VALUES |
WDY_BOOLEAN |
|
|
TEXT_DIRECTION |
WDUI_TEXT_DIRECTION |
|
|
textDirection: inherit |
CL_WD_INPUT_FIELD=>E_TEXT_DIRECTION-INHERIT |
|
|
textDirection: ltr |
CL_WD_INPUT_FIELD=>E_TEXT_DIRECTION-LTR |
|
|
textDirection: rtl |
CL_WD_INPUT_FIELD=>E_TEXT_DIRECTION-RTL |
|
|
TOOLTIP |
WDY_MD_TRANSLATABLE_TEXT |
|
|
VALUE |
WDY_MD_TRANSLATABLE_TEXT |
|
|
VISIBLE |
WDUI_VISIBILITY |
|
|
visible: none |
CL_WD_INPUT_FIELD=>E_VISIBLE-NONE |
|
|
visible: visible |
CL_WD_INPUT_FIELD=>E_VISIBLE-VISIBLE |
|
|
WIDTH |
STRING |
|
Dynamische Programmierung der Ereignisse
|
View Designer Name |
Laufzeitname |
|---|---|
|
ON_ENTER |
|
|
ON_TABLE_PASTE |
Beispiele für dieses Oberflächenelement finden Sie im System in der Web-Dynpro-Applikation WDR_TEST_UI_ELEMENTS sowie in der Component WDR_TEST_EVENTS in der View InputField.