SAP Jobsuche bei DV-Treff
Trölf
  • Trölf
  • SAP Forum - Neuling Thema Starter
vor 11 Jahre
Hallo Community,

ich habe ein kleines Programm das mir eine Tabelle als .CSV Datei speichern soll, was soweit auch alles funktioniert. Mein Problem ist das die .CSV Datei immer leer ist, heißt nur erstellt wird ohne Inhalt obwohl definitiv Inhalt in der Tabelle steht.

Hab hier mal die vereinfachte Version angehängt. Könnt ihr mit Tipps geben woran dies liegen kann?

types tab(4096) type c occurs 0. 
DATA : tab_download TYPE tab.    

DATA: BEGIN OF Daten_struktur OCCURS 0, 
arbgb TYPE t100-arbgb,
msgnr TYPE t100-msgnr,
text TYPE t100-text,
END OF Daten_struktur.

DATA: BEGIN OF Output OCCURS 0, 
arbgb(100) TYPE c,
msgnr(50) TYPE c,
text(100) TYPE c,
END OF test.

START-OF-SELECTION.

SELECT SINGLE *
    INTO CORRESPONDING FIELDS OF DATEN_STRUKTUR
    FROM t100.


MOVE DATEN_STRUKTUR-TEXT TO test-text.
move DATEN_STRUKTUR-MSGNR TO test-MSGNR.
MOVE DATEN_STRUKTUR-ARBGB to TEST-ARBGB.


CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
i_field_seperator    = ';' 
TABLES
i_tab_sap_data       = Output
CHANGING
i_tab_converted_data = TAB_DOWNLOAD 
EXCEPTIONS
conversion_failed    = 1
OTHERS               = 2.
IF sy-subrc = 0.
"Download data using GUI_DOWNLOAD
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\temp\test.csv'
filetype = 'ASC'
TABLES
data_tab = tab_download. 
ENDIF.

Vielen Dank im voraus!

Grüße

Tom

wreichelt
vor 11 Jahre
Hallo,

die Daten werden selektiert und abgelegt:

SELECT SINGLE *

INTO CORRESPONDING FIELDS OF DATEN_STRUKTUR

FROM t100.

Die Ausgabe der Tabelle erfolgt von:

TABLES

i_tab_sap_data = Output

in der Beschreibung DATA:

DATA: BEGIN OF Output OCCURS 0,

arbgb(100) TYPE c,

msgnr(50) TYPE c,

text(100) TYPE c,

END OF test.

ist ein Fehler: Bein of Output, End of Test.

Gruß

Wolfgang

Trölf
  • Trölf
  • SAP Forum - Neuling Thema Starter
vor 11 Jahre
Hallo Wolfgang,

vielen Dank für deine Antwort. Das mit dem Test war ein Übersetzungsfehler von mir.

types tab(4096) type c occurs 0.
DATA : tab_download TYPE tab.   
 
DATA: BEGIN OF Daten_struktur OCCURS 0,
arbgb TYPE t100-arbgb,
msgnr TYPE t100-msgnr,
text TYPE t100-text,
END OF Daten_struktur.
 
DATA: BEGIN OF Output OCCURS 0,
arbgb(100) TYPE c,
msgnr(50) TYPE c,
text(100) TYPE c,
END OF Output.
 
START-OF-SELECTION.
 
SELECT SINGLE *
    INTO CORRESPONDING FIELDS OF DATEN_STRUKTUR
    FROM t100.
 
 
MOVE DATEN_STRUKTUR-TEXT TO Output-text.
move DATEN_STRUKTUR-MSGNR TO Output-MSGNR.
MOVE DATEN_STRUKTUR-ARBGB to Output-ARBGB.
 
 
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
i_field_seperator    = ';'
TABLES
i_tab_sap_data       = Output
CHANGING
i_tab_converted_data = TAB_DOWNLOAD
EXCEPTIONS
conversion_failed    = 1
OTHERS               = 2.
IF sy-subrc = 0.
"Download data using GUI_DOWNLOAD
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:\temp\test.csv'
filetype = 'ASC'
TABLES
data_tab = tab_download.
ENDIF.

So sieht der Code original aus.

Was ich jett nicht verstehe ist wieso er mir eine Datei anlegt die leer ist. Über Output sollte ja die Ausgabe erfolgen. Im Debugger ist diese Tabelle auch gefüllt.

Hast du noch ein Idee?

Danke und Grüße

wreichelt
vor 11 Jahre
Hallo,

die Ausgabe der .CSV-Datei muss leer sein,

du füllst die Tabelle DATEN_STRUKTUR beim Select.

Beim CALL 'SAP_.... willst du die Tabelle OUTPUT ausgeben.

Ich kann nirgends sehen wie du die Tabelle OUTPUT füllst.

Gruß

Wolfgang

wreichelt
vor 11 Jahre
Hallo,

noch eien Ergänzung: füllen der TB Output

loop at daten_struktur.

MOVE DATEN_STRUKTUR-TEXT TO Output-text.

move DATEN_STRUKTUR-MSGNR TO Output-MSGNR.

MOVE DATEN_STRUKTUR-ARBGB to Output-ARBGB.

append output.

endloop.

Gruß

Wolfgang

es solle auch output[] = date-Struktur[]. gehen.

Gruß

Wolfgang