InputField
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 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.
Siehe auch:
Beispiel für die visuelle Darstellung mit einem Label

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.
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.
Laufzeit-Klasse |
CL_WD_INPUT_FIELD |
Eigenschaften im View Designer
Name |
Typ |
Anfangswert |
Bindbar |
id |
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_BOOLEAN |
true |
ja |
|
Übersetzbarer Text |
|
nein |
|
WDUI_IMEMODE |
auto |
ja |
|
I |
20 |
ja |
|
WDY_BOOLEAN |
false |
ja |
|
WDY_BOOLEAN |
false |
ja |
|
WDUI_STATE |
normal |
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:
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 |
|
contextMenuBehaviour: 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 |
|
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 |
|
LENGTH |
I |
|
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 |
|
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 |
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.