[56153] in SAPr3-news

home help back first fref pref prev next nref lref last post

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.


home help back first fref pref prev next nref lref last post