Funktionsaustein SAP CONVERT TO CSV FORMAT

Aus SAP-Wiki
Wechseln zu: Navigation, Suche

Der Funktionsbaustein SAP_CONVERT_TO_CSV_FORMAT wandelt eine interne Tabelle in eine interne Tabelle im CSV-Format um.

Coding

 Types: ty_data type c length 4096.

 Data: lt_csv type STANDARD TABLE OF ty_data.

CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
  EXPORTING
    i_field_seperator    = ';'
  TABLES
    i_tab_sap_data       = lt_tab   "type standard table
  CHANGING
    i_tab_converted_data = lt_csv
  EXCEPTIONS
    conversion_failed    = 1
    OTHERS               = 2.

IF sy-subrc <> 0.
*  Implement suitable error handling here
ENDIF.

Feldkonvertierung

Bei der Umwandlung wird auch eine Feldkonvertierung vorgenommen.

  • Datumsfeld: "20161231" --> "31.12.2016"
  • Währungsfeld: "888999.12" --> "888999,12"

Es wird keine Konvertierung von Zahlenformaten vom Typ i unterstützt. Versucht man z. B. eine interne Tabelle vom Typ VBAK zu konvertieren, dann bricht der Funktionsbaustein mit einem Laufzeitfehler ab, wo auf die Nichtkonvertierbarkeit von Feldern vom Typ i hingewiesen wird, bzw. das nur zeichenartige Felder unterstützt werden. Entsprechend müssten diese Felder erst einmal einem zeichenartigen Feld zugewiesen werden.

Download CSV-Datei

Meist wird die CSV-Datei dann auf dem Frontend gespeichert werden.

 constants:  lc_11   type i   value 11,
             lc_12   type i   value 12,
             lc_13   type i   value 13,
             lc_14   type i   value 14,
             lc_15   type i   value 15,
             lc_16   type i   value 16,
             lc_17   type i   value 17,
             lc_18   type i   value 18,
             lc_19   type i   value 19,
             lc_20   type i   value 20,
             lc_21   type i   value 21,
             lc_22   type i   value 22,
             lc_23   type i   value 23,
             lc_24   type i   value 24.

* Download Datei
  call method cl_gui_frontend_services=>gui_download
    exporting
      filename                = iv_filename " Name der Datei
      filetype                = 'ASC'
    changing
      data_tab                = lt_csv  " Übergabetabelle
    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         = lc_11
      dp_error_send           = lc_12
      dp_error_write          = lc_13
      unknown_dp_error        = lc_14
      access_denied           = lc_15
      dp_out_of_memory        = lc_16
      disk_full               = lc_17
      dp_timeout              = lc_18
      file_not_found          = lc_19
      dataprovider_exception  = lc_20
      control_flush_error     = lc_21
      not_supported_by_gui    = lc_22
      error_no_gui            = lc_23
      others                  = lc_24.
 

Aufrufen CSV-Datei in Excel

Wird die CSV-Datei gestartet, dann wird meist das Programm Excel geöffnet und die Inhalte können schnell weiter bearbeitet werden.

  call method cl_gui_frontend_services=>execute
   exporting
     document               = iv_filename
    "application            = p_programm
    "parameter              = ld_parameter
   exceptions
     cntl_error             = 1
     error_no_gui           = 2
     bad_parameter          = 3
     file_not_found         = 4
     path_not_found         = 5
     file_extension_unknown = 6
     error_execute_failed   = 7
     synchronous_failed     = 8
     not_supported_by_gui   = 9
     others                 = 10.

Verwandte Funktionsbausteine

  • ALSM_EXCEL_TO_INTERNAL_TABLE
  • TEXT_CONVERT_CSV_TO_SAP
  • TEXT_CONVERT_TEX_TO_SAP
  • TEXT_CONVERT_TXT_TO_SAP
  • TEXT_CONVERT_XML_TO_SAP
  • SAP_CONVERT_TO_TEX_FORMAT
  • SAP_CONVERT_TO_TXT_FORMAT
  • SAP_CONVERT_TO_XLS_FORMAT
  • SAP_CONVERT_TO_XML_FORMAT

Web-Links