<?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: Upload data in excel sheet through BDC in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-data-in-excel-sheet-through-bdc/m-p/3949643#M944324</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what u can do is use ALSM_EXCEL_TO_INTERNAL_TABLE function module to upload data.&lt;/P&gt;&lt;P&gt;i will provide you with a sample code. hope it helps!!&lt;/P&gt;&lt;P&gt;codePARAMETERS:&lt;/P&gt;&lt;P&gt;P_INFL like RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;BEGIN OF T_DATA1 OCCURS 0,&lt;/P&gt;&lt;P&gt;RESOURCE(25) TYPE C,&lt;/P&gt;&lt;P&gt;DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;DURATION TYPE P DECIMALS 2,&lt;/P&gt;&lt;P&gt;ACTIVITY(25) TYPE C,&lt;/P&gt;&lt;P&gt;B_NBILL(1) TYPE C,&lt;/P&gt;&lt;P&gt;END OF T_DATA1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF T_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;RESOURCE(25) TYPE C,&lt;/P&gt;&lt;P&gt;DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;DURATION(15) TYPE C,&lt;/P&gt;&lt;P&gt;ACTIVITY(25) TYPE C,&lt;/P&gt;&lt;P&gt;B_NBILL(10) TYPE C,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : HEADER TYPE XSTRING.&lt;/P&gt;&lt;P&gt;u2022	Work Variables Declaration. &lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;W_Y TYPE C VALUE 'Y',&lt;/P&gt;&lt;P&gt;W_N TYPE C VALUE 'N'.&lt;/P&gt;&lt;P&gt;u2022	Work area. &lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;WA_DATA LIKE T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INFL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM GET_FILENAME CHANGING P_INFL.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;PERFORM UPLOAD_DATA_FROMEXCEL.&lt;/P&gt;&lt;P&gt;FORM UPLOAD_DATA_FROMEXCEL.&lt;/P&gt;&lt;P&gt;u2022	Downloading the data from presentation server &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILENAME = p_infl&lt;/P&gt;&lt;P&gt;I_BEGIN_COL = 1&lt;/P&gt;&lt;P&gt;I_BEGIN_ROW = 2&lt;/P&gt;&lt;P&gt;I_END_COL = 8&lt;/P&gt;&lt;P&gt;I_END_ROW = 1000&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;INTERN = T_DATA&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INCONSISTENT_PARAMETERS = 1&lt;/P&gt;&lt;P&gt;UPLOAD_OLE = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC 0.&lt;/P&gt;&lt;P&gt;u2022	MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;u2022	WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " upload_data_fromexcel&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form process_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;u2022	text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM PROCESS_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_FINAL-RESOURCE = 'Resource'.&lt;/P&gt;&lt;P&gt;T_FINAL-DATE = 'Date'.&lt;/P&gt;&lt;P&gt;T_FINAL-DURATION = 'Duration'.&lt;/P&gt;&lt;P&gt;T_FINAL-ACTIVITY = 'Activity'.&lt;/P&gt;&lt;P&gt;T_FINAL-B_NBILL = 'Billable'.&lt;/P&gt;&lt;P&gt;APPEND T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_DATA BY ROW COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE T_DATA-COL.&lt;/P&gt;&lt;P&gt;WHEN 3.&lt;/P&gt;&lt;P&gt;T_DATA1-RESOURCE = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;WHEN 4.&lt;/P&gt;&lt;P&gt;T_DATA1-DATE = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;WHEN 5.&lt;/P&gt;&lt;P&gt;T_DATA1-DURATION = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;WHEN 6.&lt;/P&gt;&lt;P&gt;u2022	t_data1-activity = t_data-value. &lt;/P&gt;&lt;P&gt;WHEN 7.&lt;/P&gt;&lt;P&gt;T_DATA1-B_NBILL = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT END OF ROW.&lt;/P&gt;&lt;P&gt;COLLECT T_DATA1.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_DATA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_FINAL-RESOURCE = T_DATA1-RESOURCE.&lt;/P&gt;&lt;P&gt;T_FINAL-DATE = T_DATA1-DATE.&lt;/P&gt;&lt;P&gt;T_FINAL-DURATION = T_DATA1-DURATION.&lt;/P&gt;&lt;P&gt;T_FINAL-ACTIVITY = T_DATA1-ACTIVITY.&lt;/P&gt;&lt;P&gt;T_FINAL-B_NBILL = T_DATA1-B_NBILL.&lt;/P&gt;&lt;P&gt;APPEND T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " process_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form get_filename&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FILENAME CHANGING P_FILENAME.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;DEF_FILENAME = SPACE&lt;/P&gt;&lt;P&gt;DEF_PATH = P_FILENAME&lt;/P&gt;&lt;P&gt;MASK = ',. ,..'&lt;/P&gt;&lt;P&gt;MODE = 'O' " O = Open, S = Save&lt;/P&gt;&lt;P&gt;u2022	TITLE = BOX_TITLE &lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;FILENAME = P_FILENAME&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INV_WINSYS = 1&lt;/P&gt;&lt;P&gt;NO_BATCH = 2&lt;/P&gt;&lt;P&gt;SELECTION_CANCEL = 3&lt;/P&gt;&lt;P&gt;SELECTION_ERROR = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;u2022	CASE SY-SUBRC. &lt;/P&gt;&lt;P&gt;u2022	WHEN 1. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE I999 WITH &lt;/P&gt;&lt;P&gt;u2022	'File selector not available on this windows system'(046). &lt;/P&gt;&lt;P&gt;u2022	WHEN 2. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE E999 WITH &lt;/P&gt;&lt;P&gt;u2022	'Frontend function cannot be executed in background'(047). &lt;/P&gt;&lt;P&gt;u2022	WHEN 3. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE I999 WITH 'Selection was cancelled'(048). &lt;/P&gt;&lt;P&gt;u2022	WHEN 4. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE E999 WITH 'Communication error'(049). &lt;/P&gt;&lt;P&gt;u2022	WHEN 5. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE E999 WITH 'Other error'(050). &lt;/P&gt;&lt;P&gt;u2022	ENDCASE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " get_filename[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Puneet Chadha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 04 Jun 2008 05:54:49 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-06-04T05:54:49Z</dc:date>
    <item>
      <title>Upload data in excel sheet through BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-data-in-excel-sheet-through-bdc/m-p/3949641#M944322</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do we upload data in excel sheet through BDC? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Sandra.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jun 2008 05:50:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-data-in-excel-sheet-through-bdc/m-p/3949641#M944322</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-04T05:50:05Z</dc:date>
    </item>
    <item>
      <title>Re: Upload data in excel sheet through BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-data-in-excel-sheet-through-bdc/m-p/3949642#M944323</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;     The sample code is as given below:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT  upload_supply_area.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*include for dispaying icons in error log&lt;/P&gt;&lt;P&gt;INCLUDE &amp;lt;icon&amp;gt;.&lt;/P&gt;&lt;P&gt;*Declaration of structure.&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF x_struct,&lt;/P&gt;&lt;P&gt;      werks TYPE v_pvbe-werks,          "Plant&lt;/P&gt;&lt;P&gt;      prvbe TYPE v_pvbe-prvbe,          "Supply Area&lt;/P&gt;&lt;P&gt;      pvbtx TYPE v_pvbe-pvbtx,          "Production supply area description&lt;/P&gt;&lt;P&gt;      lgort TYPE v_pvbe-lgort,          "Storage Location&lt;/P&gt;&lt;P&gt;      rgver TYPE v_pvbe-rgver,          "Person responsible for one or more supply areas&lt;/P&gt;&lt;P&gt;      END OF x_struct.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TYPES:BEGIN OF x_messages,&lt;/P&gt;&lt;P&gt;       msgtyp(1) type c,&lt;/P&gt;&lt;P&gt;       werks TYPE v_pvbe-werks,          "Plant&lt;/P&gt;&lt;P&gt;       prvbe TYPE v_pvbe-prvbe,          "Supply Area&lt;/P&gt;&lt;P&gt;       message(120) type c,&lt;/P&gt;&lt;P&gt;       END OF x_messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_messages  TYPE STANDARD TABLE OF x_messages .&lt;/P&gt;&lt;P&gt;DATA: wa_messages TYPE x_messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:it_msgtab TYPE STANDARD TABLE OF bdcmsgcoll,&lt;/P&gt;&lt;P&gt;     wa_msgtab TYPE bdcmsgcoll.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*internal table for BDC&lt;/P&gt;&lt;P&gt;DATA: it_bdcdata TYPE STANDARD TABLE OF bdcdata.&lt;/P&gt;&lt;P&gt;DATA: wa_bdcdata TYPE bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:it_file TYPE STANDARD TABLE OF x_struct.        "internal table which has same structure as file&lt;/P&gt;&lt;P&gt;DATA:wa_file TYPE x_struct.                          "work area which has same structure as file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_excel TYPE STANDARD TABLE OF alsmex_tabline,&lt;/P&gt;&lt;P&gt;      wa_excel TYPE alsmex_tabline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: x_ctuprms TYPE ctu_params.&lt;/P&gt;&lt;P&gt;DATA:nodata TYPE c VALUE '/'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:con(50) type c.&lt;/P&gt;&lt;P&gt;data:con1(50) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*selection screen&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.&lt;/P&gt;&lt;P&gt;*Enter file name on presentation server&lt;/P&gt;&lt;P&gt;PARAMETERS:  p_file TYPE rlgrap-filename OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;*Function which enables the user to browse the files on hard disk&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      program_name  = syst-repid&lt;/P&gt;&lt;P&gt;      static        = 'X'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_name     = p_file&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      mask_too_long = 1&lt;/P&gt;&lt;P&gt;      OTHERS        = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Subroutine to upload excel file and read it&lt;/P&gt;&lt;P&gt;  PERFORM upload.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Subroutine to upload supply area data&lt;/P&gt;&lt;P&gt;  PERFORM fill.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bdc_dynpro&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Fill the BDC 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;&lt;/P&gt;&lt;P&gt;FORM bdc_dynpro USING program dynpro.                       "#EC *&lt;/P&gt;&lt;P&gt;  CLEAR wa_bdcdata.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-program  = program.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-dynpro   = dynpro.&lt;/P&gt;&lt;P&gt;  wa_bdcdata-dynbegin = 'X'.&lt;/P&gt;&lt;P&gt;  APPEND wa_bdcdata TO it_bdcdata.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_DYNPRO&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  bdc_field&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;       Fill the BDC 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;&lt;/P&gt;&lt;P&gt;FORM bdc_field USING fnam fval.                             "#EC *&lt;/P&gt;&lt;P&gt;  IF fval &amp;lt;&amp;gt; nodata.&lt;/P&gt;&lt;P&gt;    CLEAR wa_bdcdata.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_bdcdata-fnam = fnam.&lt;/P&gt;&lt;P&gt;    wa_bdcdata-fval = fval.&lt;/P&gt;&lt;P&gt;    APPEND wa_bdcdata TO it_bdcdata.                        "#EC&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "BDC_FIELD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  collect_messages&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Collect the messages from transaction&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 collect_messages .                                     "#EC *&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: w_msg(100).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_msgtab INTO wa_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'FORMAT_MESSAGE'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        id        = wa_msgtab-msgid&lt;/P&gt;&lt;P&gt;        lang      = wa_msgtab-msgspra&lt;/P&gt;&lt;P&gt;        no        = wa_msgtab-msgnr&lt;/P&gt;&lt;P&gt;        v1        = wa_msgtab-msgv1&lt;/P&gt;&lt;P&gt;        v2        = wa_msgtab-msgv2&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        msg       = w_msg&lt;/P&gt;&lt;P&gt;      EXCEPTIONS&lt;/P&gt;&lt;P&gt;        not_found = 1&lt;/P&gt;&lt;P&gt;        OTHERS    = 2.&lt;/P&gt;&lt;P&gt;    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CONDENSE w_msg.&lt;/P&gt;&lt;P&gt;    CLEAR wa_messages.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    wa_messages-msgtyp = wa_msgtab-msgtyp.&lt;/P&gt;&lt;P&gt;    wa_messages-message = w_msg.&lt;/P&gt;&lt;P&gt;    wa_messages-werks = wa_file-werks.&lt;/P&gt;&lt;P&gt;    wa_messages-prvbe = wa_file-prvbe.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_messages-message eq 'Formatting error in the field V_PVBE-RGVER; see next message'.&lt;/P&gt;&lt;P&gt;wa_messages-message = 'Invalid name of the person responsible'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_messages-message eq 'Formatting error in the field V_PVBE-LGORT; see next message'.&lt;/P&gt;&lt;P&gt;wa_messages-message = 'Enter the storage location'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;    APPEND wa_messages TO it_messages .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  REFRESH it_msgtab.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "collect_messages&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  write_messages&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Display the messages&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 write_messages .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM it_messages COMPARING werks prvbe.&lt;/P&gt;&lt;P&gt;  LOOP AT it_messages INTO wa_messages .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/1 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF wa_messages-msgtyp = 'S'.&lt;/P&gt;&lt;P&gt;      WRITE: 10 icon_green_light.&lt;/P&gt;&lt;P&gt;    ELSEIF wa_messages-msgtyp = 'E'.&lt;/P&gt;&lt;P&gt;      WRITE: 10 icon_red_light.&lt;/P&gt;&lt;P&gt;    ELSEIF wa_messages-msgtyp = 'W'.&lt;/P&gt;&lt;P&gt;      WRITE: 10 icon_yellow_light.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    WRITE: 20 sy-vline.&lt;/P&gt;&lt;P&gt;    WRITE : 30 'Plant-', wa_messages-werks .                "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    WRITE: 48 sy-vline.&lt;/P&gt;&lt;P&gt;    WRITE : 49 'Supply Area-', wa_messages-prvbe .          "#EC NOTEXT&lt;/P&gt;&lt;P&gt;    WRITE: 79 sy-vline.&lt;/P&gt;&lt;P&gt;    WRITE : 80 wa_messages-message .&lt;/P&gt;&lt;P&gt;    WRITE: 180 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/1 sy-vline.&lt;/P&gt;&lt;P&gt;    ULINE 1(180).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " write_m&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fill_params&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Processing mode for the transaction&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 fill_params .&lt;/P&gt;&lt;P&gt;  x_ctuprms-dismode = 'N'.&lt;/P&gt;&lt;P&gt;  x_ctuprms-updmode = 'A'.&lt;/P&gt;&lt;P&gt;  x_ctuprms-defsize = 'X'.&lt;/P&gt;&lt;P&gt;ENDFORM.                    "fill_params&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  upload&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Upload the excel file and read the 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;&lt;/P&gt;&lt;P&gt;FORM upload .&lt;/P&gt;&lt;P&gt;*Function to upload excel file&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      filename                = p_file&lt;/P&gt;&lt;P&gt;      i_begin_col             = 1&lt;/P&gt;&lt;P&gt;      i_begin_row             = 2&lt;/P&gt;&lt;P&gt;      i_end_col               = 5&lt;/P&gt;&lt;P&gt;      i_end_row               = 9999&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      intern                  = it_excel&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      inconsistent_parameters = 1&lt;/P&gt;&lt;P&gt;      upload_ole              = 2&lt;/P&gt;&lt;P&gt;      OTHERS                  = 3.&lt;/P&gt;&lt;P&gt;  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno&lt;/P&gt;&lt;P&gt;            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR wa_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Read the file row-wise&lt;/P&gt;&lt;P&gt;  LOOP AT it_excel INTO wa_excel.&lt;/P&gt;&lt;P&gt;    CASE wa_excel-col .&lt;/P&gt;&lt;P&gt;*Read plant&lt;/P&gt;&lt;P&gt;      WHEN '1'.&lt;/P&gt;&lt;P&gt;        wa_file-werks = wa_excel-value.&lt;/P&gt;&lt;P&gt;*Read supply area&lt;/P&gt;&lt;P&gt;      WHEN '2'.&lt;/P&gt;&lt;P&gt;        wa_file-prvbe = wa_excel-value.&lt;/P&gt;&lt;P&gt;*Read decription&lt;/P&gt;&lt;P&gt;      WHEN '3'.&lt;/P&gt;&lt;P&gt;        wa_file-pvbtx = wa_excel-value.&lt;/P&gt;&lt;P&gt;*Read storage location&lt;/P&gt;&lt;P&gt;      WHEN '4'.&lt;/P&gt;&lt;P&gt;        wa_file-lgort = wa_excel-value.&lt;/P&gt;&lt;P&gt;*Read Person responsible&lt;/P&gt;&lt;P&gt;      WHEN '5'.&lt;/P&gt;&lt;P&gt;        IF STRLEN( wa_excel-value ) = 1.&lt;/P&gt;&lt;P&gt;          CONCATENATE '00' wa_excel-value INTO con.&lt;/P&gt;&lt;P&gt;          wa_file-rgver = con.&lt;/P&gt;&lt;P&gt;        ELSEIF STRLEN( wa_excel-value ) = 2.&lt;/P&gt;&lt;P&gt;          CONCATENATE '0' wa_excel-value INTO con1.&lt;/P&gt;&lt;P&gt;          wa_file-rgver = con1.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          wa_file-rgver = wa_excel-value.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;    ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF row.&lt;/P&gt;&lt;P&gt;      CONDENSE:wa_file-werks,wa_file-prvbe,wa_file-pvbtx,wa_file-lgort,wa_file-rgver.&lt;/P&gt;&lt;P&gt;      APPEND wa_file TO it_file.&lt;/P&gt;&lt;P&gt;      CLEAR wa_file.&lt;/P&gt;&lt;P&gt;    ENDAT .&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " upload&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  fill&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&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;      Call the transaction 'PK05'&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 fill .&lt;/P&gt;&lt;P&gt;*Upload the data through transaction 'PK05'&lt;/P&gt;&lt;P&gt;  PERFORM fill_params.&lt;/P&gt;&lt;P&gt;  LOOP AT it_file INTO wa_file.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPLSVIX' '0100'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'D0100_FIELD_TAB-LOWER_LIMIT(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=OKAY'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPL0PK1' '0020'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'V_PVBE-PVBTX(01)'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=NEWL'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPL0PK1' '0021'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'V_PVBE-RGVER'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '/00'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-WERKS'&lt;/P&gt;&lt;P&gt;                                  wa_file-werks.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-PRVBE'&lt;/P&gt;&lt;P&gt;                                  wa_file-prvbe.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-PVBTX'&lt;/P&gt;&lt;P&gt;                                  wa_file-pvbtx.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-LGORT'&lt;/P&gt;&lt;P&gt;                                  wa_file-lgort.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-RGVER'&lt;/P&gt;&lt;P&gt;                                  wa_file-rgver.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_dynpro      USING 'SAPL0PK1' '0021'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_CURSOR'&lt;/P&gt;&lt;P&gt;                                  'V_PVBE-WERKS'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'BDC_OKCODE'&lt;/P&gt;&lt;P&gt;                                  '=SAVE'.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-WERKS'&lt;/P&gt;&lt;P&gt;                                  wa_file-werks.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-PRVBE'&lt;/P&gt;&lt;P&gt;                                  wa_file-prvbe.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-PVBTX'&lt;/P&gt;&lt;P&gt;                                  wa_file-pvbtx.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-LGORT'&lt;/P&gt;&lt;P&gt;                                  wa_file-lgort.&lt;/P&gt;&lt;P&gt;    PERFORM bdc_field       USING 'V_PVBE-RGVER'&lt;/P&gt;&lt;P&gt;                                  wa_file-rgver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL TRANSACTION 'PK05'&lt;/P&gt;&lt;P&gt;                       USING it_bdcdata&lt;/P&gt;&lt;P&gt;                       OPTIONS FROM x_ctuprms&lt;/P&gt;&lt;P&gt;                       MESSAGES INTO it_msgtab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH it_bdcdata.&lt;/P&gt;&lt;P&gt;    PERFORM collect_messages.&lt;/P&gt;&lt;P&gt;    CLEAR wa_file.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  PERFORM write_messages.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " fill&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jun 2008 05:52:28 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-data-in-excel-sheet-through-bdc/m-p/3949642#M944323</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-04T05:52:28Z</dc:date>
    </item>
    <item>
      <title>Re: Upload data in excel sheet through BDC</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/upload-data-in-excel-sheet-through-bdc/m-p/3949643#M944324</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;what u can do is use ALSM_EXCEL_TO_INTERNAL_TABLE function module to upload data.&lt;/P&gt;&lt;P&gt;i will provide you with a sample code. hope it helps!!&lt;/P&gt;&lt;P&gt;codePARAMETERS:&lt;/P&gt;&lt;P&gt;P_INFL like RLGRAP-FILENAME.&lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;BEGIN OF T_DATA1 OCCURS 0,&lt;/P&gt;&lt;P&gt;RESOURCE(25) TYPE C,&lt;/P&gt;&lt;P&gt;DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;DURATION TYPE P DECIMALS 2,&lt;/P&gt;&lt;P&gt;ACTIVITY(25) TYPE C,&lt;/P&gt;&lt;P&gt;B_NBILL(1) TYPE C,&lt;/P&gt;&lt;P&gt;END OF T_DATA1,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BEGIN OF T_FINAL OCCURS 0,&lt;/P&gt;&lt;P&gt;RESOURCE(25) TYPE C,&lt;/P&gt;&lt;P&gt;DATE(10) TYPE C,&lt;/P&gt;&lt;P&gt;DURATION(15) TYPE C,&lt;/P&gt;&lt;P&gt;ACTIVITY(25) TYPE C,&lt;/P&gt;&lt;P&gt;B_NBILL(10) TYPE C,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : HEADER TYPE XSTRING.&lt;/P&gt;&lt;P&gt;u2022	Work Variables Declaration. &lt;/P&gt;&lt;P&gt;CONSTANTS:&lt;/P&gt;&lt;P&gt;W_Y TYPE C VALUE 'Y',&lt;/P&gt;&lt;P&gt;W_N TYPE C VALUE 'N'.&lt;/P&gt;&lt;P&gt;u2022	Work area. &lt;/P&gt;&lt;P&gt;DATA:&lt;/P&gt;&lt;P&gt;WA_DATA LIKE T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INFL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM GET_FILENAME CHANGING P_INFL.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------" /&gt;&lt;P&gt;PERFORM UPLOAD_DATA_FROMEXCEL.&lt;/P&gt;&lt;P&gt;FORM UPLOAD_DATA_FROMEXCEL.&lt;/P&gt;&lt;P&gt;u2022	Downloading the data from presentation server &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;FILENAME = p_infl&lt;/P&gt;&lt;P&gt;I_BEGIN_COL = 1&lt;/P&gt;&lt;P&gt;I_BEGIN_ROW = 2&lt;/P&gt;&lt;P&gt;I_END_COL = 8&lt;/P&gt;&lt;P&gt;I_END_ROW = 1000&lt;/P&gt;&lt;P&gt;TABLES&lt;/P&gt;&lt;P&gt;INTERN = T_DATA&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INCONSISTENT_PARAMETERS = 1&lt;/P&gt;&lt;P&gt;UPLOAD_OLE = 2&lt;/P&gt;&lt;P&gt;OTHERS = 3.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC 0.&lt;/P&gt;&lt;P&gt;u2022	MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO &lt;/P&gt;&lt;P&gt;u2022	WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. &lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM. " upload_data_fromexcel&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form process_data&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;u2022	text &lt;/P&gt;&lt;P&gt;-&lt;/P&gt;&lt;HR originaltext="---------------------------------------------------------------------" /&gt;&lt;P&gt;FORM PROCESS_DATA .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_FINAL-RESOURCE = 'Resource'.&lt;/P&gt;&lt;P&gt;T_FINAL-DATE = 'Date'.&lt;/P&gt;&lt;P&gt;T_FINAL-DURATION = 'Duration'.&lt;/P&gt;&lt;P&gt;T_FINAL-ACTIVITY = 'Activity'.&lt;/P&gt;&lt;P&gt;T_FINAL-B_NBILL = 'Billable'.&lt;/P&gt;&lt;P&gt;APPEND T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SORT T_DATA BY ROW COL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CASE T_DATA-COL.&lt;/P&gt;&lt;P&gt;WHEN 3.&lt;/P&gt;&lt;P&gt;T_DATA1-RESOURCE = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;WHEN 4.&lt;/P&gt;&lt;P&gt;T_DATA1-DATE = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;WHEN 5.&lt;/P&gt;&lt;P&gt;T_DATA1-DURATION = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;WHEN 6.&lt;/P&gt;&lt;P&gt;u2022	t_data1-activity = t_data-value. &lt;/P&gt;&lt;P&gt;WHEN 7.&lt;/P&gt;&lt;P&gt;T_DATA1-B_NBILL = T_DATA-VALUE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AT END OF ROW.&lt;/P&gt;&lt;P&gt;COLLECT T_DATA1.&lt;/P&gt;&lt;P&gt;ENDAT.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT T_DATA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;T_FINAL-RESOURCE = T_DATA1-RESOURCE.&lt;/P&gt;&lt;P&gt;T_FINAL-DATE = T_DATA1-DATE.&lt;/P&gt;&lt;P&gt;T_FINAL-DURATION = T_DATA1-DURATION.&lt;/P&gt;&lt;P&gt;T_FINAL-ACTIVITY = T_DATA1-ACTIVITY.&lt;/P&gt;&lt;P&gt;T_FINAL-B_NBILL = T_DATA1-B_NBILL.&lt;/P&gt;&lt;P&gt;APPEND T_FINAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " process_data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;*&amp;amp; Form get_filename&lt;/P&gt;&lt;P&gt;&amp;amp;----&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM GET_FILENAME CHANGING P_FILENAME.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;DEF_FILENAME = SPACE&lt;/P&gt;&lt;P&gt;DEF_PATH = P_FILENAME&lt;/P&gt;&lt;P&gt;MASK = ',. ,..'&lt;/P&gt;&lt;P&gt;MODE = 'O' " O = Open, S = Save&lt;/P&gt;&lt;P&gt;u2022	TITLE = BOX_TITLE &lt;/P&gt;&lt;P&gt;IMPORTING&lt;/P&gt;&lt;P&gt;FILENAME = P_FILENAME&lt;/P&gt;&lt;P&gt;EXCEPTIONS&lt;/P&gt;&lt;P&gt;INV_WINSYS = 1&lt;/P&gt;&lt;P&gt;NO_BATCH = 2&lt;/P&gt;&lt;P&gt;SELECTION_CANCEL = 3&lt;/P&gt;&lt;P&gt;SELECTION_ERROR = 4&lt;/P&gt;&lt;P&gt;OTHERS = 5.&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;u2022	CASE SY-SUBRC. &lt;/P&gt;&lt;P&gt;u2022	WHEN 1. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE I999 WITH &lt;/P&gt;&lt;P&gt;u2022	'File selector not available on this windows system'(046). &lt;/P&gt;&lt;P&gt;u2022	WHEN 2. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE E999 WITH &lt;/P&gt;&lt;P&gt;u2022	'Frontend function cannot be executed in background'(047). &lt;/P&gt;&lt;P&gt;u2022	WHEN 3. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE I999 WITH 'Selection was cancelled'(048). &lt;/P&gt;&lt;P&gt;u2022	WHEN 4. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE E999 WITH 'Communication error'(049). &lt;/P&gt;&lt;P&gt;u2022	WHEN 5. &lt;/P&gt;&lt;P&gt;u2022	MESSAGE E999 WITH 'Other error'(050). &lt;/P&gt;&lt;P&gt;u2022	ENDCASE. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " get_filename[/code]&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Puneet Chadha&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 04 Jun 2008 05:54:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/upload-data-in-excel-sheet-through-bdc/m-p/3949643#M944324</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-06-04T05:54:49Z</dc:date>
    </item>
  </channel>
</rss>

