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.