<?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: loading data from excel file in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424158#M822359</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use the FM ALSM_EXCEL_TO_INTERNAL_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PARAMETERS:
P_INFL like RLGRAP-FILENAME.

DATA:
BEGIN OF T_DATA1 OCCURS 0,
RESOURCE(25) TYPE C,
DATE(10) TYPE C,
DURATION TYPE P DECIMALS 2,
ACTIVITY(25) TYPE C,
B_NBILL(1) TYPE C,
END OF T_DATA1,

T_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE,

BEGIN OF T_FINAL OCCURS 0,
RESOURCE(25) TYPE C,
DATE(10) TYPE C,
DURATION(15) TYPE C,
ACTIVITY(25) TYPE C,
B_NBILL(10) TYPE C,

END OF T_FINAL.

DATA : HEADER TYPE XSTRING.


Work Variables Declaration. 
CONSTANTS:
W_Y TYPE C VALUE 'Y',
W_N TYPE C VALUE 'N'.


Work area. 
DATA:
WA_DATA LIKE T_FINAL.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INFL.

PERFORM GET_FILENAME CHANGING P_INFL.

-----------------------------------------------------------
START-OF-SELECTION.
-----------------------------------------------------------
PERFORM UPLOAD_DATA_FROMEXCEL.


FORM UPLOAD_DATA_FROMEXCEL.


Downloading the data from presentation server 

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = p_infl
I_BEGIN_COL = 1
I_BEGIN_ROW = 2
I_END_COL = 8
I_END_ROW = 1000
TABLES
INTERN = T_DATA
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO 
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. 
ENDIF.

ENDFORM. " upload_data_fromexcel


&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form process_data
&amp;amp;---------------------------------------------------------------------


text 
----------------------------------------------------------------------
FORM PROCESS_DATA .

T_FINAL-RESOURCE = 'Resource'.
T_FINAL-DATE = 'Date'.
T_FINAL-DURATION = 'Duration'.
T_FINAL-ACTIVITY = 'Activity'.
T_FINAL-B_NBILL = 'Billable'.
APPEND T_FINAL.

SORT T_DATA BY ROW COL.

LOOP AT T_DATA.

CASE T_DATA-COL.
WHEN 3.
T_DATA1-RESOURCE = T_DATA-VALUE.
WHEN 4.
T_DATA1-DATE = T_DATA-VALUE.
WHEN 5.
T_DATA1-DURATION = T_DATA-VALUE.
WHEN 6.

t_data1-activity = t_data-value. 
WHEN 7.
T_DATA1-B_NBILL = T_DATA-VALUE.

ENDCASE.

AT END OF ROW.
COLLECT T_DATA1.
ENDAT.
ENDLOOP.

LOOP AT T_DATA1.

T_FINAL-RESOURCE = T_DATA1-RESOURCE.
T_FINAL-DATE = T_DATA1-DATE.
T_FINAL-DURATION = T_DATA1-DURATION.
T_FINAL-ACTIVITY = T_DATA1-ACTIVITY.
T_FINAL-B_NBILL = T_DATA1-B_NBILL.
APPEND T_FINAL.

ENDLOOP.

ENDFORM. " process_data

&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form get_filename
&amp;amp;---------------------------------------------------------------------

FORM GET_FILENAME CHANGING P_FILENAME.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = SPACE
DEF_PATH = P_FILENAME
MASK = ',. ,..'
MODE = 'O' " O = Open, S = Save

TITLE = BOX_TITLE 
IMPORTING
FILENAME = P_FILENAME
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
*

CASE SY-SUBRC. 
WHEN 1. 
MESSAGE I999 WITH 
'File selector not available on this windows system'(046). 
WHEN 2. 
MESSAGE E999 WITH 
'Frontend function cannot be executed in background'(047). 
WHEN 3. 
MESSAGE I999 WITH 'Selection was cancelled'(048). 
WHEN 4. 
MESSAGE E999 WITH 'Communication error'(049). 
WHEN 5. 
MESSAGE E999 WITH 'Other error'(050). 
ENDCASE. 

ENDFORM. " get_filename&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Sat, 16 Feb 2008 04:21:11 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2008-02-16T04:21:11Z</dc:date>
    <item>
      <title>loading data from excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424156#M822357</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi experts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; how to load the data from-excel to sap using bdc method&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2008 03:42:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424156#M822357</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-16T03:42:11Z</dc:date>
    </item>
    <item>
      <title>Re: loading data from excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424157#M822358</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;First read data from excel to internal table using FM &lt;STRONG&gt;ALSM_EXCEL_TO_INTERNAL_TABLE&lt;/STRONG&gt; and then BDC process is same as usual.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2008 04:17:55 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424157#M822358</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-16T04:17:55Z</dc:date>
    </item>
    <item>
      <title>Re: loading data from excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424158#M822359</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;use the FM ALSM_EXCEL_TO_INTERNAL_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;PARAMETERS:
P_INFL like RLGRAP-FILENAME.

