<?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 error-BOM is not valid in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-bom-is-not-valid/m-p/1693377#M304347</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 creating a BOM with item &amp;amp; sub item .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am getting the error like BOM is not valid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am giving my coding below.plz suggest where i am doing mistake.&lt;/P&gt;&lt;P&gt;it's urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can u plz give some sample coding where sub-item will be there in that BOM.&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;correct answers will be rewarded.&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;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      no standard page heading.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; data:i_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&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;data:it_itemas LIKE bapi1080_rel_itm_bom_c OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;     it_subitemas LIKE BAPI1080_REL_SUI_ITM_C OCCURS 0 WITH HEADER LINE.&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_upload2 type standard table of t_upload,&lt;/P&gt;&lt;P&gt;&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_upload2 type t_upload,&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;     v_num(4) type c value '0000'.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform f_give_help.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*at selection-screen on  p_matnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform f_check_matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;/P&gt;&lt;P&gt; perform f_error_display.&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;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;           mask             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           mode             = 'O'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           filename         = p_file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           inv_winsys       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           no_batch         = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           selection_cancel = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           selection_error  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           others           = 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if sy-subrc &amp;lt;&amp;gt; 0 and  not sy-msgty is initial.&lt;/P&gt;&lt;/LI&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;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;LI level="1" type="ul"&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;   MATERIAL              = p_matnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PLANT                 = p_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   BOMUSAGE              = '1'&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  VALID_FROM_DATE       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  VALID_TO_DATE         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN                = i_return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&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;*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;&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;i_upload2[] = i_upload[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;delete i_upload2 where col1 cs 'FINISHED GOOD'.&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;clear v_count.&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;clear wa_upload1.&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_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_header-bom_usage = p_stlan.&lt;/P&gt;&lt;P&gt;wa_header-alternative_bom = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;*wa_bomgroup-bom_group = ''.&lt;/P&gt;&lt;P&gt;wa_bomgroup-object_id = 'SIMPLE1'.&lt;/P&gt;&lt;P&gt;wa_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_bomgroup-object_type = 'BGR'.&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;&lt;/P&gt;&lt;P&gt;wa_variant-alternative_bom = '1'.&lt;/P&gt;&lt;P&gt;wa_variant-base_qty = '1.000'.&lt;/P&gt;&lt;P&gt;wa_variant-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;wa_variant-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_variant-object_type = 'BOM'.&lt;/P&gt;&lt;P&gt;wa_variant-object_id = 'VAR'.&lt;/P&gt;&lt;P&gt;wa_variant-bom_status = '1'.&lt;/P&gt;&lt;P&gt;wa_variant-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;wa_variant-function = 'NEW'.&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;it_itemas-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;it_itemas-sub_object_type = 'ITM'.&lt;/P&gt;&lt;P&gt;it_itemas-sub_object_id = 'SIM'.&lt;/P&gt;&lt;P&gt;it_itemas-super_object_type = 'BOM'.&lt;/P&gt;&lt;P&gt;it_itemas-super_object_id = 'VAR'.&lt;/P&gt;&lt;P&gt;it_itemas-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;it_itemas-function = 'NEW'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append it_itemas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_subitemas-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;it_subitemas-sub_object_type = 'SUI'.&lt;/P&gt;&lt;P&gt;it_subitemas-sub_object_id = 'SIMP'.&lt;/P&gt;&lt;P&gt;it_subitemas-super_object_type = 'ITM'.&lt;/P&gt;&lt;P&gt;it_subitemas-super_object_id = 'SIM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append it_subitemas.&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;loop at i_upload2 into wa_upload2.&lt;/P&gt;&lt;P&gt;*wa_item-item_id = v_num.&lt;/P&gt;&lt;P&gt;*v_num = v_num + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_item-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_item-object_type = 'ITM'.&lt;/P&gt;&lt;P&gt;wa_item-object_id = 'SIM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_item-item_no = wa_upload2-col1.&lt;/P&gt;&lt;P&gt;wa_item-item_cat = wa_upload2-col2.&lt;/P&gt;&lt;P&gt;wa_item-component = wa_upload2-col3.&lt;/P&gt;&lt;P&gt;wa_item-comp_qty = wa_upload2-col4.&lt;/P&gt;&lt;P&gt;wa_item-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;&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;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_item into wa_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at i_upload1 into wa_upload1 where col1 = wa_item-item_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_subitem-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_subitem-object_type = 'SUI'.&lt;/P&gt;&lt;P&gt;wa_subitem-object_id = 'SIMP'.&lt;/P&gt;&lt;P&gt;&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;  on change of wa_upload1-col5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_num = v_num + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_subitem-subitem_no = v_num.&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;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;clear wa_subitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endon.&lt;/P&gt;&lt;P&gt;&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 wa_upload1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear v_num.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_upload.&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;P&gt;   ITEMASSIGNMENTS           = it_itemas&lt;/P&gt;&lt;P&gt;   SUBITEMASSIGNMENTS        = it_subitemas&lt;/P&gt;&lt;UL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE:/ i_return-type, i_return-id, i_return-number,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF i_return-TYPE = 'E'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-type = i_return-type.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-line = i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     write:/ icon_led_RED as icon, i_return-MESSAGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&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;   ENDIF.&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;   IF i_return-TYPE = 'W'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-type = i_return-type.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-line = i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     write:/ icon_led_YELLOW as icon, i_return-MESSAGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&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;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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_error_display&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_error_display.&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;loop at i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ i_return-type, i_return-id, i_return-number,&lt;/P&gt;&lt;P&gt;          i_return-message.&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;ENDFORM.                    " f_error_display&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 Nov 2006 04:25:39 GMT</pubDate>
    <dc:creator>former_member190312</dc:creator>
    <dc:date>2006-11-24T04:25:39Z</dc:date>
    <item>
      <title>error-BOM is not valid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-bom-is-not-valid/m-p/1693377#M304347</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 creating a BOM with item &amp;amp; sub item .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am getting the error like BOM is not valid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;i am giving my coding below.plz suggest where i am doing mistake.&lt;/P&gt;&lt;P&gt;it's urgent.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;can u plz give some sample coding where sub-item will be there in that BOM.&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;correct answers will be rewarded.&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;&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      no standard page heading.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; data:i_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&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;data:it_itemas LIKE bapi1080_rel_itm_bom_c OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;     it_subitemas LIKE BAPI1080_REL_SUI_ITM_C OCCURS 0 WITH HEADER LINE.&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_upload2 type standard table of t_upload,&lt;/P&gt;&lt;P&gt;&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_upload2 type t_upload,&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;     v_num(4) type c value '0000'.&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform f_give_help.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*at selection-screen on  p_matnr.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; perform f_check_matnr.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;/P&gt;&lt;P&gt; perform f_error_display.&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;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;           mask             = ',&lt;STRONG&gt;.&lt;/STRONG&gt;,&lt;STRONG&gt;.&lt;/STRONG&gt;.'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           mode             = 'O'&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      importing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           filename         = p_file&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      exceptions&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           inv_winsys       = 1&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           no_batch         = 2&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           selection_cancel = 3&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           selection_error  = 4&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           others           = 5.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; if sy-subrc &amp;lt;&amp;gt; 0 and  not sy-msgty is initial.&lt;/P&gt;&lt;/LI&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;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;LI level="1" type="ul"&gt;&lt;P&gt; endif.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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;   MATERIAL              = p_matnr&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   PLANT                 = p_werks&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   BOMUSAGE              = '1'&lt;/P&gt;&lt;/LI&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  VALID_FROM_DATE       =&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;  VALID_TO_DATE         =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; TABLES&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   RETURN                = i_return.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         .&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;*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;&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;i_upload2[] = i_upload[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;delete i_upload2 where col1 cs 'FINISHED GOOD'.&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;clear v_count.&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;clear wa_upload1.&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_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_header-bom_usage = p_stlan.&lt;/P&gt;&lt;P&gt;wa_header-alternative_bom = '1'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&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;*wa_bomgroup-bom_group = ''.&lt;/P&gt;&lt;P&gt;wa_bomgroup-object_id = 'SIMPLE1'.&lt;/P&gt;&lt;P&gt;wa_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_bomgroup-object_type = 'BGR'.&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;&lt;/P&gt;&lt;P&gt;wa_variant-alternative_bom = '1'.&lt;/P&gt;&lt;P&gt;wa_variant-base_qty = '1.000'.&lt;/P&gt;&lt;P&gt;wa_variant-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;wa_variant-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_variant-object_type = 'BOM'.&lt;/P&gt;&lt;P&gt;wa_variant-object_id = 'VAR'.&lt;/P&gt;&lt;P&gt;wa_variant-bom_status = '1'.&lt;/P&gt;&lt;P&gt;wa_variant-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;wa_variant-function = 'NEW'.&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;it_itemas-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;it_itemas-sub_object_type = 'ITM'.&lt;/P&gt;&lt;P&gt;it_itemas-sub_object_id = 'SIM'.&lt;/P&gt;&lt;P&gt;it_itemas-super_object_type = 'BOM'.&lt;/P&gt;&lt;P&gt;it_itemas-super_object_id = 'VAR'.&lt;/P&gt;&lt;P&gt;it_itemas-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;it_itemas-function = 'NEW'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append it_itemas.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;it_subitemas-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;it_subitemas-sub_object_type = 'SUI'.&lt;/P&gt;&lt;P&gt;it_subitemas-sub_object_id = 'SIMP'.&lt;/P&gt;&lt;P&gt;it_subitemas-super_object_type = 'ITM'.&lt;/P&gt;&lt;P&gt;it_subitemas-super_object_id = 'SIM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;append it_subitemas.&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;loop at i_upload2 into wa_upload2.&lt;/P&gt;&lt;P&gt;*wa_item-item_id = v_num.&lt;/P&gt;&lt;P&gt;*v_num = v_num + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_item-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_item-object_type = 'ITM'.&lt;/P&gt;&lt;P&gt;wa_item-object_id = 'SIM'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_item-item_no = wa_upload2-col1.&lt;/P&gt;&lt;P&gt;wa_item-item_cat = wa_upload2-col2.&lt;/P&gt;&lt;P&gt;wa_item-component = wa_upload2-col3.&lt;/P&gt;&lt;P&gt;wa_item-comp_qty = wa_upload2-col4.&lt;/P&gt;&lt;P&gt;wa_item-valid_from_date = sy-datum.&lt;/P&gt;&lt;P&gt;&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;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;loop at i_item into wa_item.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; loop at i_upload1 into wa_upload1 where col1 = wa_item-item_no.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_subitem-bom_group_identification = 'BAPI_SMP_COL1'.&lt;/P&gt;&lt;P&gt;wa_subitem-object_type = 'SUI'.&lt;/P&gt;&lt;P&gt;wa_subitem-object_id = 'SIMP'.&lt;/P&gt;&lt;P&gt;&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;  on change of wa_upload1-col5.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;v_num = v_num + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;wa_subitem-subitem_no = v_num.&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;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;clear wa_subitem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endon.&lt;/P&gt;&lt;P&gt;&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 wa_upload1.&lt;/P&gt;&lt;P&gt;endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear v_num.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;clear wa_upload.&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;P&gt;   ITEMASSIGNMENTS           = it_itemas&lt;/P&gt;&lt;P&gt;   SUBITEMASSIGNMENTS        = it_subitemas&lt;/P&gt;&lt;UL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; WRITE:/ i_return-type, i_return-id, i_return-number,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   IF i_return-TYPE = 'E'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-type = i_return-type.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-line = i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     write:/ icon_led_RED as icon, i_return-MESSAGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&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;   ENDIF.&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;   IF i_return-TYPE = 'W'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-type = i_return-type.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;**&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   errmsg-line = i_return-message.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="2" type="ul"&gt;&lt;P&gt;   append errmsg.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     write:/ icon_led_YELLOW as icon, i_return-MESSAGE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     ULINE /1(108).&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;   ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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; ENDLOOP.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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;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_error_display&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_error_display.&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;loop at i_return.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  WRITE:/ i_return-type, i_return-id, i_return-number,&lt;/P&gt;&lt;P&gt;          i_return-message.&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;ENDFORM.                    " f_error_display&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Nov 2006 04:25:39 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-bom-is-not-valid/m-p/1693377#M304347</guid>
      <dc:creator>former_member190312</dc:creator>
      <dc:date>2006-11-24T04:25:39Z</dc:date>
    </item>
    <item>
      <title>Re: error-BOM is not valid</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/error-bom-is-not-valid/m-p/1693378#M304348</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Are u sure That BAPI is the right one to use to create BOM , I think this Error is coming from BAPI itself So try to Debug the BAPI from where its throwing the error.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;prabhu&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 27 Nov 2006 07:10:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/error-bom-is-not-valid/m-p/1693378#M304348</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2006-11-27T07:10:19Z</dc:date>
    </item>
  </channel>
</rss>

