<?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: multi level BOM in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662281#M293380</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi eswar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for ur help. i am getting some error while creting a BOM using that BAPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;errors are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Error/warning when checking the structure of the BOM group with ID =&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)Alternative  does not exist for material assignment to material BAPIBOMFG1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is it mandatory to pass the bom group id to this bapi?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In bomgroup structure , i am not passing anything to BOM_GROUP field.&lt;/P&gt;&lt;P&gt;is it mandatory to pass this data? i am giving my coding below.plz suggest , where i am making mistake. it is urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;pabitra&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report z_bom_create&lt;/P&gt;&lt;P&gt;       line-size 132&lt;/P&gt;&lt;P&gt;       line-count 65&lt;/P&gt;&lt;P&gt;       no standard page heading.&lt;/P&gt;&lt;P&gt;*--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---" /&gt; DATA DECLARATION--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;include &amp;lt;icon&amp;gt; .&lt;/P&gt;&lt;P&gt;*---Tables&lt;/P&gt;&lt;P&gt;tables : s076, t100, marc .&lt;/P&gt;&lt;P&gt;*---Types&lt;/P&gt;&lt;P&gt;types : begin of t_upload,      " Upload file data&lt;/P&gt;&lt;P&gt;         col1(18),&lt;/P&gt;&lt;P&gt;         col2(10),&lt;/P&gt;&lt;P&gt;         col3(30),&lt;/P&gt;&lt;P&gt;         col4(12),&lt;/P&gt;&lt;P&gt;         col5(50),&lt;/P&gt;&lt;P&gt;       end of t_upload,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       begin of t_split,&lt;/P&gt;&lt;P&gt;       location like stpu-ebort,&lt;/P&gt;&lt;P&gt;       end of t_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:begin of i_return occurs 10.&lt;/P&gt;&lt;P&gt;include structure bapiret2.&lt;/P&gt;&lt;P&gt;data:end of i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_item."occurs 10.&lt;/P&gt;&lt;P&gt;include structure BAPI1080_ITM_C.&lt;/P&gt;&lt;P&gt;types:end of t_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_subitem." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_SUI_C.&lt;/P&gt;&lt;P&gt;types:end of t_subitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_header." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_MBM_C.&lt;/P&gt;&lt;P&gt;types:end of t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_bomgroup." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_BGR_C.&lt;/P&gt;&lt;P&gt;types:end of t_bomgroup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_variant." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_BOM_C.&lt;/P&gt;&lt;P&gt;types:end of t_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Tables&lt;/P&gt;&lt;P&gt;data: i_upload type standard table of t_upload, " to hold data&lt;/P&gt;&lt;P&gt;      i_upload1 type standard table of t_upload,&lt;/P&gt;&lt;P&gt;      i_split type standard table of t_split,&lt;/P&gt;&lt;P&gt;      i_item type standard table of t_item,&lt;/P&gt;&lt;P&gt;      i_subitem type standard table of t_subitem,&lt;/P&gt;&lt;P&gt;      i_header type standard table of t_header,&lt;/P&gt;&lt;P&gt;      i_bomgroup type standard table of t_bomgroup,&lt;/P&gt;&lt;P&gt;      i_variant type standard table of t_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: wa_upload  type t_upload, " to hold file data,&lt;/P&gt;&lt;P&gt;      wa_upload1 type t_upload, " to hold plan data,&lt;/P&gt;&lt;P&gt;      wa_split type t_split,&lt;/P&gt;&lt;P&gt;      wa_item type t_item,&lt;/P&gt;&lt;P&gt;      wa_subitem type t_subitem,&lt;/P&gt;&lt;P&gt;      wa_header type t_header,&lt;/P&gt;&lt;P&gt;      wa_bomgroup type t_bomgroup,&lt;/P&gt;&lt;P&gt;      wa_variant type t_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:v_matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;     v_start like sy-index,&lt;/P&gt;&lt;P&gt;     v_count(3) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Constants&lt;/P&gt;&lt;P&gt;data: c_dot type c value '.',&lt;/P&gt;&lt;P&gt;      c_x type c value 'X',&lt;/P&gt;&lt;P&gt;      c_comma type c value ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;-------Selection Screen Design -&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection screen for input of upload file address&lt;/P&gt;&lt;P&gt;selection-screen skip 2.&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk1 with frame.&lt;/P&gt;&lt;P&gt;parameters     : p_file like rlgrap-filename obligatory .&lt;/P&gt;&lt;P&gt;parameters     : p_matnr like mara-matnr obligatory,&lt;/P&gt;&lt;P&gt;                 p_werks like marc-werks obligatory memory id wrk,&lt;/P&gt;&lt;P&gt;                 p_stlan like afko-stlan obligatory default '1' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block blk1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;---AT SELECTION SCREEN -&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&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;*--For popup  to select file.&lt;/P&gt;&lt;P&gt;  perform f_give_help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on  p_matnr.&lt;/P&gt;&lt;P&gt;  perform f_check_matnr.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;-----START OF SELECTION -&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;*--Data upload using WS_Upload.&lt;/P&gt;&lt;P&gt; perform f_get_data.&lt;/P&gt;&lt;P&gt; perform f_get_bom_data.&lt;/P&gt;&lt;P&gt; perform f_get_bom_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; perform f_call_bapi.&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  f_give_help&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_give_help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            mask             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;            mode             = 'O'&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            filename         = p_file&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;  if sy-subrc &amp;lt;&amp;gt; 0 and  not sy-msgty is initial.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_give_help&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  f_check_matnr&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_check_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_MAT_BOM_EXISTENCE_CHECK'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    MATERIAL              = p_matnr&lt;/P&gt;&lt;P&gt;    PLANT                 = p_werks&lt;/P&gt;&lt;P&gt;    BOMUSAGE              = '1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VALID_FROM_DATE       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VALID_TO_DATE         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    RETURN                = i_return.&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_check_matnr&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  f_get_data&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      filename                      = p_file&lt;/P&gt;&lt;P&gt;      filetype                      = 'DAT'&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      data_tab                      = i_upload&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     conversion_error              = 1&lt;/P&gt;&lt;P&gt;     file_open_error               = 2&lt;/P&gt;&lt;P&gt;     file_read_error               = 3&lt;/P&gt;&lt;P&gt;     invalid_type                  = 4&lt;/P&gt;&lt;P&gt;     no_batch                      = 5&lt;/P&gt;&lt;P&gt;     unknown_error                 = 6&lt;/P&gt;&lt;P&gt;     invalid_table_width           = 7&lt;/P&gt;&lt;P&gt;     gui_refuse_filetransfer       = 8&lt;/P&gt;&lt;P&gt;     customer_error                = 9&lt;/P&gt;&lt;P&gt;     others                        = 10&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_data&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  f_get_bom_data&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_bom_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;delete i_upload where col1 is initial.&lt;/P&gt;&lt;P&gt;delete i_upload where col1 cs 'ITEM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table i_upload into wa_upload with key col1 = 'FINISHED GOOD:'.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;v_matnr = wa_upload-col2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if v_matnr &amp;lt;&amp;gt; p_matnr.&lt;/P&gt;&lt;P&gt;message e001(zl) with p_matnr.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message e000(zl).&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_bom_data&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  f_get_bom_data1&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_bom_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_upload into wa_upload where col1 CS 'FINISHED GOOD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_start = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_upload into wa_upload1 from v_start .&lt;/P&gt;&lt;P&gt;        if wa_upload1-col1 cs 'FINISHED GOOD'.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt; perform f_split_upload_data.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt; endloop.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_bom_data1&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  f_split_upload_data&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_split_upload_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not wa_upload1-col5 is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_upload1-col5 cs c_comma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;split wa_upload1-col5 at c_comma into table i_split.&lt;/P&gt;&lt;P&gt;loop at i_split into wa_split.&lt;/P&gt;&lt;P&gt;v_count = v_count + 1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_upload1-col4 &amp;lt;&amp;gt; v_count.&lt;/P&gt;&lt;P&gt;   wa_upload1-col4 = v_count.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_upload1-col5.&lt;/P&gt;&lt;P&gt;clear wa_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_split into wa_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_upload1-col5 = wa_split-location.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_upload1 to i_upload1.&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;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_upload1 to i_upload1.&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;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_upload1 to i_upload1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_split_upload_data&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  f_call_bapi&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_call_bapi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_upload1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_header-material = p_matnr.&lt;/P&gt;&lt;P&gt;wa_header-plant = p_werks.&lt;/P&gt;&lt;P&gt;wa_header-bom_usage = p_stlan.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_header to i_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_bomgroup-bom_usage = p_stlan.&lt;/P&gt;&lt;P&gt;wa_bomgroup-created_in_plant = p_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_bomgroup to i_bomgroup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_variant-alternative_bom = 1.&lt;/P&gt;&lt;P&gt;wa_variant-base_qty = 1.&lt;/P&gt;&lt;P&gt;wa_variant-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_variant to i_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_upload1 into wa_upload1.&lt;/P&gt;&lt;P&gt;wa_item-item_no = wa_upload1-col1.&lt;/P&gt;&lt;P&gt;wa_item-item_cat = wa_upload1-col2.&lt;/P&gt;&lt;P&gt;wa_item-component = wa_upload1-col3.&lt;/P&gt;&lt;P&gt;wa_item-comp_qty = wa_upload1-col4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_item to i_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_subitem-subitem_qty = '1'.&lt;/P&gt;&lt;P&gt;wa_subitem-installation_point = wa_upload1-col5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_subitem to i_subitem.&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;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TESTRUN                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ALL_ERROR                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    BOMGROUP                 = i_bomgroup&lt;/P&gt;&lt;P&gt;    VARIANTS                 = i_variant&lt;/P&gt;&lt;P&gt;   ITEMS                    = i_item&lt;/P&gt;&lt;P&gt;   SUBITEMS                 = i_subitem&lt;/P&gt;&lt;P&gt;    MATERIALRELATIONS        = i_header&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ITEMASSIGNMENTS          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SUBITEMASSIGNMENTS       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TEXTS                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    RETURN                   = i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if  i_return[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*write: /'BOM created:', stpo-stlnr.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*if not i_return[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF i_return-TYPE = 'E'.&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;   errmsg-type = i_return-type.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   errmsg-line = i_return-message.&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;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&lt;/P&gt;&lt;P&gt;      write:/ icon_led_RED as icon, i_return-MESSAGE.&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&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;    IF i_return-TYPE = 'W'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   errmsg-type = i_return-type.&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;   errmsg-line = i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&lt;/P&gt;&lt;P&gt;      write:/ icon_led_YELLOW as icon, i_return-MESSAGE.&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&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;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*write: / i_return-id, i_return-number, i_return-message(80).&lt;/P&gt;&lt;P&gt;*endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*write: /'Error'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_call_bapi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 23 Nov 2006 06:54:05 GMT</pubDate>
    <dc:creator>former_member190312</dc:creator>
    <dc:date>2006-11-23T06:54:05Z</dc:date>
    <item>
      <title>multi level BOM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662280#M293379</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi all,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am using BAPI_MATERIAL_BOM_GROUP_CREATE to create a &amp;lt;u&amp;gt;&amp;lt;b&amp;gt;MULTI LEVEL&amp;lt;/b&amp;gt;&amp;lt;/u&amp;gt; BOM in sap. but i am not getting any field for &amp;lt;b&amp;gt;LEVEL&amp;lt;/b&amp;gt; in this BAPI.so,  can i create a multilevel bom without a level ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can u plz suggest, how can i use this BAPI to create a &amp;lt;b&amp;gt;multi level&amp;lt;/b&amp;gt; bom?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is there any field relating to assembly indicator (stlkz) in this BAPI?i am not getting this field.plz suggest.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;any idea will be highly appreaciated.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;pabitra&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Nov 2006 00:29:34 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662280#M293379</guid>
      <dc:creator>former_member190312</dc:creator>
      <dc:date>2006-11-23T00:29:34Z</dc:date>
    </item>
    <item>
      <title>Re: multi level BOM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662281#M293380</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi eswar,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks for ur help. i am getting some error while creting a BOM using that BAPI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;errors are&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;1) Error/warning when checking the structure of the BOM group with ID =&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;2)Alternative  does not exist for material assignment to material BAPIBOMFG1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is it mandatory to pass the bom group id to this bapi?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In bomgroup structure , i am not passing anything to BOM_GROUP field.&lt;/P&gt;&lt;P&gt;is it mandatory to pass this data? i am giving my coding below.plz suggest , where i am making mistake. it is urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;regards&lt;/P&gt;&lt;P&gt;pabitra&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;report z_bom_create&lt;/P&gt;&lt;P&gt;       line-size 132&lt;/P&gt;&lt;P&gt;       line-count 65&lt;/P&gt;&lt;P&gt;       no standard page heading.&lt;/P&gt;&lt;P&gt;*--&lt;DEL&gt;&lt;/DEL&gt;&lt;/P&gt;&lt;HR originaltext="---" /&gt; DATA DECLARATION--&lt;P&gt;&lt;/P&gt;&lt;HR originaltext="---------------------------------------" /&gt;&lt;P&gt;include &amp;lt;icon&amp;gt; .&lt;/P&gt;&lt;P&gt;*---Tables&lt;/P&gt;&lt;P&gt;tables : s076, t100, marc .&lt;/P&gt;&lt;P&gt;*---Types&lt;/P&gt;&lt;P&gt;types : begin of t_upload,      " Upload file data&lt;/P&gt;&lt;P&gt;         col1(18),&lt;/P&gt;&lt;P&gt;         col2(10),&lt;/P&gt;&lt;P&gt;         col3(30),&lt;/P&gt;&lt;P&gt;         col4(12),&lt;/P&gt;&lt;P&gt;         col5(50),&lt;/P&gt;&lt;P&gt;       end of t_upload,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;       begin of t_split,&lt;/P&gt;&lt;P&gt;       location like stpu-ebort,&lt;/P&gt;&lt;P&gt;       end of t_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:begin of i_return occurs 10.&lt;/P&gt;&lt;P&gt;include structure bapiret2.&lt;/P&gt;&lt;P&gt;data:end of i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_item."occurs 10.&lt;/P&gt;&lt;P&gt;include structure BAPI1080_ITM_C.&lt;/P&gt;&lt;P&gt;types:end of t_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_subitem." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_SUI_C.&lt;/P&gt;&lt;P&gt;types:end of t_subitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_header." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_MBM_C.&lt;/P&gt;&lt;P&gt;types:end of t_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_bomgroup." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_BGR_C.&lt;/P&gt;&lt;P&gt;types:end of t_bomgroup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;types:begin of t_variant." occurs 10.&lt;/P&gt;&lt;P&gt;include structure  BAPI1080_BOM_C.&lt;/P&gt;&lt;P&gt;types:end of t_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--- Tables&lt;/P&gt;&lt;P&gt;data: i_upload type standard table of t_upload, " to hold data&lt;/P&gt;&lt;P&gt;      i_upload1 type standard table of t_upload,&lt;/P&gt;&lt;P&gt;      i_split type standard table of t_split,&lt;/P&gt;&lt;P&gt;      i_item type standard table of t_item,&lt;/P&gt;&lt;P&gt;      i_subitem type standard table of t_subitem,&lt;/P&gt;&lt;P&gt;      i_header type standard table of t_header,&lt;/P&gt;&lt;P&gt;      i_bomgroup type standard table of t_bomgroup,&lt;/P&gt;&lt;P&gt;      i_variant type standard table of t_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data: wa_upload  type t_upload, " to hold file data,&lt;/P&gt;&lt;P&gt;      wa_upload1 type t_upload, " to hold plan data,&lt;/P&gt;&lt;P&gt;      wa_split type t_split,&lt;/P&gt;&lt;P&gt;      wa_item type t_item,&lt;/P&gt;&lt;P&gt;      wa_subitem type t_subitem,&lt;/P&gt;&lt;P&gt;      wa_header type t_header,&lt;/P&gt;&lt;P&gt;      wa_bomgroup type t_bomgroup,&lt;/P&gt;&lt;P&gt;      wa_variant type t_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;data:v_matnr like mara-matnr,&lt;/P&gt;&lt;P&gt;     v_start like sy-index,&lt;/P&gt;&lt;P&gt;     v_count(3) type c.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*--Constants&lt;/P&gt;&lt;P&gt;data: c_dot type c value '.',&lt;/P&gt;&lt;P&gt;      c_x type c value 'X',&lt;/P&gt;&lt;P&gt;      c_comma type c value ','.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;-------Selection Screen Design -&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="--------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Selection screen for input of upload file address&lt;/P&gt;&lt;P&gt;selection-screen skip 2.&lt;/P&gt;&lt;P&gt;selection-screen begin of block blk1 with frame.&lt;/P&gt;&lt;P&gt;parameters     : p_file like rlgrap-filename obligatory .&lt;/P&gt;&lt;P&gt;parameters     : p_matnr like mara-matnr obligatory,&lt;/P&gt;&lt;P&gt;                 p_werks like marc-werks obligatory memory id wrk,&lt;/P&gt;&lt;P&gt;                 p_stlan like afko-stlan obligatory default '1' .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;selection-screen end of block blk1.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;---AT SELECTION SCREEN -&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------" /&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;*--For popup  to select file.&lt;/P&gt;&lt;P&gt;  perform f_give_help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;at selection-screen on  p_matnr.&lt;/P&gt;&lt;P&gt;  perform f_check_matnr.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;-----START OF SELECTION -&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;*--Data upload using WS_Upload.&lt;/P&gt;&lt;P&gt; perform f_get_data.&lt;/P&gt;&lt;P&gt; perform f_get_bom_data.&lt;/P&gt;&lt;P&gt; perform f_get_bom_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; perform f_call_bapi.&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  f_give_help&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_give_help.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'WS_FILENAME_GET'&lt;/P&gt;&lt;P&gt;       exporting&lt;/P&gt;&lt;P&gt;            mask             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;P&gt;            mode             = 'O'&lt;/P&gt;&lt;P&gt;       importing&lt;/P&gt;&lt;P&gt;            filename         = p_file&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;  if sy-subrc &amp;lt;&amp;gt; 0 and  not sy-msgty is initial.&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;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_give_help&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  f_check_matnr&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_check_matnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_MAT_BOM_EXISTENCE_CHECK'&lt;/P&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;P&gt;    MATERIAL              = p_matnr&lt;/P&gt;&lt;P&gt;    PLANT                 = p_werks&lt;/P&gt;&lt;P&gt;    BOMUSAGE              = '1'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VALID_FROM_DATE       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  VALID_TO_DATE         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    RETURN                = i_return.&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_check_matnr&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  f_get_data&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;call function 'WS_UPLOAD'&lt;/P&gt;&lt;P&gt;   exporting&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  CODEPAGE                      = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      filename                      = p_file&lt;/P&gt;&lt;P&gt;      filetype                      = 'DAT'&lt;/P&gt;&lt;P&gt;    tables&lt;/P&gt;&lt;P&gt;      data_tab                      = i_upload&lt;/P&gt;&lt;P&gt;   exceptions&lt;/P&gt;&lt;P&gt;     conversion_error              = 1&lt;/P&gt;&lt;P&gt;     file_open_error               = 2&lt;/P&gt;&lt;P&gt;     file_read_error               = 3&lt;/P&gt;&lt;P&gt;     invalid_type                  = 4&lt;/P&gt;&lt;P&gt;     no_batch                      = 5&lt;/P&gt;&lt;P&gt;     unknown_error                 = 6&lt;/P&gt;&lt;P&gt;     invalid_table_width           = 7&lt;/P&gt;&lt;P&gt;     gui_refuse_filetransfer       = 8&lt;/P&gt;&lt;P&gt;     customer_error                = 9&lt;/P&gt;&lt;P&gt;     others                        = 10&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;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_data&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  f_get_bom_data&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_bom_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;delete i_upload where col1 is initial.&lt;/P&gt;&lt;P&gt;delete i_upload where col1 cs 'ITEM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;read table i_upload into wa_upload with key col1 = 'FINISHED GOOD:'.&lt;/P&gt;&lt;P&gt;if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;v_matnr = wa_upload-col2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if v_matnr &amp;lt;&amp;gt; p_matnr.&lt;/P&gt;&lt;P&gt;message e001(zl) with p_matnr.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;message e000(zl).&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_bom_data&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  f_get_bom_data1&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_get_bom_data1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_upload into wa_upload where col1 CS 'FINISHED GOOD'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_start = sy-tabix + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_upload into wa_upload1 from v_start .&lt;/P&gt;&lt;P&gt;        if wa_upload1-col1 cs 'FINISHED GOOD'.&lt;/P&gt;&lt;P&gt;          exit.&lt;/P&gt;&lt;P&gt;        else.&lt;/P&gt;&lt;P&gt; perform f_split_upload_data.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt; endloop.&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_get_bom_data1&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  f_split_upload_data&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_split_upload_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if not wa_upload1-col5 is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_upload1-col5 cs c_comma.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;split wa_upload1-col5 at c_comma into table i_split.&lt;/P&gt;&lt;P&gt;loop at i_split into wa_split.&lt;/P&gt;&lt;P&gt;v_count = v_count + 1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if wa_upload1-col4 &amp;lt;&amp;gt; v_count.&lt;/P&gt;&lt;P&gt;   wa_upload1-col4 = v_count.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_upload1-col5.&lt;/P&gt;&lt;P&gt;clear wa_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_split into wa_split.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_upload1-col5 = wa_split-location.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_upload1 to i_upload1.&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;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_upload1 to i_upload1.&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;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_upload1 to i_upload1.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_split_upload_data&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  f_call_bapi&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;      text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; --&amp;gt;  p1        text&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; &amp;lt;--  p2        text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM f_call_bapi.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_upload1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_header-material = p_matnr.&lt;/P&gt;&lt;P&gt;wa_header-plant = p_werks.&lt;/P&gt;&lt;P&gt;wa_header-bom_usage = p_stlan.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_header to i_header.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_bomgroup-bom_usage = p_stlan.&lt;/P&gt;&lt;P&gt;wa_bomgroup-created_in_plant = p_werks.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_bomgroup to i_bomgroup.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_variant-alternative_bom = 1.&lt;/P&gt;&lt;P&gt;wa_variant-base_qty = 1.&lt;/P&gt;&lt;P&gt;wa_variant-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_variant to i_variant.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_upload1 into wa_upload1.&lt;/P&gt;&lt;P&gt;wa_item-item_no = wa_upload1-col1.&lt;/P&gt;&lt;P&gt;wa_item-item_cat = wa_upload1-col2.&lt;/P&gt;&lt;P&gt;wa_item-component = wa_upload1-col3.&lt;/P&gt;&lt;P&gt;wa_item-comp_qty = wa_upload1-col4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_item to i_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_subitem-subitem_qty = '1'.&lt;/P&gt;&lt;P&gt;wa_subitem-installation_point = wa_upload1-col5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append wa_subitem to i_subitem.&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;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TESTRUN                  = ' '&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ALL_ERROR                = ' '&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  TABLES&lt;/P&gt;&lt;P&gt;    BOMGROUP                 = i_bomgroup&lt;/P&gt;&lt;P&gt;    VARIANTS                 = i_variant&lt;/P&gt;&lt;P&gt;   ITEMS                    = i_item&lt;/P&gt;&lt;P&gt;   SUBITEMS                 = i_subitem&lt;/P&gt;&lt;P&gt;    MATERIALRELATIONS        = i_header&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  ITEMASSIGNMENTS          =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  SUBITEMASSIGNMENTS       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  TEXTS                    =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    RETURN                   = i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if  i_return[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*write: /'BOM created:', stpo-stlnr.&lt;/P&gt;&lt;P&gt;else.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*if not i_return[] is initial.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF i_return-TYPE = 'E'.&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;   errmsg-type = i_return-type.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   errmsg-line = i_return-message.&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;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&lt;/P&gt;&lt;P&gt;      write:/ icon_led_RED as icon, i_return-MESSAGE.&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&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;    IF i_return-TYPE = 'W'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   errmsg-type = i_return-type.&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;   errmsg-line = i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&lt;/P&gt;&lt;P&gt;      write:/ icon_led_YELLOW as icon, i_return-MESSAGE.&lt;/P&gt;&lt;P&gt;      ULINE /1(108).&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;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*write: / i_return-id, i_return-number, i_return-message(80).&lt;/P&gt;&lt;P&gt;*endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*write: /'Error'.&lt;/P&gt;&lt;P&gt;endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " f_call_bapi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 23 Nov 2006 06:54:05 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662281#M293380</guid>
      <dc:creator>former_member190312</dc:creator>
      <dc:date>2006-11-23T06:54:05Z</dc:date>
    </item>
    <item>
      <title>Re: multi level BOM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662282#M293381</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ans&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 16 Mar 2008 11:55:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662282#M293381</guid>
      <dc:creator>former_member190312</dc:creator>
      <dc:date>2008-03-16T11:55:32Z</dc:date>
    </item>
    <item>
      <title>Re: multi level BOM</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662283#M293382</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;hi pabitra rout , &lt;/P&gt;&lt;P&gt;              i have same issue as your BOM issue for upload exell sheet ..  i want to upload data with level  ( that means with multi levels ) if possible please give  to me your program .&lt;/P&gt;&lt;P&gt;my mail id is &lt;STRONG&gt;ajaykolla@infotechsw.com&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: ajay KOLLA on Sep 4, 2008 3:53 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 04 Sep 2008 13:53:24 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/multi-level-bom/m-p/1662283#M293382</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2008-09-04T13:53:24Z</dc:date>
    </item>
  </channel>
</rss>

