*&H********************************************************************* *&H Programm: xxxxxxxxxxxxxxxx Datum: aa.bb.20cc * *&H Transaktionscode: keiner * *&H Arbeitsauftrag Nr. * *&H********************************************************************* *&H Entwickler: * *&H Abteilung : * *&D********************************************************************* *&D Programmbeschreibung: * *&D * *&A********************************************************************* *&A Programm-Aenderungen: * *&A +----------------------------------------------------------------+ * *&A ! Code ! Entwickler ! Titel / Aenderung ! * *&A +----------------------------------------------------------------+ * *&---------------------------------------------------------------------* REPORT xxxxxxxxxxxxxxx LINE-SIZE 132 MESSAGE-ID zfi. * Datendeklarationen TABLES: bseg, bkpf, bsis. TYPES: BEGIN OF t_bkpfbseg, bukrs LIKE bkpf-bukrs, belnr LIKE bkpf-belnr, gjahr LIKE bkpf-gjahr, buzei LIKE bseg-buzei, shkzg LIKE bseg-shkzg, dmbtr LIKE bseg-dmbtr, zuonr LIKE bseg-zuonr, sgtxt LIKE bseg-sgtxt, aufnr LIKE bseg-aufnr, hkont LIKE bseg-hkont, prctr LIKE bseg-prctr, blart LIKE bkpf-blart, bldat LIKE bkpf-bldat, budat LIKE bkpf-budat, monat LIKE bkpf-monat, bktxt LIKE bkpf-bktxt, END OF t_bkpfbseg. DATA: it_bkpfbseg TYPE TABLE OF t_bkpfbseg, wa_bkpfbseg TYPE t_bkpfbseg. DATA: wa_path TYPE string. DATA : BEGIN OF it_header OCCURS 0, line(50) TYPE c, END OF it_header. DATA: wa_header_line(50) TYPE c. * Selektionen SELECT-OPTIONS: bukrs1 FOR bsis-bukrs, belnr1 FOR bsis-belnr, gjahr1 FOR bsis-gjahr, budat1 FOR bkpf-budat, hkont1 FOR bsis-hkont, prctr1 FOR bsis-prctr. PARAMETERS: p_file(50) TYPE c DEFAULT 'c:\temp\ausgabe.txt'. START-OF-SELECTION. * Kopfzeilendruck WRITE 'bukrs|belnr|gjahr'. * Header-line fuellen wa_header_line = 'BUKRS'. APPEND wa_header_line TO it_header. wa_header_line = 'BELNR'. APPEND wa_header_line TO it_header. wa_header_line = 'GJAHR'. APPEND wa_header_line TO it_header. wa_header_line = 'BUZEI'. APPEND wa_header_line TO it_header. wa_header_line = 'SHKZG'. APPEND wa_header_line TO it_header. wa_header_line = 'DMBTR'. APPEND wa_header_line TO it_header. wa_header_line = 'ZUONR'. APPEND wa_header_line TO it_header. wa_header_line = 'SGTXT'. APPEND wa_header_line TO it_header. wa_header_line = 'AUFNR'. APPEND wa_header_line TO it_header. wa_header_line = 'HKONT'. APPEND wa_header_line TO it_header. wa_header_line = 'PRCTR'. APPEND wa_header_line TO it_header. wa_header_line = 'BLART'. APPEND wa_header_line TO it_header. wa_header_line = 'BLDAT'. APPEND wa_header_line TO it_header. wa_header_line = 'BUDAT'. APPEND wa_header_line TO it_header. wa_header_line = 'MONAT'. APPEND wa_header_line TO it_header. wa_header_line = 'BKTXT'. APPEND wa_header_line TO it_header. *somit wa_header = 'bukrs|belnr|gjahr|buzei|shkzg|dmbtr| * zuonr|sgtxt|aufnr|hkont|prctr|blart| * bldat|budat|monat|bktxt'. *APPEND wa_header TO it_header. * Belegzeilenselektion = Herzstueck SELECT bsis~bukrs bsis~belnr bsis~gjahr bsis~buzei bsis~shkzg bsis~dmbtr bsis~zuonr bsis~sgtxt bsis~aufnr bsis~hkont bsis~prctr bkpf~blart bkpf~bldat bkpf~budat bkpf~monat bkpf~bktxt FROM bsis INNER JOIN bkpf ON bsis~bukrs = bkpf~bukrs AND bsis~belnr = bkpf~belnr AND bsis~gjahr = bkpf~gjahr INTO wa_bkpfbseg WHERE bkpf~budat IN budat1 AND bsis~bukrs IN bukrs1 AND bsis~belnr IN belnr1 AND bsis~gjahr IN gjahr1 AND bsis~hkont IN hkont1 AND bsis~prctr IN prctr1. * Belegzeilendruck zur Kontrolle WRITE: / wa_bkpfbseg-bukrs, '|', wa_bkpfbseg-belnr, '|', wa_bkpfbseg-gjahr. APPEND wa_bkpfbseg TO it_bkpfbseg. CLEAR wa_bkpfbseg. ENDSELECT. wa_path = p_file. CALL FUNCTION 'GUI_DOWNLOAD' EXPORTING filename = wa_path filetype = 'ASC' write_field_separator = 'X' TABLES data_tab = it_bkpfbseg fieldnames = it_header EXCEPTIONS file_write_error = 1 no_batch = 2 gui_refuse_filetransfer = 3 invalid_type = 4 no_authority = 5 unknown_error = 6 header_not_allowed = 7 separator_not_allowed = 8 filesize_not_allowed = 9 header_too_long = 10 dp_error_create = 11 dp_error_send = 12 dp_error_write = 13 unknown_dp_error = 14 access_denied = 15 dp_out_of_memory = 16 disk_full = 17 dp_timeout = 18 file_not_found = 19 dataprovider_exception = 20 control_flush_error = 21 OTHERS = 22. IF sy-subrc <> 0. WRITE: / 'Fehler beim Datei-Download'. ENDIF.