DATA:
BEGIN OF T_DATA1 OCCURS 0,
RESOURCE(25) TYPE C,
DATE(10) TYPE C,
DURATION TYPE P DECIMALS 2,
ACTIVITY(25) TYPE C,
B_NBILL(1) TYPE C,
END OF T_DATA1,

T_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE,

BEGIN OF T_FINAL OCCURS 0,
RESOURCE(25) TYPE C,
DATE(10) TYPE C,
DURATION(15) TYPE C,
ACTIVITY(25) TYPE C,
B_NBILL(10) TYPE C,

END OF T_FINAL.

DATA : HEADER TYPE XSTRING.


Work Variables Declaration. 
CONSTANTS:
W_Y TYPE C VALUE 'Y',
W_N TYPE C VALUE 'N'.


Work area. 
DATA:
WA_DATA LIKE T_FINAL.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INFL.

PERFORM GET_FILENAME CHANGING P_INFL.

-----------------------------------------------------------
START-OF-SELECTION.
-----------------------------------------------------------
PERFORM UPLOAD_DATA_FROMEXCEL.


FORM UPLOAD_DATA_FROMEXCEL.


Downloading the data from presentation server 

CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = p_infl
I_BEGIN_COL = 1
I_BEGIN_ROW = 2
I_END_COL = 8
I_END_ROW = 1000
TABLES
INTERN = T_DATA
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC 0.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO 
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. 
ENDIF.

ENDFORM. " upload_data_fromexcel


&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form process_data
&amp;amp;---------------------------------------------------------------------


text 
----------------------------------------------------------------------
FORM PROCESS_DATA .

T_FINAL-RESOURCE = 'Resource'.
T_FINAL-DATE = 'Date'.
T_FINAL-DURATION = 'Duration'.
T_FINAL-ACTIVITY = 'Activity'.
T_FINAL-B_NBILL = 'Billable'.
APPEND T_FINAL.

SORT T_DATA BY ROW COL.

LOOP AT T_DATA.

CASE T_DATA-COL.
WHEN 3.
T_DATA1-RESOURCE = T_DATA-VALUE.
WHEN 4.
T_DATA1-DATE = T_DATA-VALUE.
WHEN 5.
T_DATA1-DURATION = T_DATA-VALUE.
WHEN 6.

t_data1-activity = t_data-value. 
WHEN 7.
T_DATA1-B_NBILL = T_DATA-VALUE.

ENDCASE.

AT END OF ROW.
COLLECT T_DATA1.
ENDAT.
ENDLOOP.

LOOP AT T_DATA1.

T_FINAL-RESOURCE = T_DATA1-RESOURCE.
T_FINAL-DATE = T_DATA1-DATE.
T_FINAL-DURATION = T_DATA1-DURATION.
T_FINAL-ACTIVITY = T_DATA1-ACTIVITY.
T_FINAL-B_NBILL = T_DATA1-B_NBILL.
APPEND T_FINAL.

ENDLOOP.

ENDFORM. " process_data

&amp;amp;---------------------------------------------------------------------
*&amp;amp; Form get_filename
&amp;amp;---------------------------------------------------------------------

FORM GET_FILENAME CHANGING P_FILENAME.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
DEF_FILENAME = SPACE
DEF_PATH = P_FILENAME
MASK = ',. ,..'
MODE = 'O' " O = Open, S = Save

TITLE = BOX_TITLE 
IMPORTING
FILENAME = P_FILENAME
EXCEPTIONS
INV_WINSYS = 1
NO_BATCH = 2
SELECTION_CANCEL = 3
SELECTION_ERROR = 4
OTHERS = 5.
*

CASE SY-SUBRC. 
WHEN 1. 
MESSAGE I999 WITH 
'File selector not available on this windows system'(046). 
WHEN 2. 
MESSAGE E999 WITH 
'Frontend function cannot be executed in background'(047). 
WHEN 3. 
MESSAGE I999 WITH 'Selection was cancelled'(048). 
WHEN 4. 
MESSAGE E999 WITH 'Communication error'(049). 
WHEN 5. 
MESSAGE E999 WITH 'Other error'(050). 
ENDCASE. 

ENDFORM. " get_filename&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2008 04:21:11 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424158#M822359</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-16T04:21:11Z</dc:date>
    </item>
    <item>
      <title>Re: loading data from excel file</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424159#M822360</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use the FM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;ALSM_EXCEL_TO_INTERNAL_TABLE.&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check thsi thread for sample code.&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="409931"&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ALso use the &lt;STRONG&gt;GUI_UPLOAD&lt;/STRONG&gt; function module to load the data from the excel to an internal table and then you can modify the database table from this internal table. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this thread for &lt;STRONG&gt;sample program for bdc-uploading excel sheet&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="287334"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 16 Feb 2008 05:10:43 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/loading-data-from-excel-file/m-p/3424159#M822360</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-02-16T05:10:43Z</dc:date>
    </item>
  </channel>
</rss>

