Zeilenweises Upload vom Client

Wahrscheinlich kennt jeder die Funktionsbausteine WS_UPLOAD und GUI_UPLOAD bzw. die Klasse CL_GUI_FRONTEND_SERVICES, um Daten vom PC in SAP hochzuladen. Bei großen Dateien kann man allerdings ein Hauptspeicherproblem bekommen, wenn die Daten komplett eingelesen werden. Der Baustein WS_UPLOAD bietet eine Alternative dazu…

Mit einem nur für „den internen Gebrauch“ dokumentierten Parameter, kann eine Datei zeilenweise eingelesen werden:

Coding

*** Data
DATA gt_tab       TYPE STANDARD TABLE OF text80.
DATA gv_count     TYPE i.

START-OF-SELECTION.

*** Upload
  CALL FUNCTION ‚WS_UPLOAD‘
    EXPORTING
      filename  = ‚D:temptest.txt‘
      line_exit = ‚USER‘            
      user_form = ‚CALLBACK_LINE‘   
      user_prog = sy-repid          

    TABLES
      data_tab  = gt_tab
    EXCEPTIONS
      OTHERS    = 11.
  IF sy-subrc <> 0.
    WRITE: / ‚Fehler beim Upload‘.
  ELSE.
    ULINE.
    WRITE: gv_count, ‚Zeilen wurden eingelesen‘.
  ENDIF.


*&———————————————————————*
*&      Form  callback_line
*&———————————————————————*
* Callback-Routine zum Zeilenweisen einlesen der Datei
*———————————————————————-*
FORM callback_line USING value(fi_line).

  WRITE: / fi_line.
  ADD 1 TO gv_count.

ENDFORM.

 

Enno Wulff
follow me