<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: program to upload csv file to internal table and insert into database table in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219858#M1008304</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ravi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your suggestion was useful for me.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Chitra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 17 May 2010 11:37:40 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2010-05-17T11:37:40Z</dc:date>
    <item>
      <title>program to upload csv file to internal table and insert into database table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219853#M1008299</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi I'm writing a program where I need to upload a csv file into an internal table using gui_upload, but i also need this program to insert the data into my custom database table using the split command.  Anybody have any samples to help, its urgent!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Jul 2008 17:34:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219853#M1008299</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-20T17:34:40Z</dc:date>
    </item>
    <item>
      <title>Re: program to upload csv file to internal table and insert into database table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219854#M1008300</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this table may be it will give u an hint...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT z_table_upload LINE-SIZE 255.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DATA: it_dd03p TYPE TABLE OF dd03p,&lt;/P&gt;&lt;P&gt;      is_dd03p TYPE dd03p.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_rdata  TYPE TABLE OF text1024,&lt;/P&gt;&lt;P&gt;      is_rdata  TYPE text1024.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_fields TYPE TABLE OF fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_file  TYPE REF TO data,&lt;/P&gt;&lt;P&gt;      is_file  TYPE REF TO data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: w_error  TYPE text132.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Macros&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;DEFINE write_error.&lt;/P&gt;&lt;P&gt;  concatenate 'Error: table'&lt;/P&gt;&lt;P&gt;              p_table&lt;/P&gt;&lt;P&gt;              &amp;amp;1&lt;/P&gt;&lt;P&gt;              &amp;amp;2&lt;/P&gt;&lt;P&gt;         into w_error&lt;/P&gt;&lt;P&gt;         separated by space.&lt;/P&gt;&lt;P&gt;  condense w_error.&lt;/P&gt;&lt;P&gt;  write: / w_error.&lt;/P&gt;&lt;P&gt;  stop.&lt;/P&gt;&lt;P&gt;END-OF-DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Field symbols&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;table&amp;gt; TYPE STANDARD TABLE,&lt;/P&gt;&lt;P&gt;               &amp;lt;data&amp;gt;  TYPE ANY,&lt;/P&gt;&lt;P&gt;               &amp;lt;fs&amp;gt;    TYPE ANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK b01 WITH FRAME TITLE text-b01.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_file  TYPE localfile DEFAULT 'C:\temp\' OBLIGATORY,&lt;/P&gt;&lt;P&gt;            p_separ TYPE c DEFAULT ';' OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b01.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK b02 WITH FRAME TITLE text-b02.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_table TYPE tabname OBLIGATORY&lt;/P&gt;&lt;P&gt;                                 MEMORY ID dtb&lt;/P&gt;&lt;P&gt;                                 MATCHCODE OBJECT dd_dbtb_16.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b02.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK b03 WITH FRAME TITLE text-b03.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_create TYPE c AS CHECKBOX.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b03,&lt;/P&gt;&lt;P&gt;                  SKIP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: BEGIN OF BLOCK b04 WITH FRAME TITLE text-b04.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_nodb RADIOBUTTON GROUP g1 DEFAULT 'X'&lt;/P&gt;&lt;P&gt;                               USER-COMMAND rg1,&lt;/P&gt;&lt;P&gt;            p_save RADIOBUTTON GROUP g1,&lt;/P&gt;&lt;P&gt;            p_dele RADIOBUTTON GROUP g1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: SKIP.&lt;/P&gt;&lt;P&gt;PARAMETERS: p_test TYPE c AS CHECKBOX,&lt;/P&gt;&lt;P&gt;            p_list TYPE c AS CHECKBOX DEFAULT 'X'.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN: END OF BLOCK b04.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;  IF sy-ucomm = 'RG1'.&lt;/P&gt;&lt;P&gt;    IF p_nodb IS INITIAL.&lt;/P&gt;&lt;P&gt;      p_test = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;At selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'F4_FILENAME'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            field_name = 'P_FILE'&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            file_name  = p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Start of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_table_definition USING p_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_upload_data USING p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_prepare_table USING p_table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM f_process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_nodb IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM f_modify_table.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF p_list = 'X'.&lt;/P&gt;&lt;P&gt;    PERFORM f_list_records.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM f_table_definition                                       *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(IN_TABLE)                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_table_definition USING value(in_table).&lt;/P&gt;&lt;P&gt;  DATA: l_tname TYPE tabname,&lt;/P&gt;&lt;P&gt;        l_state TYPE ddgotstate,&lt;/P&gt;&lt;P&gt;        l_dd02v TYPE dd02v.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_tname = in_table.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DDIF_TABL_GET'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            name          = l_tname&lt;/P&gt;&lt;P&gt;       IMPORTING&lt;/P&gt;&lt;P&gt;            gotstate      = l_state&lt;/P&gt;&lt;P&gt;            dd02v_wa      = l_dd02v&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            dd03p_tab     = it_dd03p&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            illegal_input = 1&lt;/P&gt;&lt;P&gt;            OTHERS        = 2.&lt;/P&gt;&lt;P&gt;  IF l_state NE 'A'.&lt;/P&gt;&lt;P&gt;    write_error 'does not exist or is not active' space.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  IF l_dd02v-tabclass NE 'TRANSP' AND&lt;/P&gt;&lt;P&gt;     l_dd02v-tabclass NE 'CLUSTER'.&lt;/P&gt;&lt;P&gt;    write_error 'is type' l_dd02v-tabclass.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM f_prepare_table                                          *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(IN_TABLE)                                               *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_prepare_table USING value(in_table).&lt;/P&gt;&lt;P&gt;  DATA: l_tname TYPE tabname,&lt;/P&gt;&lt;P&gt;        lt_ftab TYPE lvc_t_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_tname = in_table.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            i_structure_name = l_tname&lt;/P&gt;&lt;P&gt;       CHANGING&lt;/P&gt;&lt;P&gt;            ct_fieldcat      = lt_ftab&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS           = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;    WRITE: / 'Error while building field catalog'.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD cl_alv_table_create=&amp;gt;create_dynamic_table&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      it_fieldcatalog = lt_ftab&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ep_table        = it_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ASSIGN it_file-&amp;gt;* TO &amp;lt;table&amp;gt;.&lt;/P&gt;&lt;P&gt;  CREATE DATA is_file LIKE LINE OF &amp;lt;table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ASSIGN is_file-&amp;gt;* TO &amp;lt;data&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM f_upload_data                                            *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  VALUE(IN_FILE)                                                *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_upload_data USING value(in_file).&lt;/P&gt;&lt;P&gt;  DATA: l_file    TYPE string,&lt;/P&gt;&lt;P&gt;        l_ltext   TYPE string.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_lengt   TYPE i,&lt;/P&gt;&lt;P&gt;        l_field   TYPE fieldname.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: l_missk   TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  l_file = in_file.&lt;/P&gt;&lt;P&gt;  l_lengt = strlen( in_file ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FORMAT INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;  WRITE: / 'Reading file', in_file(l_lengt).&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'GUI_UPLOAD'&lt;/P&gt;&lt;P&gt;       EXPORTING&lt;/P&gt;&lt;P&gt;            filename = l_file&lt;/P&gt;&lt;P&gt;            filetype = 'ASC'&lt;/P&gt;&lt;P&gt;       TABLES&lt;/P&gt;&lt;P&gt;            data_tab = it_rdata&lt;/P&gt;&lt;P&gt;       EXCEPTIONS&lt;/P&gt;&lt;P&gt;            OTHERS   = 1.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    WRITE: /3 'Error uploading', l_file.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;File not empty&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE it_rdata LINES sy-tmaxl.&lt;/P&gt;&lt;P&gt;  IF sy-tmaxl = 0.&lt;/P&gt;&lt;P&gt;    WRITE: /3 'File', l_file, 'is empty'.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    WRITE: '-', sy-tmaxl, 'rows read'.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;File header on first row&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  READ TABLE it_rdata INTO is_rdata INDEX 1.&lt;/P&gt;&lt;P&gt;  l_ltext = is_rdata.&lt;/P&gt;&lt;P&gt;  WHILE l_ltext CS p_separ.&lt;/P&gt;&lt;P&gt;    SPLIT l_ltext AT p_separ INTO l_field l_ltext.&lt;/P&gt;&lt;P&gt;    APPEND l_field TO it_fields.&lt;/P&gt;&lt;P&gt;  ENDWHILE.&lt;/P&gt;&lt;P&gt;  IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;    l_field = l_ltext.&lt;/P&gt;&lt;P&gt;    APPEND l_field TO it_fields.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check all key fields are present&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: /3 'Key fields'.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  LOOP AT it_dd03p INTO is_dd03p WHERE NOT keyflag IS initial.&lt;/P&gt;&lt;P&gt;    WRITE: /3 is_dd03p-fieldname.&lt;/P&gt;&lt;P&gt;    READ TABLE it_fields WITH KEY table_line = is_dd03p-fieldname&lt;/P&gt;&lt;P&gt;                         TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR COL_POSITIVE.&lt;/P&gt;&lt;P&gt;      WRITE: 'ok'.&lt;/P&gt;&lt;P&gt;      FORMAT RESET.&lt;/P&gt;&lt;P&gt;    ELSEIF is_dd03p-datatype NE 'CLNT'.&lt;/P&gt;&lt;P&gt;      FORMAT COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;      WRITE: 'error'.&lt;/P&gt;&lt;P&gt;      FORMAT RESET.&lt;/P&gt;&lt;P&gt;      l_missk = 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Log other fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: /3 'Other fields'.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  LOOP AT it_dd03p INTO is_dd03p WHERE keyflag IS initial.&lt;/P&gt;&lt;P&gt;    WRITE: /3 is_dd03p-fieldname.&lt;/P&gt;&lt;P&gt;    READ TABLE it_fields WITH KEY table_line = is_dd03p-fieldname&lt;/P&gt;&lt;P&gt;                         TRANSPORTING NO FIELDS.&lt;/P&gt;&lt;P&gt;    IF sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      WRITE: 'X'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Missing key field&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF l_missk = 'X'.&lt;/P&gt;&lt;P&gt;    SKIP.&lt;/P&gt;&lt;P&gt;    WRITE: /3 'Missing key fields - no further processing'.&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM f_process_data                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_process_data.&lt;/P&gt;&lt;P&gt;  DATA: l_ltext TYPE string,&lt;/P&gt;&lt;P&gt;        l_stext TYPE text40,&lt;/P&gt;&lt;P&gt;        l_field TYPE fieldname,&lt;/P&gt;&lt;P&gt;        l_datat TYPE c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_rdata INTO is_rdata FROM 2.&lt;/P&gt;&lt;P&gt;    l_ltext = is_rdata.&lt;/P&gt;&lt;P&gt;    LOOP AT it_fields INTO l_field.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT l_field OF STRUCTURE &amp;lt;data&amp;gt; TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;      IF sy-subrc = 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Field value comes from file, determine conversion&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        DESCRIBE FIELD &amp;lt;fs&amp;gt; TYPE l_datat.&lt;/P&gt;&lt;P&gt;        CASE l_datat.&lt;/P&gt;&lt;P&gt;          WHEN 'N'.&lt;/P&gt;&lt;P&gt;            SPLIT l_ltext AT p_separ INTO l_stext l_ltext.&lt;/P&gt;&lt;P&gt;            WRITE l_stext TO &amp;lt;fs&amp;gt; RIGHT-JUSTIFIED.&lt;/P&gt;&lt;P&gt;            OVERLAY &amp;lt;fs&amp;gt; WITH '0000000000000000'.           "max 16&lt;/P&gt;&lt;P&gt;          WHEN 'P'.&lt;/P&gt;&lt;P&gt;            SPLIT l_ltext AT p_separ INTO l_stext l_ltext.&lt;/P&gt;&lt;P&gt;            TRANSLATE l_stext USING ',.'.&lt;/P&gt;&lt;P&gt;            &amp;lt;fs&amp;gt; = l_stext.&lt;/P&gt;&lt;P&gt;          WHEN 'F'.&lt;/P&gt;&lt;P&gt;            SPLIT l_ltext AT p_separ INTO l_stext l_ltext.&lt;/P&gt;&lt;P&gt;            TRANSLATE l_stext USING ',.'.&lt;/P&gt;&lt;P&gt;            &amp;lt;fs&amp;gt; = l_stext.&lt;/P&gt;&lt;P&gt;          WHEN 'D'.&lt;/P&gt;&lt;P&gt;            SPLIT l_ltext AT p_separ INTO l_stext l_ltext.&lt;/P&gt;&lt;P&gt;            TRANSLATE l_stext USING '/.-.'.&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                      date_external = l_stext&lt;/P&gt;&lt;P&gt;                 IMPORTING&lt;/P&gt;&lt;P&gt;                      date_internal = &amp;lt;fs&amp;gt;&lt;/P&gt;&lt;P&gt;                 EXCEPTIONS&lt;/P&gt;&lt;P&gt;                      OTHERS        = 1.&lt;/P&gt;&lt;P&gt;          WHEN 'T'.&lt;/P&gt;&lt;P&gt;            CALL FUNCTION 'CONVERT_TIME_INPUT'&lt;/P&gt;&lt;P&gt;                 EXPORTING&lt;/P&gt;&lt;P&gt;                      input  = l_stext&lt;/P&gt;&lt;P&gt;                 IMPORTING&lt;/P&gt;&lt;P&gt;                      output = &amp;lt;fs&amp;gt;&lt;/P&gt;&lt;P&gt;                 EXCEPTIONS&lt;/P&gt;&lt;P&gt;                      OTHERS = 1.&lt;/P&gt;&lt;P&gt;          WHEN OTHERS.&lt;/P&gt;&lt;P&gt;            SPLIT l_ltext AT p_separ INTO &amp;lt;fs&amp;gt; l_ltext.&lt;/P&gt;&lt;P&gt;        ENDCASE.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        SHIFT l_ltext UP TO p_separ.&lt;/P&gt;&lt;P&gt;        SHIFT l_ltext.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    IF NOT &amp;lt;data&amp;gt; IS INITIAL.&lt;/P&gt;&lt;P&gt;      LOOP AT it_dd03p INTO is_dd03p WHERE datatype = 'CLNT'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This field is mandant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt;&lt;/P&gt;&lt;P&gt;                                                      TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs&amp;gt; = sy-mandt.&lt;/P&gt;&lt;P&gt;      ENDLOOP.&lt;/P&gt;&lt;P&gt;      IF p_create = 'X'.&lt;/P&gt;&lt;P&gt;        IF is_dd03p-rollname = 'ERDAT'.&lt;/P&gt;&lt;P&gt;          ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt;&lt;/P&gt;&lt;P&gt;                                                        TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;          &amp;lt;fs&amp;gt; = sy-datum.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF is_dd03p-rollname = 'ERZET'.&lt;/P&gt;&lt;P&gt;          ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt;&lt;/P&gt;&lt;P&gt;                                                        TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;          &amp;lt;fs&amp;gt; = sy-uzeit.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        IF is_dd03p-rollname = 'ERNAM'.&lt;/P&gt;&lt;P&gt;          ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt;&lt;/P&gt;&lt;P&gt;                                                        TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;          &amp;lt;fs&amp;gt; = sy-uname.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF is_dd03p-rollname = 'AEDAT'.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt;&lt;/P&gt;&lt;P&gt;                                                      TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs&amp;gt; = sy-datum.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF is_dd03p-rollname = 'AETIM'.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt;&lt;/P&gt;&lt;P&gt;                                                      TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs&amp;gt; = sy-uzeit.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      IF is_dd03p-rollname = 'AENAM'.&lt;/P&gt;&lt;P&gt;        ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt;&lt;/P&gt;&lt;P&gt;                                                      TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;        &amp;lt;fs&amp;gt; = sy-uname.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      APPEND &amp;lt;data&amp;gt; TO &amp;lt;table&amp;gt;.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM f_modify_table                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_modify_table.&lt;/P&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  IF p_save = 'X'.&lt;/P&gt;&lt;P&gt;    MODIFY (p_table) FROM TABLE &amp;lt;table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ELSEIF p_dele = 'X'.&lt;/P&gt;&lt;P&gt;    DELETE (p_table) FROM TABLE &amp;lt;table&amp;gt;.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_POSITIVE.&lt;/P&gt;&lt;P&gt;    IF p_save = 'X'.&lt;/P&gt;&lt;P&gt;      WRITE: /3 'Modify table OK'.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      WRITE: /3 'Delete table OK'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    FORMAT RESET.&lt;/P&gt;&lt;P&gt;    IF p_test IS INITIAL.&lt;/P&gt;&lt;P&gt;      COMMIT WORK.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      ROLLBACK WORK.&lt;/P&gt;&lt;P&gt;      WRITE: '- test only, no update'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_NEGATIVE.&lt;/P&gt;&lt;P&gt;    WRITE: /3 'Error while modifying table'.&lt;/P&gt;&lt;P&gt;    FORMAT RESET.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      FORM f_list_records                                           *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_list_records.&lt;/P&gt;&lt;P&gt;  DATA: l_tleng TYPE i,&lt;/P&gt;&lt;P&gt;        l_lasti TYPE i,&lt;/P&gt;&lt;P&gt;        l_offst TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output width&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  l_tleng = 1.&lt;/P&gt;&lt;P&gt;  LOOP AT it_dd03p INTO is_dd03p.&lt;/P&gt;&lt;P&gt;    l_tleng = l_tleng + is_dd03p-outputlen.&lt;/P&gt;&lt;P&gt;    IF l_tleng LT sy-linsz.&lt;/P&gt;&lt;P&gt;      l_lasti = sy-tabix.&lt;/P&gt;&lt;P&gt;      l_tleng = l_tleng + 1.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      l_tleng = l_tleng - is_dd03p-outputlen.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SKIP.&lt;/P&gt;&lt;P&gt;  FORMAT COLOR COL_HEADING.&lt;/P&gt;&lt;P&gt;  WRITE: /3 'Contents'.&lt;/P&gt;&lt;P&gt;  FORMAT RESET.&lt;/P&gt;&lt;P&gt;  ULINE AT /3(l_tleng).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Output records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT &amp;lt;table&amp;gt; ASSIGNING &amp;lt;data&amp;gt;.&lt;/P&gt;&lt;P&gt;    LOOP AT it_dd03p INTO is_dd03p FROM 1 TO l_lasti.&lt;/P&gt;&lt;P&gt;      IF is_dd03p-position = 1.&lt;/P&gt;&lt;P&gt;        WRITE: /3 sy-vline.&lt;/P&gt;&lt;P&gt;        l_offst = 3.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      ASSIGN COMPONENT is_dd03p-fieldname OF STRUCTURE &amp;lt;data&amp;gt; TO &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;      l_offst = l_offst + 1.&lt;/P&gt;&lt;P&gt;      IF is_dd03p-decimals LE 2.&lt;/P&gt;&lt;P&gt;        WRITE: AT l_offst &amp;lt;fs&amp;gt;.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        WRITE: AT l_offst &amp;lt;fs&amp;gt; DECIMALS 3.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;      l_offst = l_offst + is_dd03p-outputlen.&lt;/P&gt;&lt;P&gt;      WRITE: AT l_offst sy-vline.&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Ouptut end&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  ULINE AT /3(l_tleng).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Joy.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Jul 2008 18:52:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219854#M1008300</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-20T18:52:27Z</dc:date>
    </item>
    <item>
      <title>Re: program to upload csv file to internal table and insert into database table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219855#M1008301</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Daniel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Assuming that the records of your csv-file have the same structure (no header - position relations, etc.) then you can use the following fm to convert the csv-data automatically into structured itab data:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;TEXT_CONVERT_CSV_TO_SAP&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Since you need to use type-pools TRUXS the maximum length per record is 4096 characters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Finally, you should use class &lt;STRONG&gt;CL_GUI_FRONTEND_SERVICES=&amp;gt;GUI_UPLOAD&lt;/STRONG&gt; instead of fm GUI_UPLOAD to avoid any Unicode problems.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;  Uwe&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2008 03:42:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219855#M1008301</guid>
      <dc:creator>uwe_schieferstein</dc:creator>
      <dc:date>2008-07-21T03:42:23Z</dc:date>
    </item>
    <item>
      <title>Re: program to upload csv file to internal table and insert into database table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219856#M1008302</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If your original file is an Excel which was converted to CSV, then instead of creating CSV, create a tab dlimited text file from Excel. Once this is done use Fm GUI_UPLOAD, with file type DAT. This will automatically split the fields based on the tab character.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Ravi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2008 03:50:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219856#M1008302</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-21T03:50:05Z</dc:date>
    </item>
    <item>
      <title>Re: program to upload csv file to internal table and insert into database table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219857#M1008303</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    you cannot use the gui_upload funtion module to upload csv file.you can upload text file or excel file using gui_upload funtion.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for uloading csv file you need to use open dataset and close dataset functionality.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   split the data and take it into the internal table and then upload the data to your custom table.&lt;/P&gt;&lt;P&gt;you need to do something like this.just check it out...&lt;/P&gt;&lt;P&gt;OPEN DATASET dsn FOR INPUT IN TEXT MODE .&lt;/P&gt;&lt;P&gt;  IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    DO.&lt;/P&gt;&lt;P&gt;      CLEAR: wa_string.&lt;/P&gt;&lt;P&gt;      READ DATASET dsn INTO wa_string.&lt;/P&gt;&lt;P&gt;      IF sy-subrc NE 0.&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        SPLIT wa_string AT con_tab INTO&lt;/P&gt;&lt;P&gt;                                        wa_file_data-scrnum&lt;/P&gt;&lt;P&gt;                                        wa_file_data-scrtype&lt;/P&gt;&lt;P&gt;                                         wa_file_data-scrdesc&lt;/P&gt;&lt;P&gt;                                          wa_file_data-custcode&lt;/P&gt;&lt;P&gt;                                           wa_file_data-ebeln&lt;/P&gt;&lt;P&gt;                                           wa_file_data-exrevenue&lt;/P&gt;&lt;P&gt;                                            wa_file_data-comited&lt;/P&gt;&lt;P&gt;                                            wa_file_data-potential&lt;/P&gt;&lt;P&gt;                                            wa_file_data-city_code&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                          wa_file_data-acc_circle&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                                            wa_file_data-acc_city&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;                                             wa_file_data-gis_fid&lt;/P&gt;&lt;P&gt;                                             wa_file_data-gis_uid&lt;/P&gt;&lt;P&gt;                                             wa_file_data-comm_date&lt;/P&gt;&lt;P&gt;                                             wa_file_data-estcodt&lt;/P&gt;&lt;P&gt;                                             wa_file_data-inst_addr&lt;/P&gt;&lt;P&gt;                                             wa_file_data-long_txt&lt;/P&gt;&lt;P&gt;                                             wa_file_data-act_rev&lt;/P&gt;&lt;P&gt;                                             wa_file_data-con_order&lt;/P&gt;&lt;P&gt;                                             wa_file_data-scr_open_flag.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        APPEND wa_file_data TO tfile_data.&lt;/P&gt;&lt;P&gt;        CLEAR wa_file_data.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDDO.&lt;/P&gt;&lt;P&gt;    CLOSE DATASET dsn.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Jul 2008 04:08:09 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219857#M1008303</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-07-21T04:08:09Z</dc:date>
    </item>
    <item>
      <title>Re: program to upload csv file to internal table and insert into database table</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219858#M1008304</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ravi&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Your suggestion was useful for me.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;P&gt;Chitra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 17 May 2010 11:37:40 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/program-to-upload-csv-file-to-internal-table-and-insert-into-database-table/m-p/4219858#M1008304</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2010-05-17T11:37:40Z</dc:date>
    </item>
  </channel>
</rss>

