Dynamische interne Tabelle in CSV exportieren

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV

Dynamische interne Tabelle in CSV exportieren

Postby Aurelia4725 » Tue Apr 18, 2017 1:31 pm

Hi Gurus

habe ein Problem und komme nicht weiter. Hoffe ihr könnt mir weiterhelfen. Folgende Aufgabe habe ich zu lösen:

Ich habe über einen Fieldcatalog eine dynamische interne Tabelle aufgebaut.

LOOP AT it_gl_def INTO wa_gl_def.

CONCATENATE 'FELD_'
wa_gl_def-ind
INTO fname.

wa_fcat2-fieldname = fname.
wa_fcat2-tabname = 'GLOLIB'.
wa_fcat2-coltext = fname.
wa_fcat2-outputlen = 255.
wa_fcat2-col_pos = wa_gl_def-ind.
wa_fcat2-datatype = 'CHAR'.
wa_fcat2-dd_roll = 'KSTAR'.

APPEND wa_fcat2 TO it_fcat2.

CLEAR wa_fcat2.

ENDLOOP.

* Generieren von itab auf Grund von erzeugtem Fieldkatalog
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
i_style_table = 'X'
it_fieldcatalog = it_fcat2
IMPORTING
ep_table = it_dyn_tab
EXCEPTIONS
generate_subpool_dir_full = 1
OTHERS = 2.

Die erzeugte it_dyn_tab habe ich nun mit Werten befüllt. Am Ende soll dann der Inhalt der dynamischen Tabelle in ein CSV exportiert werden.

Meine it_dyn_tab hat pro Zeile aktuell 250 Felder, jedes Feld ist vom Typ CHAR und hat 255 Zeichen.

Hat jemand eine Idee, wie den Export hinbekomme?

Vielen Dank schon Mal im voraus.
Thomas
Aurelia4725
..
..
 
Posts: 25
Joined: Thu Sep 15, 2011 9:12 am

Re: Dynamische interne Tabelle in CSV exportieren

Postby Joeline5261 » Tue Apr 18, 2017 5:14 pm

Hallo,

hier ein Beispiel dazu:
natürlich muss das an deine Tabelle angepasst werden


data: satz1 type truxs_t_text_data.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
I_FIELD_SEPERATOR = ';'
* I_LINE_HEADER =
I_FILENAME = excfile
* I_APPL_KEEP = ' '
TABLES
I_TAB_SAP_DATA = satz
CHANGING
I_TAB_CONVERTED_DATA = satz1
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2.


CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = excfile
filetype = 'ASC'
TABLES
data_tab = satz1
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5.

Gruß Wolfgang
Joeline5261
...
...
 
Posts: 387
Joined: Thu Aug 18, 2005 2:42 pm

Re: Dynamische interne Tabelle in CSV exportieren

Postby Aurelia4725 » Thu Apr 20, 2017 4:01 pm

Hallo Wolfgang

danke für deine Antwort.

SAP_CONVERT_TO_CSV_FORMAT habe ich schon probiert. Der FB kann offenbar nicht mit dynamischen itabs umgehen. Und, truxs_t_text_data hat per Definition "nur" eine Länge von 4096 Zeichen. Das ist zu kurz.

Gruss
Thomas
Aurelia4725
..
..
 
Posts: 25
Joined: Thu Sep 15, 2011 9:12 am

Re: Dynamische interne Tabelle in CSV exportieren

Postby Cedrik1753 » Sat Apr 22, 2017 11:44 pm

Also erstmal würde ich dafür nicht diese umständliche Art über den FCAT machen, sondern über die Runtime Services. CL_ABAP_TABLEDESCR, CL_ABAP_STRUCTDESCR , zumal es sich alles um DDIC Felder zu handeln scheint.

Und dann würde ich mir mal CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD anschauen.

Mich würde allerdings interessieren, wozu man einen CSV Datei erstellt, die scheinbar eine Fixe Feldlänge hat. Das führt ein wenig den Sinn des CSV ad absurdum. Der Sinn ist ja gerade das bei einem Import es egal ist, ob das Zielfeld genauso groß oder grösser ist.

Das würde ich vielleicht noch mal validieren.
Cedrik1753
.
.
 
Posts: 3
Joined: Fri Mar 31, 2017 12:39 pm


Return to ABAP® Core

Who is online

Users browsing this forum: Google [Bot] and 4 guests

cron