!--a11y-->
FileUpload 
Das FileUpload-Oberflächenelement dient dazu, Dateien vom Client auf den Server hochzuladen. Das Oberflächenelement wird mit einem InputField, in welchem der Verzeichnispfad und der Name der Datei angezeigt wird, und einem Button zum Suchen der Datei dargestellt.

Beachten Sie, dass bei einem FileUpload-UI-Element immer der voll qualifizierte Pfad angegeben werden muss. Sie können also keine URLs angeben (siehe auch http://support.microsoft.com/kb/892442/en-us).
Aufgrund von Browser-Restriktionen, auf die das Web Dynpro ABAP keinerlei Einfluss hat, kann es sein, dass beim Anklicken eines FileUpload UI-Elements der vorher angegebene Dateipfad verschwindet. Bei neueren Browser-Versionen ist es daher unmöglich, den Dateinamen in das Eingabefeld zurück zu schreiben, das Feld bleibt immer leer. Lesen Sie hierzu alle Sicherheits-relevanten Informationen des Internet Explorer 6 über das Handling von <input type=file>.
Der Browser akzeptiert aus Sicherheitsgründen nur absolute Pfadangaben oder eine Pfadauswahl über den Browse… Schalter. Bei falschen Pfadangaben wird der Request vom Browser erst gar nicht weitergeleitet.
Es gibt keine Action, um einen FileUpload zu erkennen. Generell empfiehlt es sich, für den Upload einen dedizierten Screen oder ein Popup zu verwenden, da ein Upload durch jede Benutzerinteraktion, die einen Roundtrip erfordert, ausgelöst wird, z.B. auch durch Blättern einer Tabelle, und dies zu Irritation des Benutzers führen kann.
Prüfen Sie bei jeder Action, ob Daten hochgeladen wurden, indem Sie die Daten aus den Context lesen.
Löschen Sie die Daten danach gleich aus dem Context. Andernfalls würde die Datei bis zum Abbau des Contexts oder einem erneuten Upload im Speicher gehalten.

Beachten Sie auch die
Sicherheitshinweise
für FileUpload-UI-Elemente.

Bei der Kopie von XSTRING zu XSTRING wird aufgrund des ABAP-String-Sharings keine Kopie der Daten erstellt. Eine Kopie entsteht erst, wenn die Daten in einem der XSTRINGs modifiziert werden.

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.
Beispiele (mit Label)
|
|
|
Laufzeit-Klasse |
CL_WD_FILE_UPLOAD |
Eigenschaften im View Designer
Name |
Typ |
Anfangswert |
Bindbar |
id |
STRING |
(automatisch) |
nein |
XSTRING |
|
muss |
|
WDY_BOOLEAN |
true |
ja |
|
Übersetzbarer Text |
|
nein |
|
STRING |
|
ja |
|
STRING |
|
ja |
|
WDUI_TEXT_DIRECTION |
inherit |
ja |
|
Übersetzbarer Text |
|
ja |
|
WDUI_VISIBILITY |
visible |
ja |
|
STRING |
|
ja |

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 |
DATA |
XSTRING |
|
ENABLED |
WDY_BOOLEAN |
|
EXPLANATION |
WDY_MD_TRANSLATABLE_TEXT |
|
FILE_NAME |
STRING |
|
MIME_TYPE |
STRING |
|
TEXT_DIRECTION |
WDUI_TEXT_DIRECTION |
|
textDirection: inherit |
CL_WD_FILE_UPLOAD=>E_TEXT_DIRECTION-INHERIT |
|
textDirection: ltr |
CL_WD_FILE_UPLOAD=>E_TEXT_DIRECTION-LTR |
|
textDirection: rtl |
CL_WD_FILE_UPLOAD=>E_TEXT_DIRECTION-RTL |
|
TOOLTIP |
WDY_MD_TRANSLATABLE_TEXT |
|
VISIBLE |
WDUI_VISIBILITY |
|
visible: none |
CL_WD_FILE_UPLOAD=>E_VISIBLE-NONE |
|
visible: visible |
CL_WD_FILE_UPLOAD=>E_VISIBLE-VISIBLE |
|
WIDTH |
STRING |
|
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 FileUpload.