Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 11577

Re: How To UPLOAD a DATA (.DAT) fiel from PC to internal table and then split it into the data different columns

$
0
0

For every Auftrag, there are multiple Position entries.

Rest of the blocks don't seems to have any relation.

So you can check this code to see how internal table lt_str is built whose first 3 fields have data contained in Auftrag, and next 3 fields have Position data. The structure is flat, assuming that every Position record is related to preceding Auftrag.

 

Try out this snippet.

  1. DATA lt_data TYPETABLEOF string.
  2. DATA lv_data TYPE string.
  3. CALLMETHOD cl_gui_frontend_services=>gui_upload
  4.   EXPORTING
  5.     filename = 'C:\temp\test.txt'
  6.   CHANGING
  7.     data_tab = lt_data
  8.   EXCEPTIONS
  9.     OTHERS   = 19.
  10. CHECK sy-subrc EQ0.
  11. TYPES:
  12. BEGINOF ty_str,
  13.   a1 TYPE string,
  14.   a2 TYPE string,
  15.   a3 TYPE string,
  16.   p1 TYPE string,
  17.   p2 TYPE string,
  18.   p3 TYPE string,
  19. ENDOF ty_str.
  20. DATA: lt_str TYPETABLEOF ty_str,
  21.       ls_str TYPE ty_str,
  22.       lv_block TYPE string,
  23.       lv_flag TYPE boolean.
  24. LOOPAT lt_data INTO lv_data.
  25.   CASE lv_data.
  26.     WHEN'[Version]'OR'[StdSatz]'OR'[Arbeitstag]'OR'[Pecunia]'
  27.          OR'[Mita]'OR'[Kunde]'OR'[Auftrag]'OR'[Position]'.
  28.       lv_block = lv_data.
  29.       lv_flag = abap_false.
  30.     WHENOTHERS.
  31.       lv_flag = abap_true.
  32.   ENDCASE.
  33.   CHECK lv_flag EQ abap_true.
  34.   CASE lv_block.
  35.     WHEN'[Auftrag]'.
  36.       SPLIT lv_data AT';'INTO ls_str-a1 ls_str-a2 ls_str-a3.
  37.     WHEN'[Position]'.
  38.       SPLIT lv_data AT';'INTO ls_str-p1 ls_str-p2 ls_str-p3.
  39.       APPEND ls_str TO lt_str.
  40.   ENDCASE.
  41. ENDLOOP.

/.


Viewing all articles
Browse latest Browse all 11577

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>