Hallo,
hier ein Beispiel:
du schreibst die Daten in eine Tabelle (Beispiel):
data: begin of tb occurs 0,
vbeln like vbak-vbeln, "Auftragsnummer
posnr like vbap-posnr, "Auftragsposition
end of tb.
data: tb1 type truxs_t_text_data.
data: tbx like line of tb1.
Dann die Tabelle für Excel vorbereiten:
* Tabelle tb für Ausgabe aufbereiten
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
I_FIELD_SEPERATOR = ';' "Zeichen kann nicht geänd.
* I_LINE_HEADER =
* I_FILENAME =
* I_APPL_KEEP = ' '
TABLES
I_TAB_SAP_DATA = tb
CHANGING
I_TAB_CONVERTED_DATA = tb1
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Jetzt die Tabelle ausgeben, da gibt es dann verschiedene Varianten a)
Präsententationsserver b) Applikationsserver
b)
if sy-batch ne space. "jetzt batch
open dataset p_file for output in text mode.
loop at tb1 into tbx.
transfer tbx to p_file.
endloop.
close dataset p_file.
endif.
a)
* kein Batch im Dialog
CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = p_file
filetype = 'ASC'
* IMPORTING
* filelength = size
TABLES
data_tab = tb1
EXCEPTIONS
file_open_error = 1
file_write_error = 2
invalid_filesize = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc ne 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Gruß Wolfgang