[56153] in SAPr3-news
Re: Flatfile datenextraktion in SAP R/3
daemon@ATHENA.MIT.EDU (=?iso-8859-1?q?Mathias_Glo=DF?=)
Thu Dec 1 04:01:09 2005
To: sapr3-news@mit.edu
Date: 1 Dec 2005 01:00:54 -0800
From: "=?iso-8859-1?q?Mathias_Glo=DF?=" <mgloss@gmail.com>
Message-ID: <1133427654.054262.150210@g14g2000cwa.googlegroups.com>
Peter Hutter schrieb:
> ich suche dringend nach Informationen /Programmen / Funktionen um eine
> R/3 Tabelle als CSV - Flatfile zu extrahieren.
die sch=F6nste L=F6sung, die ich bisher gesehen habe lautet sinngem=E4=DF
(ungetestet)
eigentlich k=F6nnte man den Tabellennamen auch noch als Parameter mit
einbauen
und dann noch exzessiver mit field symbols hantieren :-)
Gr=FC=DFe, Mathias
REPORT z_extract.
constants:
c_limiter(1) type c value ',', "Komma getrennt
* c_limiter(1) type c value ';', "Strichpunkt getrennt
* c_limiter type x value '09'. "Tabgetrennt
data: ls_mara like mara,
ld_msg_text(255),
ld_filename(128) type c value 'c:\temp\data.xyz'.
open dataset ld_filename for output in text mode message ld_msg_text.
if sy-subrc ne 0.
write: 'Datei', ld_filename, 'konnte nicht ge=F6ffnet werden. Grund:
', ld_msg_text.
endif.
select * from mara into ls_mara.
perform write_row using ld_filename ls_mara c_limiter.
endselect.
close dataset ld_filename.
form write_row using is_mara structure mara
id_filename
id_limiter.
field-symbols: <fs>.
data: ld_row(1024).
do.
assign component sy-index of structure is_mara to <fs>.
if sy-subrc <> 0. exit. endif.
if sy-index =3D 1.
write <fs> to ld_row.
else.
concatenate ld_row <fs> into ld_row separated by id_limiter.
endif.
enddo.
transfer ld_row to id_filename.
endform.