<?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 Hello BAPI For MM01 in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/hello-bapi-for-mm01/m-p/6041965#M1350958</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;                 I am trying to develop a bapi for MM01.For which i have used a code as suggested by one of you.But the problem is when i am trying to upload my Excel sheet it is giving me a dump. I have designed my Excel sheet according to the sequence in my code. Is it necessary to maintain the sequence as in BDC?. Hers the code to have a clear idea.Please help me out as i am new to BAPI.&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; Report  ZBAPI2&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  ZBAPI2.&lt;/P&gt;&lt;P&gt;&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;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FLAGS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;DATA: f_stop. " Flag used to stop processing&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATIONS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;DATA : v_empty TYPE i, " No. of empty records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_total TYPE i. " Total no. of records.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STRUCTURES &amp;amp; INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;*--- BAPI structures&lt;/P&gt;&lt;P&gt;DATA: bapi_head LIKE bapimathead,  " Header Segment with Control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_makt LIKE bapi_makt, " Material Description&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_mara1 LIKE bapi_mara, " Client Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_marax LIKE bapi_marax, " Checkbox Structure for BAPI_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_marc1 LIKE bapi_marc, " Plant View&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_marcx LIKE bapi_marcx, " Checkbox Structure for BAPI_MARC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_mbew1 LIKE bapi_mbew, " Accounting View&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_mbewx LIKE bapi_mbewx, " Checkbox Structure for BAPI_MBEW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_return LIKE bapiret2. " Return Parameter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal table to hold excel file data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_intern TYPE alsmex_tabline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal table to hold Matetrial descriptions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_makt OCCURS 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF it_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal to hold the records in the text file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_data OCCURS 100,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;werks(4), " Plant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mtart(4), " Material type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matnr(18), " Material number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matkl(9) , " Material group&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mbrsh(1), " Industry sector&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;meins(3), " Base unit of measure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gewei(3), " Weight Unit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;spart(2), " Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ekgrp(3), " Purchasing group&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vprsv(1), " Price control indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*stprs(12), " Standard price&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;peinh(3), " Price unit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*spras(2), " Language key&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;maktx(40), " Material description&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF it_data.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK scr1 WITH FRAME TITLE text-111.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER : p_file TYPE rlgrap-filename OBLIGATORY DEFAULT " Input File&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'C:\Material_master.XLS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER : p_max(4) OBLIGATORY DEFAULT '100'. " no.of recs in a session&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_header TYPE i DEFAULT 0. " Header Lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_begcol TYPE i DEFAULT 1 NO-DISPLAY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_begrow TYPE i DEFAULT 1 NO-DISPLAY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_endcol TYPE i DEFAULT 100 NO-DISPLAY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_endrow TYPE i DEFAULT 32000 NO-DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK scr1.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Validating file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM validate_file USING p_file.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to convert the Excel data into an internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM convert_xls_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_data[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to delete Header lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM delete_header_empty_recs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to upload Material Master data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM upload_matmas.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : validate_input_file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : To provide F4 help for file if read from PC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM validate_file USING f_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_name     = f_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;&lt;/P&gt;&lt;P&gt;    MESSAGE s010(zlkpl_msgclass). " 'Error in getting filename'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " validate_input_file&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form CONVER_XLS_ITAB&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM convert_xls_itab.&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_file&lt;/P&gt;&lt;P&gt;      i_begin_col = p_begcol&lt;/P&gt;&lt;P&gt;      i_begin_row = p_begrow&lt;/P&gt;&lt;P&gt;      i_end_col   = p_endcol&lt;/P&gt;&lt;P&gt;      i_end_row   = p_endrow&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      intern      = it_intern.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to move the data into an internal data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM move_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " CONVERT_XLS_ITAB&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form MOVE_DATA&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : lv_index TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;fs&amp;gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Sorting the internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_intern BY row col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_intern.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_intern.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE it_intern-col TO lv_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Assigning the each record to an internal table row&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT lv_index OF STRUCTURE it_data TO &amp;lt;fs&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Asigning the field value to a field symbol&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE it_intern-value TO &amp;lt;fs&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&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. " MOVE_DATA&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DELETE_HEADER_EMPTY_RECS&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To delete the Header and empty records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM delete_header_empty_recs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_tabix LIKE sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_header IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF p_header &amp;gt; 0 AND NOT it_data IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        DELETE it_data FROM 1 TO p_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADER = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- To delete the empty lines from internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_data IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_empty = v_empty + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DELETE it_data INDEX lv_tabix..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&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;  CLEAR it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Total no of recs in file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE it_data LINES v_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF v_total = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE i013(zlkpl_msgclass). " No records in the file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    f_stop = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DELETE_HEADER_EMPTY_RECS&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form UPLOAD_MATMAS&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to upload Material Master data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM upload_matmas .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-material = it_data-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-ind_sector = it_data-mbrsh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-matl_type = it_data-mtart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-basic_view = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-purchase_view = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-account_view = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH it_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_makt-langu = it_data-spras.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    it_makt-matl_desc = it_data-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND it_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Client Data - Basic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-matl_group = it_data-matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-base_uom = it_data-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-unit_of_wt = it_data-gewei.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-division = it_data-spart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-matl_group = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-base_uom = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-unit_of_wt = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-division = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Plant - Purchasing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marc1-plant = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marc1-pur_group = it_data-ekgrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marcx-plant = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marcx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accounting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbew1-val_area = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbew1-price_ctrl = it_data-vprsv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   bapi_mbew1-std_price = it_data-stprs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbew1-price_unit = it_data-peinh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-val_area = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-price_ctrl = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-std_price = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-price_unit = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- BAPI to create material&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    headdata = bapi_head&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clientdata = bapi_mara1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clientdatax = bapi_marax&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    plantdata = bapi_marc1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    plantdatax = bapi_marcx&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;FORECASTPARAMETERS =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORECASTPARAMETERSX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PLANNINGDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PLANNINGDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGELOCATIONDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGELOCATIONDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VALUATIONDATA = BAPI_MBEW1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VALUATIONDATAX = BAPI_MBEWX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WAREHOUSENUMBERDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WAREHOUSENUMBERDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SALESDATA = BAPI_MVKE1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SALESDATAX = BAPI_MVKEX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGETYPEDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGETYPEDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    return = bapi_return&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    materialdescription = it_makt&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;UNITSOFMEASURE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNITSOFMEASUREX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNATIONALARTNOS =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MATERIALLONGTEXT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TAXCLASSIFICATIONS =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RETURNMESSAGES =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PRTDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PRTDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXTENSIONIN =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXTENSIONINX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF bapi_return-type = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Error:' ,bapi_return-message ,'for material:' ,&lt;/P&gt;&lt;P&gt;it_data-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF bapi_return-type = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: 'Successfully created material' ,it_data-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&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. " UPLOAD_MATMAS&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 19 Aug 2009 02:21:37 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-08-19T02:21:37Z</dc:date>
    <item>
      <title>Hello BAPI For MM01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hello-bapi-for-mm01/m-p/6041965#M1350958</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello All,&lt;/P&gt;&lt;P&gt;                 I am trying to develop a bapi for MM01.For which i have used a code as suggested by one of you.But the problem is when i am trying to upload my Excel sheet it is giving me a dump. I have designed my Excel sheet according to the sequence in my code. Is it necessary to maintain the sequence as in BDC?. Hers the code to have a clear idea.Please help me out as i am new to BAPI.&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; Report  ZBAPI2&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;*&amp;amp;&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;&lt;/P&gt;&lt;P&gt;REPORT  ZBAPI2.&lt;/P&gt;&lt;P&gt;&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;TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FLAGS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;DATA: f_stop. " Flag used to stop processing&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;DATA DECLARATIONS *&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;DATA : v_empty TYPE i, " No. of empty records&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_total TYPE i. " Total no. of records.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STRUCTURES &amp;amp; INTERNAL TABLES&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;*--- BAPI structures&lt;/P&gt;&lt;P&gt;DATA: bapi_head LIKE bapimathead,  " Header Segment with Control&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_makt LIKE bapi_makt, " Material Description&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_mara1 LIKE bapi_mara, " Client Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_marax LIKE bapi_marax, " Checkbox Structure for BAPI_MARA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_marc1 LIKE bapi_marc, " Plant View&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_marcx LIKE bapi_marcx, " Checkbox Structure for BAPI_MARC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_mbew1 LIKE bapi_mbew, " Accounting View&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_mbewx LIKE bapi_mbewx, " Checkbox Structure for BAPI_MBEW&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;bapi_return LIKE bapiret2. " Return Parameter&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal table to hold excel file data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: it_intern TYPE alsmex_tabline OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal table to hold Matetrial descriptions&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF it_makt OCCURS 100.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        INCLUDE STRUCTURE bapi_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: END OF it_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Internal to hold the records in the text file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA : BEGIN OF it_data OCCURS 100,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;werks(4), " Plant&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mtart(4), " Material type&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matnr(18), " Material number&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;matkl(9) , " Material group&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;mbrsh(1), " Industry sector&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;meins(3), " Base unit of measure&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;gewei(3), " Weight Unit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;spart(2), " Division&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ekgrp(3), " Purchasing group&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;vprsv(1), " Price control indicator&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*stprs(12), " Standard price&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;peinh(3), " Price unit&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*spras(2), " Language key&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;maktx(40), " Material description&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END OF it_data.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK scr1 WITH FRAME TITLE text-111.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER : p_file TYPE rlgrap-filename OBLIGATORY DEFAULT " Input File&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;'C:\Material_master.XLS'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETER : p_max(4) OBLIGATORY DEFAULT '100'. " no.of recs in a session&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_header TYPE i DEFAULT 0. " Header Lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PARAMETERS: p_begcol TYPE i DEFAULT 1 NO-DISPLAY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_begrow TYPE i DEFAULT 1 NO-DISPLAY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_endcol TYPE i DEFAULT 100 NO-DISPLAY,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;p_endrow TYPE i DEFAULT 32000 NO-DISPLAY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK scr1.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Validating file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM validate_file USING p_file.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;START-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to convert the Excel data into an internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM convert_xls_itab.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT it_data[] IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to delete Header lines&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    PERFORM delete_header_empty_recs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&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;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;&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;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to upload Material Master data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM upload_matmas.&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Form : validate_input_file&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Description : To provide F4 help for file if read from PC&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM validate_file USING f_file TYPE rlgrap-filename.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'KD_GET_FILENAME_ON_F4'&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      file_name     = f_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;&lt;/P&gt;&lt;P&gt;    MESSAGE s010(zlkpl_msgclass). " 'Error in getting filename'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " validate_input_file&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form CONVER_XLS_ITAB&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM convert_xls_itab.&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_file&lt;/P&gt;&lt;P&gt;      i_begin_col = p_begcol&lt;/P&gt;&lt;P&gt;      i_begin_row = p_begrow&lt;/P&gt;&lt;P&gt;      i_end_col   = p_endcol&lt;/P&gt;&lt;P&gt;      i_end_row   = p_endrow&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      intern      = it_intern.&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Perform to move the data into an internal data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM move_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " CONVERT_XLS_ITAB&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form MOVE_DATA&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM move_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA : lv_index TYPE i.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  FIELD-SYMBOLS &amp;lt;fs&amp;gt;  .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Sorting the internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT it_intern BY row col.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_intern.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_intern.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE it_intern-col TO lv_index.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Assigning the each record to an internal table row&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ASSIGN COMPONENT lv_index OF STRUCTURE it_data TO &amp;lt;fs&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Asigning the field value to a field symbol&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MOVE it_intern-value TO &amp;lt;fs&amp;gt; .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    AT END OF row.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      APPEND it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      CLEAR it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDAT.&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. " MOVE_DATA&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form DELETE_HEADER_EMPTY_RECS&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;To delete the Header and empty records&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM delete_header_empty_recs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DATA: lv_tabix LIKE sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT p_header IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    LOOP AT it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      IF p_header &amp;gt; 0 AND NOT it_data IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        DELETE it_data FROM 1 TO p_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;P_HEADER = 0.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;        EXIT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ENDIF.&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;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- To delete the empty lines from internal table&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    lv_tabix = sy-tabix.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF it_data IS INITIAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_empty = v_empty + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      DELETE it_data INDEX lv_tabix..&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&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;  CLEAR it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Total no of recs in file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DESCRIBE TABLE it_data LINES v_total.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF v_total = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    MESSAGE i013(zlkpl_msgclass). " No records in the file&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    f_stop = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    STOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM. " DELETE_HEADER_EMPTY_RECS&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;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form UPLOAD_MATMAS&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;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;to upload Material Master data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;P&gt;&lt;/P&gt;&lt;P&gt;FORM upload_matmas .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT it_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Header&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-material = it_data-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-ind_sector = it_data-mbrsh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-matl_type = it_data-mtart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-basic_view = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-purchase_view = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_head-account_view = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Material Description&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    REFRESH it_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   it_makt-langu = it_data-spras.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    it_makt-matl_desc = it_data-maktx.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    APPEND it_makt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Client Data - Basic&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-matl_group = it_data-matkl.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-base_uom = it_data-meins.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-unit_of_wt = it_data-gewei.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mara1-division = it_data-spart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-matl_group = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-base_uom = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-unit_of_wt = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marax-division = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Plant - Purchasing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marc1-plant = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marc1-pur_group = it_data-ekgrp.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marcx-plant = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_marcx-pur_group = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Accounting&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbew1-val_area = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbew1-price_ctrl = it_data-vprsv.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   bapi_mbew1-std_price = it_data-stprs.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbew1-price_unit = it_data-peinh.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-val_area = it_data-werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-price_ctrl = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-std_price = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    bapi_mbewx-price_unit = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- BAPI to create material&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    headdata = bapi_head&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clientdata = bapi_mara1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    clientdatax = bapi_marax&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    plantdata = bapi_marc1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    plantdatax = bapi_marcx&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;FORECASTPARAMETERS =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;FORECASTPARAMETERSX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PLANNINGDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PLANNINGDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGELOCATIONDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGELOCATIONDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VALUATIONDATA = BAPI_MBEW1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;VALUATIONDATAX = BAPI_MBEWX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WAREHOUSENUMBERDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;WAREHOUSENUMBERDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SALESDATA = BAPI_MVKE1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SALESDATAX = BAPI_MVKEX&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGETYPEDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;STORAGETYPEDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    return = bapi_return&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    materialdescription = it_makt&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;UNITSOFMEASURE =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UNITSOFMEASUREX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INTERNATIONALARTNOS =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;MATERIALLONGTEXT =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TAXCLASSIFICATIONS =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;RETURNMESSAGES =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PRTDATA =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;PRTDATAX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXTENSIONIN =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXTENSIONINX =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF bapi_return-type = 'E'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE:/ 'Error:' ,bapi_return-message ,'for material:' ,&lt;/P&gt;&lt;P&gt;it_data-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ELSEIF bapi_return-type = 'S'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      WRITE: 'Successfully created material' ,it_data-matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDIF.&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. " UPLOAD_MATMAS&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Aug 2009 02:21:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hello-bapi-for-mm01/m-p/6041965#M1350958</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-08-19T02:21:37Z</dc:date>
    </item>
    <item>
      <title>Re: Hello BAPI For MM01</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/hello-bapi-for-mm01/m-p/6041966#M1350959</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi bnupur14,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  Please do place a debugger @ FM &lt;STRONG&gt;ALSM_EXCEL_TO_INTERNAL_TABLE&lt;/STRONG&gt; and check p_file, make p_endcol is &lt;STRONG&gt;12&lt;/STRONG&gt;, p_endrow &lt;STRONG&gt;65000&lt;/STRONG&gt;, then check whether its going for dump or not.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have executed your code there is no dump @ FM &lt;STRONG&gt;ALSM_EXCEL_TO_INTERNAL_TABLE&lt;/STRONG&gt; or converting data into internal table.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But where You are getting Dump actually.&lt;/P&gt;&lt;P&gt; &lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Suneel G&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Suneel Kumar Gopisetty on Aug 19, 2009 11:02 AM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Aug 2009 02:45:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/hello-bapi-for-mm01/m-p/6041966#M1350959</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-08-19T02:45:37Z</dc:date>
    </item>
  </channel>
</rss>

