Daten mit Benutzerdialog vom Präsentationsserver lesen
Um Daten vom Präsentationsserver in eine interne Tabelle mit Benutzerdialog einzulesen, verwenden Sie den Funktionsbaustein UPLOAD. Die wichtigsten Parameter sind unten aufgelistet. Weitere Informationen finden Sie in der Dokumentation zum Funktionsbaustein in Transaktion SE37.
Wichtige Importparameter
Parameter |
Funktion |
CODEPAGE |
Nur für Upload unter DOS: Wert IBM |
FILENAME |
Dateiname (Vorgabewert für Benutzerdialog) |
FILETYPE |
Dateityp (Vorgabewert für Benutzerdialog) |
ITEM |
Header für Benutzerdialogfenster |
Mit FILETYPE geben Sie den Übertragungsmodus an. Mögliche Werte:
Binäre Dateien
ASCII-Dateien: Textdateien mit Zeilenendemarkierungen
Excel-Dateien, die als Textdateien gesichert werden mit Spalten, die durch Tabulatoren getrennt sind, und Zeilen, die durch Zeilenschaltungen und Zeilenvorschübe getrennt sind.
Excel- und Lotus-Dateien, die als WK1-Spreadsheet gesichert werden.
Wichtige Exportparameter
Parameter |
Funktion |
FILESIZE |
Anzahl der übertragenen Bytes |
ACT_FILENAME |
Name der Datei (eingegeben im Benutzerdialog) |
ACT_FILETYPE |
Dateityp (eingegeben im Benutzerdialog) |
Tabellenparameter
Parameter |
Funktion |
DATA_TAB |
Interne Zieltabelle |
Ausnahmeparameter
Parameter |
Funktion |
CONVERSION_ERROR |
Fehler in der Datenkonvertierung |
INVALID_TABLE_WIDTH |
Ungültige Tabellenstruktur |
INVALID_TYPE |
Falscher Parameter FILETYPE |
Angenommen, das für die Präsentation verwendete Betriebssystem ist WINDOWS NT, und die Datei ist eine Excel-Tabelle:
Wenn diese Tabelle als Textdatei mit Tabulatoren zwischen den Spalten nach d:\temp\mytable.txt gesichert wird, kann das folgende Programm die Tabelle lesen:
REPORT demo_data_ext_upload.
DATA: fname TYPE rlgrap-filename,
ftype TYPE rlgrap-filetype,
fsize TYPE i.
TYPES: BEGIN OF line,
col1(10) TYPE c,
col2(10) TYPE c,
col3(10) TYPE c,
END OF line.
DATA: lin TYPE line,
tab TYPE TABLE OF line.
CALL FUNCTION 'UPLOAD'
EXPORTING
codepage = 'IBM'
filename = 'd:\temp\mytable.txt'
filetype = 'DAT'
item = 'Read Test für Excel File'(002)
IMPORTING
filesize = fsize
act_filename = fname
act_filetype = ftype
TABLES
data_tab = tab
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3.
IF sy-subrc NE 0.
MESSAGE e888(sabapdocu) WITH text-001.
ENDIF.
WRITE: 'SY-SUBRC:'(003), sy-subrc,
/ 'Name :'(004), (60) fname,
/ 'Type :'(005), ftype,
/ 'Size :'(006), fsize.
SKIP.
LOOP AT tab INTO lin.
WRITE: / lin-col1, lin-col2, lin-col3.
ENDLOOP.
Nach dem Starten dieses Programms erscheint das folgende Benutzerdialogfenster:
In diesem Fenster kann der Benutzer die Vorgabewerte ändern. Nach Anklicken von Übertragen überträgt das System die Daten aus der Datei d:\temp\mytable.txt in die interne Tabelle TAB.
Ausgabe:
SY-SUBRC: 0
Name : d:\temp\mytable.txt
Type : DAT
Size : 69
Billy the Kid
My Fair Lady
Herman the German
Conan the Barbarian
Der Inhalt der internen Tabelle TAB ist identisch mit dem Inhalt der ursprünglichen Excel-Tabelle.