Multiple BOMs

Hi Team,
I have created two BOMs for the same material (Material Code: SEMI1). In first BOM of SEMI1, i have assigned the RAW1  (raw material) of 10 quantity. In the second  (alternative BOM)BOM of SEMI1, i have assigned the RAW2 ( raw material) of 10 quantity.
The material RAW1 is locally procured item. The material RAW2 is imported items. But the material is same. Due to local procurement & imported procurement, we have created two material codes (RAW1, RAW2) for the same material.
1. Now if i run MRP, which BOM will be considered by default?
2. In order to produce SEMI of 1 quantity i need 10 quantity of either RAW1 or RAW2. Currently i have 7 quantity stock of RAW1 and  3 quantity stock of RAW2. At this situation, if i run MRP, will both BOMS will be considered so that no procurement proposal is triggered?
Please guide me on this.
Regards
Kumar

Hi Kumar,
Please go through the suggestion
Now if i run MRP, which BOM will be considered by default?
I suppose that you have maintained the production version for the SEMI1, by default
system will take first BOM with RAW1 and ask for the procurment of RAW1 material.
If you want the seconf version of BOM has to be use during the MRP, then you have
to maintain the second version in the OPPP.
In order to produce SEMI of 1 quantity i need 10 quantity of either RAW1 or RAW2. Currently i have 7 quantity stock of RAW1 and 3 quantity stock of RAW2. At this situation, if i run MRP, will both BOMS will be considered so that no procurement proposal is triggered?
No std SAP will not behave in such a way. if you want the system to behave in such
a way then you have to add the RAW2 in the 1st BOM of SEMI1 and have to use the
Alternate Grp method, use below link for more detail about this
[http://help.sap.com/erp2005_ehp_05/helpdata/EN/f4/7d2ba044af11d182b40000e829fbfe/frameset.htm]
Please check and revert.
Thanks,
Hrishi

Similar Messages

  • LTP in MULTIPLE BOM  scenario

    Hi friends,
    Please suggest for this following issue which is urgent one
    Client Have 2 plants:  2010-PRODUCTIONM PLANT ( MONTHLYROLLING PLAN)
                                        2020- WAREHOUSE PLANT (ANNUAL SALES PLANNING )
    Have 2  type of planning.
    1. Annual Sales planning      Infor structure S501 and Planning type Z501 are used.
    2. Monthly rolling planning.     Infor structure S502 and Planning type Z502 are used
    PROBLEM IN
    Annual sale planning- PLANT 2020
    Using T code MC94 and planning type Z502, the final sales plan is recorded for all material in the plant 2020 for the active version A00.
    After the data is saved it is transferred to the Demand management using PIR_SP_FM schedule batch job using the T codes MC8E for selection and MC8G for execution
    Once the data is transferred to demand management long term planning run is executed using MS01 T code for the planning scenario 001
    The problem we have is in this ‘001’ planning scenario. What we have setup at present is to select the existing BOM which is used in the normal MRP run. But the FMCG sector requires to different BOMs and different recipes.
    NB: client needs to run long term planning run for plant2020 with planning scenario  001 .
    while creating the PIRS  they want to go for alternative BOM and RECIPES(ROUTING ) so that they can plan according to the change in requirement.In current scenario they use single BOM and single recipe.
        Problem lies as 2020 plant is only warehouse plant . It does not have any BOM and Recipe in it. so how  planning run will be executed for annual sales plan with the explosion of BOM in this plant and the alternatives will be chosen In A multiple BOM and Recipe scenario WHICH NOW CLIENT WANTS TO SWITCH OVER.Client uses MS04 TCODE for the over view of stock in LTP where the change should reflect …
    THANKS AND REGARDS,
    omkar

    hi,
    Bom selection process in LTP works similar to operational planning, i.e it is based on lot size and date.
    Reward if useful.
    Amit

  • BAPI_SALESORDER_CREATEFROMDAT2 - not working for multiple  BOM

    Hi -
    I am using BAPI_SALESORDER_CREATEFROMDAT2 function module to create sales order with multiple material. If more than one BOM materials are passed to the FM,this FM is giving error and not creating sales order. I have to pass multiple BOM to the FM and it should create sales order and expand the BOM to its components also.
    Can anybody help on this.
    An example will be good.
    thanks
    pls help
    Edited by: sanchari g on May 13, 2009 11:05 AM

    Hi Sanchari,
    Try the following logic:
    LOOP AT it_salesheader INTO wa_salesheader.
        CLEAR wa_order_header_in.
        CLEAR wa_order_header_inx.
        CLEAR wa_order_partners.
        CLEAR wa_bapicond.
        CLEAR wa_bapicondx.
        REFRESH it_order_items_in.
        REFRESH it_order_items_inx.
        REFRESH it_order_partners.
        REFRESH it_order_schedules_in.
        REFRESH it_order_schedules_inx.
        REFRESH it_bapicond.
        REFRESH it_bapicondx.
        wa_order_header_in-doc_type   = wa_salesheader-auart.
        wa_order_header_in-sales_org  = wa_salesheader-vkorg.
        wa_order_header_in-distr_chan = wa_salesheader-vtweg.
        wa_order_header_in-division   = '00'.
        wa_order_header_in-purch_no_c = wa_salesheader-bstnk.
        wa_order_header_in-purch_date = wa_salesheader-bstdk.
        wa_order_header_in-ref_1      = wa_salesheader-vbeln.
        wa_order_header_in-price_date = wa_salesheader-prsdt.
        LOOP AT it_salesitem INTO wa_salesitem WHERE vbeln = wa_salesheader-vbeln.
          wa_order_items_in-itm_number  = posnr_temp.
          wa_order_items_in-material    = wa_salesitem-matnr.
          wa_order_items_in-plant       = wa_salesitem-werks.
          wa_order_items_in-target_qty  = wa_salesitem-kwmeng.
          wa_order_items_in-ref_doc     = wa_salesitem-vbeln.
          wa_order_items_in-ref_doc_it  = wa_salesitem-posnr.
          wa_order_items_in-ref_1_s     = wa_salesitem-vbeln1.
          wa_order_items_in-poitm_no_s  = wa_salesitem-posnn.
          APPEND wa_order_items_in TO it_order_items_in.
       ENDLOOP.     "loop for line item which contains all BOMs.
       CALL FUNCTION 'BAPI_SALESORDER_CREATEFROMDAT2'
          EXPORTING
            order_header_in               = wa_order_header_in
            order_header_inx              = wa_order_header_inx
           testrun                       = testrun
         IMPORTING
           salesdocument                  = v_salesdocument
          TABLES
           return                        = it_return
           order_items_in                = it_order_items_in
           order_items_inx               = it_order_items_inx
            order_partners               = it_order_partners
           order_schedules_in            = it_order_schedules_in
           order_schedules_inx           = it_order_schedules_inx
           order_conditions_in           = it_bapicond.
        CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
         EXPORTING
           wait          = 'X'.
    ENDLOOP.   "loop for the header data.
    Hope it helps.
    Regards,
    Arnab.

  • Multiple BoMs for Same FG and Subcontracting Vendor

    Hello Gurus, I have a situation where client get job-work done for a finished good with multiple BoMs .... It is only decided at the time of creating PO when they decide which components/ child items to be used (Product Version). Even if the check for update info record is unchecked, the system don't ask for the choice 2nd time the subcontracting PO is drafted. Please guide what can be done under such circumstances.

    Hi,
    Please check how the alternative BOM can be determined (automatically):
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/b2/fa1ed4d51d11d1a69e0000e83235d4/frameset.htm
    (assign the BOM to production version (C223) >> assign the production version to info record (ME12))
    http://help.sap.com/erp2005_ehp_04/helpdata/EN/f4/7d2aea44af11d182b40000e829fbfe/frameset.htm
    (lot size; selection date; production version)
    Please check OSS note 458606:
    1. Question
    You work with production versions for selecting bill of material alternatives. How are they determined for SC purchase requisitions or SC purchase orders?
    Answer:
    Purchase Orders:
    In purchasing, the production versions are assigned in the subcontracting purchasing info record. When you create an SC purchase order, the system determines the SC purchasing info record from the combination of vendor and material, and reads the production version. This is then included in the document. It is not possible to manually change the production version in the SC purchase order.
    If you create the SC purchase order with reference to an SC purchase requisition, the system checks whether the production version from the SC purchase requisition matches the version determined from the SC purchase order.
    If the production verions differ, the system displays a dialog box and the user can decide whether the production version from the SC purchase requisition is to be transferred or whether the BOM is exploded using the newly determined production version from the SC purchasing info record.
    A selection of the production versions by date or similar is not available in purchasing.
    Regards,
    Csaba

  • Planning for  product using multiple bom and multiple recipe involving SOP

    Hi friends,
    The problem. Currently we have maintained single BOM and single recipe (The BOM and Recipe used for MRP) for long term planning run. The FMCG sector of Client requested to have multiple BOMs and multiple recipes in the long term planning run. I.e. The planning is done quarterly and they wanted to use different BOMs and Different recipes for each quarter. But since the existing system has configured to use a single BOM and a single recipe we have a problem to use the long term planning run with the current setups.The problem we have is in this ‘001’ planning scenario.
    appreciate if you can help me how to accommodate multiple BOMs and recepis in the long term planning run.
    thanks and regards
    om

    HI Mr. Ready,
    We create PIR though a submit Job and in this case how to mention the production version while creating PIRs . Also if I am creating PIR through MD61 how to record the version.
    Please advice.
    Thanks and Regards,
    Om

  • To display multiple BOMS by selection

    I'm trying to avoid havig to create a report to collectively display multiple BOMS by selection (eg MRP controller, group of header materials etc) to satisfy the following:
    - collective display
    - multi-level display (indented)
    - factor scrap, giving component qtys as per base qty of BOM header
    Trans CS11 provides this info, only on an individual BOM basis.

    Hi,
    Can explain your query a bit more in brief?
    Thanks
    Kathir~

  • Can we convert a variant bom in to a multiple bom

    my problem is i have  a variant bom for a material. i want to create  a alternative boms for that material.it says can not be done sine the bom is a variant bom. it can be done only for a multiple bom.

    Hi,
    Yes, This is the SAP standard functionality.
    Regards,
    V. Suresh

  • Scenario : 1 SC Vendor; 1 Finished Good; Multiple BoM

    Hi Experts .... Client have a situation where they have multiple BOMs for 1 Item and they send the different Raw Materials to One Subcontracting vendor for Job-Work processing.
    Is there any way to enable the selection of BoM at the time of creating Sub-Contracting PO ???

    Thx for your valuable comments Prashant, but the problem is how to choose which BOM to select ... is there any setting/ configuration
    I tried Product Version concept ... but that too is not consistent .. info record gets updated somehow and the choice for Product version also doesn't come after making 1 PO

  • How to create multiple BOM of same parent item?

    Hi All,
    Please guide me, How to create multiple BOM of same parent item? I tried but system throws a message as same Parent Item already exist in the table. I am afraid if system supports this functionality or not?

    Hi,
    You are welcome.......
    Well the exact process would be as I mentioned in my previous post.
    1. Create the BOM for an item
    2. Choose this item in the Production Order
    3. Then in this Production order you can change/ delete/ add whichever item you want .
    OR
    If all the child items are completely different from the original BOM then you can use the Special Type BOM in which you can always create the BOM while creating the Production Order itself. There is no standard BOM here.
    J Nagesh

  • Multiple bom

    Dear all, I want a clarification while working with Multiple Bom.I tried to explode a mulltiple bom with the help of Structure scope "B" at item category.When i gave item category group as LUMF for both BOMS in Multiple bom it reflects as item category for Main Bom is TAP, sub item is Tan and Item category for second Bom is Tan and item category for sub items in the Second Bom are TANN,TANN which is a free item.I checked at VOV4, there i find that ORLUMFTAN-->TANN.I want to know why it is taking as TANN(Free item).Pls, let me know.
    Thanks.
    Aditya.

    Hi,
    You have to maintatin correct item category determination for BOM items. When you are doing that u should give item category for sub items as TAE not TANN. U just change the TANN to TAE and try to exploid BOM once again and check the results.
    Regards
    Sankar

  • Multiple BOMs in subcontracting

    Dear Expert,
    We have one requirement,our client wants multiple BOMs in subcontracting PO.the scenario one finished product have many component raw materials.we can produce the finished product with raw materials.when doing subcontracting PO,when we explode BOM,we have choice of selecting of BOM,which we require.please sugest me.
    Thanks in  advance,
    Varun

    Hi,
    Please check  how to handle alternative BOMs in subcontracting:
    Re: Bom for production order and subcontracting
    Re: Alternative bom
    You can have only one purchasing info record for one vendor/material/purch.org. combination that's why you can assign only one production version to it.
    Based on this I think you cannot solve your requirement in standard system (selection of alternative BOM in subcontracting PO).
    Regards,
    Csaba

  • Multiple BOM and Variant BOM

    Hi Gurus
    Just a small question...
    Can we change the technical type of the BOM from V(Variant) to M(Multiple).
    As that field is always grayed out in editing mode (CS02).
    If we can change, how ??
    Thanks Vineet

    Dear Vineet,
    If a product has more than more than one alternative BOM(more than one BOM for the same BOM
    usage) for that products under the BOM header you will be able to see the technical type as M -
    Multiple BOM.
    You cannot change this.
    variant BOM
    Production Planning and Control (PP)
    A combination of a number of bills of material that lets you describe a product, or several products that have a lot of identical parts.
    The variant BOM describes each object completely, for example, the product "lamp." Each variant BOM contains all the components. This type of BOM is not configurable.
    Procedure
    The system allocates technical types:
    according to the number of alternative BOMs
    When you create the first alternative for a BOM, the technical type is not yet defined. If you extend the BOM by creating an alternative, the system automatically assigns the technical type multiple BOM.
    according to the transaction
    If you create a BOM using the Create variant of... function, the system assigns the technical type variant BOM. After this, you can no longer create alternatives for the BOM.
    Regards
    Mangalraj.S

  • Multiple BOM Explosion in MD04 for the same material

    Dear PP Gurus,
    Scenario is make to order. BOM is created for production usage (1) & sales usage (5) for a Header material. Routing also exists for the same.
    Once i run MRP at plant level or material level after creating sales order , BOM is expoded multiple times i.e. 3- 4 times but proposals ( planned orders) are created as per requirements.But BOM explosion when we click on show overview tree is happening multiple times which should not happen.
    Our client business is not getting hampered by this but still he doesnt want explosion multiple times and to be precise it should not happen.
    Can anyone pls. throw some light on this .
    Thanks in advance . Answers will be rewarded for sure.
    regards,
    Nagraj Vasmate

    Hello Nagraj,
    In MD04, On overview tree, it explodes all possible BOM for the header material.
    System will explode all valid BOM's with usage 5 and 1 for that specific material.
    Reg
    Samson

  • How to use the select option to get the multiple bom explosion

    hi friends,
              i have completed the bom exp using parameters to get one material
    input,but i need to adopt select option to give from and to materials
    i ll gives from and to materials with description and bom deails
    i here gave the coding also, pl give me a suggestion how to adpot the select
    optoins instead of parameters ,very urgent
    REPORT PP_BOM_EXPLOSION.
    tables :mara,marc,stpo.
    TYPE-POOLS : SLIS.
    *parameters: p_werks like t001w-werks obligatory.
    SELECT-OPTIONS : p_matnr FOR mara-matnr obligatory.
    **select-options : p_matnr for mara-matnr obligatory.
    PARAMETERS : P_WERKS LIKE T001W-WERKS OBLIGATORY,
            P_MATNR LIKE MARA-MATNR OBLIGATORY.
    *parameters: p_werks like marc-werks obligatory,
    *p_matnr like marc-matnr obligatory.
    constants c_x value 'X'.
    data: begin of it_comp occurs 0,
    matnr like mara-matnr,
    maktl like makt-maktx,
    idnrk like stpox-idnrk,
    ojtxp like stpox-ojtxp,
    menge like stpox-menge,
    meins like stpox-meins,
    matkl like stpox-matmk,
    end of it_comp.
    data : topmat like cstmat.
    data: w_topmat like cstmat.
    DATA : IT_MARA LIKE MARA OCCURS 0 WITH HEADER LINE.
    DATA : IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV.
    DATA : WA_FIELDCAT_LN LIKE LINE OF IT_FIELDCAT.
    DATA : IT_EVENTCAT  TYPE SLIS_T_EVENT.
    DATA : WA_EVENTCAT_LN  LIKE LINE OF IT_EVENTCAT.
    DATA : IT_LAYOUT TYPE SLIS_LAYOUT_ALV.
    DATA: S_COL_POS TYPE I.
    start-of-selection.
    perform explode_assembly.
    PERFORM BUILD_FIELDCATALOG.
    PERFORM DATA_DISPLAY.
    *end-of-selection.
    *perform write_report.
    *top-of-page.
    *perform print_header.
    *form print_header.
    *write: /(18) 'Component'(h00),
    *(40) 'Description'(h01),
    *'Mat.Group'(h02),
    *(18) 'Quantity'(h03).
    *uline.
    *endform.
    *form write_report.
    *write: / w_topmat-matnr under text-h00 color col_heading,
    *w_topmat-maktx under text-h01 color col_heading.
    *loop at it_comp.
    *write: /
    *it_comp-idnrk under text-h00,
    *it_comp-ojtxp under text-h01,
    *it_comp-matkl under text-h02,
    *it_comp-menge unit it_comp-meins under text-h03,
    *it_comp-meins.
    *endloop.
    *uline.
    *endform.
    form explode_assembly.
    data: it_stb like stpox occurs 0 with header line,
    it_stb2 like stpox occurs 0 with header line,
    it_stb3 like stpox occurs 0 with header line,
    w_msg(255) type c.
    SELECT MATNR FROM MARA INTO CORRESPONDING FIELDS OF TABLE IT_MARA
                               WHERE MATNR IN P_MATNR.
    Explode highest level:
    *LOOP AT IT_MARA.
    call function 'CS_BOM_EXPL_MAT_V2'
    exporting
    auskz = c_x
    capid = 'PP01'
    cuols = c_x
    datuv = sy-datum
    knfba = c_x
    ksbvo = c_x
    mbwls = c_x
    mdmps = c_x
    BGIXO = c_x
    MKMAT = c_x
    MMAPS = c_x
    FBSTP = c_x
    FTREL = c_x
    mtnrv = P_MATNR
    werks = p_werks
    importing
    topmat = w_topmat
    tables
    stb = it_stb
    exceptions
    alt_not_found = 1
    call_invalid = 2
    material_not_found = 3
    missing_authorization = 4
    no_bom_found = 5
    no_plant_data = 6
    no_suitable_bom_found = 7
    conversion_error = 8
    others = 9.
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
    into w_msg.
    *write: / w_msg.
    exit.
    endif.
    Don't process documents
    delete it_stb where idnrk is initial.
    Don't process valid from furure:
    delete it_stb where datuv >= sy-datum.
    Explode phantom assemblies up to last level
    *do.
    it_stb2[] = it_stb[].
    *delete it_stb2 where dumps is initial.
    *if it_stb2[] is initial.
    *exit.
    *endif.
    *delete it_stb where not dumps is initial.
    delete it_stb where VPRSV <> 'S' OR MMSTA = '61'.
    loop at it_stb2.
    call function 'CS_BOM_EXPL_MAT_V2'
    exporting
    capid = 'PP01'
    auskz = c_x
    cuols = c_x
    datuv = sy-datum
    knfba = c_x
    ksbvo = c_x
    mbwls = c_x
    mdmps = c_x
    FBSTP = c_x
    FTREL = c_x
    mtnrv = it_stb2-idnrk
    werks = p_werks
    tables
    stb = it_stb3
    exceptions
    alt_not_found = 1
    call_invalid = 2
    material_not_found = 3
    missing_authorization = 4
    no_bom_found = 5
    no_plant_data = 6
    no_suitable_bom_found = 7
    conversion_error = 8
    others = 9.
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
    into w_msg.
    *write: / w_msg.
    else.
    delete it_stb3 where idnrk is initial.
    delete it_Stb3 where sobsl = 50.
    loop at it_stb3 .
    multiply it_stb3-menge by it_stb2-menge.
    modify it_stb3 transporting menge.
    endloop.
    append lines of it_stb3 to it_stb.
    endif.
    *ENDLOOP.
    endloop.
    *enddo.
    Build table of components collecting the same components from
    all levels
    loop at it_stb.
    it_comp-matkl = it_stb-matmk.
    it_comp-idnrk = it_stb-idnrk.
    it_comp-ojtxp = it_stb-ojtxp.
    it_comp-menge = it_stb-menge.
      CALL FUNCTION 'CONVERSION_EXIT_CUNIT_OUTPUT'
        EXPORTING
        INPUT                = IT_STB-MEINS
        LANGUAGE             = SY-LANGU
        IMPORTING
      LONG_TEXT            =
       OUTPUT               = IT_STB-MEINS
      SHORT_TEXT           =
    EXCEPTIONS
       UNIT_NOT_FOUND       = 1
       OTHERS               = 2
        IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
    it_comp-meins = it_stb-meins.
    collect it_comp.
    clear it_comp.
    endloop.
    *READ TABLE IT_COMP INDEX 1.
    *IF SY-SUBRC = 0.
    IT_COMP-MATNR = w_topmat-matnr.
    IT_COMP-MAKTL = w_topmat-maktx.
    INSERT IT_COMP index 1.
    *ENDIF.
    ENDFORM.
    FORM TO APPEND DATA INTO ALV FORM
    FORM BUILD_FIELDCATALOG.
    PERFORM BUILD_FIELDCAT USING 'MATKL' 'Component'.
    PERFORM BUILD_FIELDCAT USING 'MATKL' 'Component'.
    *loop at it_comp.
       PERFORM BUILD_FIELDCAT USING 'MATNR' 'Material'.
      PERFORM BUILD_FIELDCAT USING 'MAKTL' 'Material Description'.
      PERFORM BUILD_FIELDCAT USING 'IDNRK' 'Component'.
      PERFORM BUILD_FIELDCAT USING 'OJTXP' 'Description'.
      PERFORM BUILD_FIELDCAT USING 'MATKL' 'Material Group'.
      PERFORM BUILD_FIELDCAT USING 'MENGE'  'Quantity'.
      PERFORM BUILD_FIELDCAT USING 'MEINS' 'Unit Of MEASUREMENT'.
    *endloop.
    ENDFORM.
    FORM TO BUILD IN FIELD CATALOG FOR ALV FORM
    FORM BUILD_FIELDCAT USING L_FIELDNAME LIKE DD03L-FIELDNAME S_TEXT LIKE DD03P-SCRTEXT_M.
      CLEAR WA_FIELDCAT_LN.
      ADD 1 TO S_COL_POS.
      WA_FIELDCAT_LN-REF_TABNAME  = 'IT_COMP'.
      WA_FIELDCAT_LN-FIELDNAME    = L_FIELDNAME.
      WA_FIELDCAT_LN-SELTEXT_M    = S_TEXT.
      WA_FIELDCAT_LN-COL_POS      = S_COL_POS.
      WA_FIELDCAT_LN-QFIELDNAME   = SPACE.
      WA_FIELDCAT_LN-HOTSPOT      = SPACE.
      WA_FIELDCAT_LN-JUST         = 'R'.
      APPEND WA_FIELDCAT_LN TO IT_FIELDCAT.
    ENDFORM.
    FORM TO BUILD IN FIELD CATALOG FOR ALV FORM
    FORM DATA_DISPLAY.
    CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
    EXPORTING
      I_CALLBACK_HTML_END_OF_LIST       = ' '
      I_STRUCTURE_NAME                  =
      I_BACKGROUND_ID                   = ' '
       I_GRID_TITLE                      = TEXT-001
      I_GRID_SETTINGS                   =
      IS_LAYOUT                         =
       IT_FIELDCAT                       = IT_FIELDCAT
    IMPORTING
      E_EXIT_CAUSED_BY_CALLER           =
      ES_EXIT_CAUSED_BY_USER            =
      TABLES
        T_OUTTAB                          = IT_COMP
       EXCEPTIONS
       PROGRAM_ERROR                     = 1
       OTHERS                            = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
             WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    endform.
    Thanks in advance
                                                                                    Regards
    senthilkumar D

    tables :mara,marc,stpo.
    parameters: p_werks like t001w-werks obligatory.
    *p_matnr like mara-matnr obligatory.
    *select-options : p_matnr for mara-matnr obligatory.
    select-options : P_matnr for mara-matnr.
    *parameters: p_werks like marc-werks obligatory,
    *p_matnr like marc-matnr obligatory.
    constants c_x value 'X'.
    data: begin of it_comp occurs 0,
    idnrk like stpox-idnrk,
    ojtxp like stpox-ojtxp,
    menge like stpox-menge,
    meins like stpox-meins,
    matkl like stpox-matmk,
    end of it_comp.
    data: w_topmat like cstmat.
    data : begin of itab occurs 0,
            matnr like mara-matnr,
            end of itab.
    *data : itab type table of mara with header line.
    start-of-selection.
    perform explode_assembly.
    end-of-selection.
    perform write_report.
    top-of-page.
    perform print_header.
    form print_header.
    write: /(18) 'Component'(h00),
    (40) 'Description'(h01),
    'Mat.Group'(h02),
    (18) 'Quantity'(h03).
    uline.
    endform.
    form write_report.
    write: / w_topmat-matnr under text-h00 color col_heading,
    w_topmat-maktx under text-h01 color col_heading.
    loop at it_comp.
    write: /
    it_comp-idnrk under text-h00,
    it_comp-ojtxp under text-h01,
    it_comp-matkl under text-h02,
    it_comp-menge unit it_comp-meins under text-h03,
    it_comp-meins.
    endloop.
    uline.
    endform.
    form explode_assembly.
    data: it_stb like stpox occurs 0 with header line,
    it_stb2 like stpox occurs 0 with header line,
    it_stb3 like stpox occurs 0 with header line,
    w_msg(255) type c.
    select matnr from mara into table itab where matnr  between p_matnr-low and p_matnr-high.
    loop at p_matnr.
      itab-matnr = p_matnr-low.
       append itab.
       itab-matnr = p_matnr-high.
       append itab.
       clear itab.
       endloop.
    Explode highest level:
    loop at itab.
    call function 'CS_BOM_EXPL_MAT_V2'
    exporting
    auskz = c_x
    capid = 'PP01'
    cuols = c_x
    datuv = sy-datum
    knfba = c_x
    ksbvo = c_x
    mbwls = c_x
    mdmps = c_x
    BGIXO = c_x
    MKMAT = c_x
    MMAPS = c_x
    FBSTP = c_x
    FTREL = c_x
    mtnrv = itab-matnr
    werks = p_werks
    importing
    topmat = w_topmat
    tables
    stb = it_stb
    exceptions
    alt_not_found = 1
    call_invalid = 2
    material_not_found = 3
    missing_authorization = 4
    no_bom_found = 5
    no_plant_data = 6
    no_suitable_bom_found = 7
    conversion_error = 8
    others = 9.
    if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno
    with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
    into w_msg.
    write: / w_msg.
    exit.
    *else.
    endif.
    loop at it_stb.
    it_comp-matkl = it_stb-matmk.
    it_comp-idnrk = it_stb-idnrk.
    it_comp-ojtxp = it_stb-ojtxp.
    it_comp-menge = it_stb-menge.
    it_comp-meins = it_stb-meins.
    collect it_comp.
    clear it_comp.
    endloop.
    endloop.
    endform.
    i got the low and high from selectoption and then move it into itab.
    then i pass itab-matnr into fm. using loop.
    but i got only one output
    but ineet to got from and to output.
    give me a solution
    Regards
    ds

  • How to create production version for multiple BOM & Routing ?

    If I have 3 BOMs ( A, B & C ) and 2 Routing ( 1 & 2 ) for material XYZ then how then production version will be created ? I feel that there will be 6 PVs.
    combination of A1, A2, B1, B2, C1 & C2. but some one told me that  I have to create duplicate routing of 1 & 2
    with number 3 & 4 and use it for bom B, and another duplicate Routing with number 5&6 and use it for BOM C.
    in this case my PV data will be like this A1, A2, B3, B4, C5, C6.
    Please guide me which way is correct. I feel that the first way is right, because in that case I have 2 routing in system, and in second way I have total 6 routings for that product. please guide me.

    Hi Archana
      If you are doing component allocation with routing ,
    routing for material 1  counter 1 you are choosing alternate Bom  1 or 2 for material.
    similarly for Material 1 counter 2 you are choosing alternate Bom 1 0r 2 according to your choice
    like this   3 routing groups will get created with each have 2 counters
    if you allocate similar kind of material in one group in material allocation tab & you are going for component allocation it will assign one material bom.
    second material bom will not get assigned to the operation.
    if you are not going assign the component at the routing level than you can follow first process.
    if you are planning to allocate components at routing level than you have to follow second process.
    If have any more doubt kindly revert back with your query.
    Thanks & Regards
    Sandeep Kumar Praharaj

  • Info record multiple BOM version - problem

    Dear Experts,
    We are facing one issue with info record.
    In our business scenario, we have two sub-contractor BOM with same FG
    Component , But while create purchase order system pickup 1st BOM ,
    We have facility to update version in info record i.e. one, we have also maintain source list
    We need both BOM in same vendors.
    How to maintain two versions in info record & it is explore in sub-contracting purchase order
    plz guide us.
    Thanks & Regards.
    Santosh....
    Edited by: Sanjeev Shrivastava on Mar 7, 2012 2:06 PM

    Hi,
    This is not possible in std.
    You can develop an enhancement to display a pop-up of diff. BOM versions while you click on Explode BOM in PO and select the required version.
    We had similar reqt and this is how we did.

Maybe you are looking for