[59361] in SAPr3-news
Re: Abap-liste in excel-datei????
daemon@ATHENA.MIT.EDU (wolfgang.reichelt1@gmx.de)
Wed May 16 07:38:49 2007
To: sapr3-news@mit.edu
Date: 16 May 2007 04:38:39 -0700
From: wolfgang.reichelt1@gmx.de
Message-ID: <1179315519.168200.236820@h2g2000hsg.googlegroups.com>
On 16 Mai, 11:40, J=F6rg Pulmann <pferde2...@gmx.de> wrote:
> Hallo, ich m=F6chte ein Abap-Programm automatisch laufen lassen welches e=
ine
> Excel-Datei erzeugen soll wie bekomme ich eine interne Tabelle in eine
> Excel-Datei??
>
> Manuell kann man ja mit liste speichern unter was machen aber als
> Hintergrundjob???
>
> Gru=DF
> J=F6rg
Hallo J=F6rg,
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=FCr Excel vorbereiten:
* Tabelle tb f=FCr Ausgabe aufbereiten
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
EXPORTING
I_FIELD_SEPERATOR =3D ';' "Zeichen kann nicht ge=E4nd.
* I_LINE_HEADER =3D
* I_FILENAME =3D
* I_APPL_KEEP =3D ' '
TABLES
I_TAB_SAP_DATA =3D tb
CHANGING
I_TAB_CONVERTED_DATA =3D tb1
EXCEPTIONS
CONVERSION_FAILED =3D 1
OTHERS =3D 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 gibts dann verschiedene Varianten a)
Pr=E4stentationsserver 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 =3D p_file
filetype =3D 'ASC'
* IMPORTING
* filelength =3D size
TABLES
data_tab =3D tb1
EXCEPTIONS
file_open_error =3D 1
file_write_error =3D 2
invalid_filesize =3D 3
invalid_type =3D 4
no_batch =3D 5
unknown_error =3D 6
invalid_table_width =3D 7
gui_refuse_filetransfer =3D 8
customer_error =3D 9
OTHERS =3D 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.
Hoffe es hilft.
Gru=DF Wolfgang