Daten mit Benutzerdialog auf den Präsentationsserver schreiben
Um Daten aus einer internen Tabelle mit Benutzerdialog auf den Präsentationsserver zu schreiben, benutzen Sie den Funktionsbaustein DOWNLOAD. Die wichtigsten Parameter sind unten aufgelistet. Weitere Informationen finden Sie in der Dokumentation zum Funktionsbaustein in Transaktion SE37.
Wichtige Importparameter
Parameter |
Funktion |
BIN_FILESIZE |
Dateilänge für binäre Dateien |
CODEPAGE |
Nur für Download unter DOS: Wert IBM |
FILENAME |
Dateiname (Vorgabewert für Benutzerdialog) |
FILETYPE |
Dateityp (Vorgabewert für Benutzerdialog) |
ITEM |
Überschrift für Benutzerdialogfenster |
MODE |
Schreibmodus (leer = überschreiben, 'A' = anhängen) |
Mit FILETYPE geben Sie den Übertragungsmodus an. Mögliche Werte:
Binäre Dateien: Sie müssen die Dateilänge angeben. Die interne Tabelle muß aus einer Spalte mit Datentyp X bestehen.
ASCII-Dateien.
Excel-Dateien: Die Spalten werden durch Tabulatoren getrennt, die Zeilen durch Zeilenschaltungen und Zeilenvorschübe.
Excel- und Lotus-Dateien: Die Daten werden in ein WK1-Spreadsheet geschrieben.
Wichtige Exportparameter
Parameter |
Funktion |
ACT_FILENAME |
Dateiname (eingegeben im Benutzerdialog) |
ACT_FILETYPE |
Dateityp (eingegeben im Benutzerdialog) |
FILESIZE |
Anzahl der übertragenen Bytes |
Table Parameters
Parameter |
Funktion |
DATA_TAB |
Interne Quelltabelle |
Ausnahmeparameter
Parameter |
Funktion |
INVALID_FILESIZE |
Ungültiger Parameter BIN_FILESIZE |
INVALID_TABLE_WIDTH |
Ungültige Tabellenstruktur |
INVALID_TYPE |
Ungültiger Wert für Parameter FILETYPE |
Angenommen, das für die Präsentation verwendete Betriebssystem ist WINDOWS NT und das folgende Programm liegt vor:
REPORT demo_data_ext_download.
DATA: name TYPE rlgrap-filename, typ TYPE rlgrap-filetype,
fname TYPE rlgrap-filename, ftype TYPE rlgrap-filetype,
fsize TYPE i.
TYPES: BEGIN OF line,
col1 TYPE i,
col2 TYPE i,
END OF line.
DATA: lin TYPE line,
tab TYPE TABLE OF line.
DO 5 TIMES.
lin-col1 = sy-index.
lin-col2 = sy-index ** 2.
APPEND lin TO tab.
ENDDO.
name = 'C:\temp\saptest.xls'.
typ = 'DAT'.
CALL FUNCTION 'DOWNLOAD'
EXPORTING
codepage = 'IBM'
filename = name
filetype = typ
item = 'Test für Excel File'(005)
IMPORTING
act_filename = fname
act_filetype = ftype
filesize = fsize
TABLES
data_tab = tab
EXCEPTIONS
invalid_filesize = 1
invalid_table_width = 2
invalid_type = 3.
IF sy-subrc NE 0.
MESSAGE e888(sabapdocu) WITH text-006.
ENDIF.
WRITE: 'SY-SUBRC:'(001), sy-subrc,
/ 'Name :'(002), (60) fname,
/ 'Type :'(003), ftype,
/ 'Size :'(004), fsize.
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 internen Tabelle TAB, die im Programm gefüllt wurde, in die Datei d:\temp\saptest.xls. Wenn die Datei bereits existiert, fragt das System den Benutzer, ob sie ersetzt werden soll. Das System fügt Tabulatoren zwischen den Spalten sowie Zeilenschaltungen und Zeilenvorschübe am Ende jeder Zeile ein.
Ausgabe:
SY-SUBRC: 0
Name : d:\temp\saptest.xls
Type : DAT
Size : 27
Die Datei d:\temp\saptest.xls kann jetzt aus Excel heraus auf dem Präsentationsserver geöffnet werden. Das Excel-Bild sieht dann so aus: