Overwrite material BOM component

Hi,
I am trying to over-write the component of a material BOM with another component in the same position. I am using FM CSAP_MAT_BOM_MAINTAIN for this. I am passing values to the the below parameters.
MATERIAL                            H.1013.2476
PLANT                                  3000
BOM_USAGE                       1
ALTERNATIVE                     1
VALID_FROM                      01.01.2003
FL_COMMIT_AND_WAIT     X
FL_DEFAULT_VALUES       X
Values that I am passing in T_STPO
ITEM_CATEG                        L
ITEM_NO                               0010
COMPONENT                        H.1013.4572
COMP_QTY                          5.0
COMP_UNIT                          EA
Here initially the BOM component is H.1013.4570 and I am trying to change it to H.1013.4572. This should be like replacing H.1013.4570 with H.1013.4572 in the same position. This can be done by CS02. However when I am using the above FM and then checking CS03 i see 2 BOM components H.1013.4572 and H.1013.4572. So basically this is not a replacement.
I also tried FMs for the same activity but didn't get the desired result.
a. CSAP_MAT_BOM_OPEN
b. CSAP_BOM_ITEM_MAINTAIN
c. CSAP_MAT_BOM_CLOSE
Could anyone tell me how it can be done.
Regards,
Rakesh

I was looking into a possible solution for changing the BOM component. I tried to get the result with some other BAPIs however I found none to achieve the desired results.
However I found a possible solution with the original BAPI CSAP_MAT_BOM_MAINTAIN. After passing some possible combination of values I came to the conclusion that in table structure T_STPO type STPO_API03 we can use 2 fields u201CITEM_NODEu201D and u201CITEM_COUNTu201D to get the results (I see that these 2 fields have values in SAP Table STPO in fields u201CSTLKNu201D and u201CSTPOZu201D).
If we are passing the values to the below fields of the structure T_STPO, then the desired results can be achieved.
T_STPO (Mandatory Fields to get the result)
ITEM_CATEG                    L
ITEM_NO                           0010
COMPONENT                   H.1013.4572 (New BOM component that would be replacing the old one)
COMP_QTY                       4.0
COMP_UNIT                      EA
ITEM_NODE                      00000016
ITEM_COUNT                   00000032
Here, the only part that I am not sure of is whether ITEM_NODE and ITEM_COUNT can be passed from the 3rd party system. I believe that these are automatically generated numbers when a BOM component is created.

Similar Messages

  • Copy BOM Component Characteristic value in material PR created by MRP Run

    Dear Gurus,
    My requirement is I have materials like thread to maintain color characteristic i have create class - color- class type is 023 , now i want user should able to maintain characteristic value in BOM component (thread) of semifinish material.  FG , SFG  are not having any characteristic.
    Now in PR and PO we can maintain characteristic value in Material Data --->Configuration tab , Configuration tab will come only when there is tick in material is configurable at material basic data 2 view of thread and in CU41 I have to maintain material for class type 300 - Variant , then in class assignment i have select class type 300 and 023 both and maintain class , both are having same characteristic please make me correct if i am doing wrong process, if i am not maintaining class assignment 300 in CU41, in manual PO system not allowing to enter characteristic value in configuration tab . so i maintain both class assignment 300 and 023.
      Now for manual PR and PO system showing configuration tab and from PO configuration tab characteristic value is coming in MIGO automatically but when i am running MRP for finish material the auto PR generated by system for material thread is not showing configuration tab in Material Data of PR. I have maintain characteristic value in BOM --->Extra--->Batch Classification. Please guide me how to archive this.
    Thanks & Regards
    Akshay.

    Akshay kukde,
    Still i am unable to understand the reason for maintaining a characterstic value for a batch through BOM, I hope you are not changing BOM for every purchase order ?
    can you explain what you expect by maintaing this one value for batch characterstic?
    you can have many other simple option like
    1) Create a material with colour included in it ex, Thread_red, Thread _green etc and use them in BOM
    2) Use text in BOM to hold this discription for colour
    3) Use batch management, class 023 in material master classification , defalut value for colour, purchase order will be created and while doing GR you can change in colur if its different then default you set earlier.
    Akshay kukde wrote:
    if i am creating PR Manually -ME51N , system showing configuration tab , where i can maintain characteristic value , which then reflecting in PO and from PO to MIGO
    The above scenario I have tried by maintaining class type 023 and same characteristic in material Master. but result is same for auto generate PR by MRP- configuration tab is missing.
    My requirement in this case is characteristic value should flow from BOM to PR generated by MRP.
    when you manualy create PR you Thread material is consider to be a configurable material and thats why you are able to input configuration value, otherwise as soon as you put this configurable material inside a BOM of normal materila it loost its configuration feature, if you want you can create your parent material also as configurable material, assign same class to it and create configuration profile and take MRP run this time you will get PR with configuration tab as your thread get configuration derived from parent.
    Hope above details may help you.
    Check and reply, also mark replies helpful if it helps you.
    Thanks
    Ritesh

  • FM For Finding if Material BOM exits for BOM component.

    Hi,
    Is there any FM or BAPI to find out if there is any material BOM exists for the BOM component.
    How is Indicator assembly get assighned..?
    Any inputs would be appreciated.
    Thanks,
    Mark

    Sample program.
    report zrich_0001 .
    * Internal Tables
    data: i_stpov like stpov occurs 0 with header line.
    parameters: p_matnr type marc-matnr,
                p_werks type marc-werks.
    start-of-selection.
    perform where_used tables i_stpov
                       using p_matnr
                             p_werks.
    loop at i_stpov.
      write:/ i_stpov-matnr, i_stpov-werks.
    endloop.
    *  FORM WHERE_USED.
    form where_used tables itab
                    using  matnr
                           werks.
      data: selpool like mc29s.
      data: eqpcat  like cscequi occurs 0.
      data: kndcat  like cscknd  occurs 0.
      data: matcat  like cscmat  occurs 0.
      data: prjcat  like cscprj  occurs 0.
      data: stdcat  like cscstd  occurs 0.
      data: tplcat  like csctpl  occurs 0.
      clear itab. refresh itab.
      call function 'CS_WHERE_USED_MAT'
           exporting
                datub                      = sy-datum
                datuv                      = sy-datum
                matnr                      = matnr
                postp                      = ' '
                stlan                      = ' '
                werks                      = werks
                stltp                      = ' '
           importing
                topmat                     = selpool  "Not Currently Used
           tables
                wultb                      = itab
                equicat                    = eqpcat  "Not Currently Used
                kndcat                     = kndcat  "Not Currently Used
                matcat                     = matcat  "Not Currently Used
                stdcat                     = stdcat  "Not Currently Used
                tplcat                     = tplcat  "Not Currently Used
                prjcat                     = prjcat  "Not Currently Used
           exceptions
                material_not_found         = 02
                no_where_used_rec_found    = 03
                no_where_used_rec_selected = 04
                no_where_used_rec_valid    = 05.
    endform.
    Regards,
    Rich Heilman

  • Configured material BOM table details requried for component list

    Hi PLM Experts,
          As per the client requirement, we need to activate one sales condition type based on Super BOM components list. To define a logic for the above requirement, to list out the component we checked in STPO Table and in this table its appearing only the phantham materials not the real BOM of the component is appearing.
        So can you please suggest the table name where i can find the Bill Of Material of my Finished Product (Configured material) in the Table level.
    Warm Regards.
    Velmurugan P

    Thanks Ajit.
    But the problem still persist. The tables you have listed will suits for regular BOM compoents list. But we want to know the Table / procedure details in case of Configured material BOM details. Because for configured materials the BOM will be determined during sales order (Planned order) only.
        This BOM of configured material won't get stored in the table you have listed. As per our requirement we are looking for table details where we can list out the components list to perform the additional charges in the sales order based on BOM.
    Warm Regards,
    VEL

  • Bom Component qty & WIP Quantity differ at Trget cost calculation

    Dear gurus,
    i am facing the problem with WIP at target cost calculation in REM.
    My issue is
    BOM Component qantity is 9.524 TO  and price is 2000 then total cost is  9.521*2000=19048.
    but in WIP Report kkas in WIP explation it takes input qty 9.52 T0 and price 2000 then total price is 19040.
    Difference is 19048 - 19040 =8
    and also when i am issuing actual qty i.e 9.524 in BOM then my price is 19048.00 ant at time of variance calculaton then quantaty variance as   9.52.0-9.524.0=-0.04  then 0.004*2000 =-8 
    Please suggest solution for this.
    Any OSSS NOTE Required
    any Quires please revert back
    REGARDS
    Avinash.pegarlawar

    Hi
    Rounding differences between target and actual values and quantities are not unlikely to occur and cannot always be avoided but can be minimized.
    Small prices and price unit of 1 are likely to cause more of these rounding differences..
    The actual credit is simply calculated as price * quantity. The target credit however is calculated during the variance calculation
    and based on the sum of all items in the itemization/cost components of the cost estimate and therefore more accurate.
    To avoid this I suggest to store the material price with a larger price unit, i.e. 1000
    Std cost release stores price upto 2 decimals and target cost calculation goes upto 3 decimals...
    Please check also the note 1265918 for more information to this topic.
    Regards
    Ajay M

  • How to change the header of Material BOM in a program for alternative BOM ?

    Requirement: An Inbound IDOC creates /change/delete Alternative Material BOM. The Alternative Material BOM can have alternative values from 1 to 99.
    ISSUE: I am good with CREATE and DELETE BOM. The issue is with CHANGE of header Material BOM. The fields which we need to change in the header is the base quantity, BOM status, Lot Size from and Lot Size to. Please note that I am able to change the item details of the BOM with FM CSAI_BOM_MAINTAIN. I find no FM /BAPI which would change the header of a material BOM.
    Please NOTE that I am using BAPI_MATERIAL_BOM_GROUP_CREATE to create alternative Material BOM. This has a parameter in TABLES called "VARIANTS" which has a field CS_FUNCTION which can have value from NEW/CHG/DEL .Also ,there is another parameter in TABLES called "ITEMASSIGNMENTS" which has a field CS_FUNCTION which can have value from NEW/CHG/DEL which implies this FM will allow us to change the BOM. But this does not work when I use it for CHANGE scenario with CHG value. I debugged this BAPI and observed it requires a STNLR(Bill of Material) value . This field is not there in any of the structure. I am not sure if I am passing the right parameters to it.
    Let me know if the parameters are passed correctly for CHANGE scenario.
    Also let me know if there is any other way(FM/BAPI)  to update the Header of the Material BOM ?
    Here is the code I am using:
    *& Report  ZTEST_S_E
    REPORT  ZTEST_S_E.
    * This code will create a material BoM for the material
    * MAINMATERIAL with the components COMPON1 and COMPON2.
    * Data Declaration
    DATA:
    it_bomgroup LIKE bapi1080_bgr_c OCCURS 0 WITH HEADER LINE,
    it_variants LIKE bapi1080_bom_c OCCURS 0 WITH HEADER LINE,
    it_items LIKE bapi1080_itm_c OCCURS 0 WITH HEADER LINE,
    it_matrel LIKE bapi1080_mbm_c OCCURS 0 WITH HEADER LINE,
    it_itemas LIKE bapi1080_rel_itm_bom_c OCCURS 0 WITH HEADER LINE,
    it_return LIKE bapiret2 OCCURS 0 WITH HEADER LINE.
    * Fill the data
    * Material BoM Group Header Data
    CLEAR it_bomgroup.
    it_bomgroup-bom_group_identification = 'BAPI_SMP_COL1'.
    it_bomgroup-object_type = 'BOM'.
    it_bomgroup-object_id = 'SIMPLE1'.
    it_bomgroup-bom_usage = '1'. " YOU COULD CHANGE THE BOM USAGE TO YOUR
    *NEEDS
    it_bomgroup-ltxt_lang = sy-langu.
    it_bomgroup-technical_type = ' '.
    it_bomgroup-bom_text = 'Simple BoM - FM'.
    APPEND it_bomgroup.
    * Header Details of the different variants
    CLEAR it_variants.
    it_variants-CHANGE_NO  = '500000000349'.
    it_variants-bom_group_identification = 'BAPI_SMP_COL1'.
    it_variants-object_type = 'BOM'.
    it_variants-object_id = 'SIMPLE1'.
    it_variants-alternative_bom = '01'.
    it_variants-bom_status = '01'.
    it_variants-base_qty = '2.000'.
    it_variants-valid_from_date = sy-datum.
    it_variants-function = 'CHG'.
    APPEND it_variants.
    * Details of the items of the variants
    CLEAR it_items.
    it_items-bom_group_identification = 'BAPI_SMP_COL1'.
    it_items-object_type = 'ITM'.
    it_items-object_id = 'SIMPLE1'.
    it_items-item_no = '0010'.
    it_items-item_cat = 'L'.
    it_items-component = '030790490'.
    it_items-comp_qty = '2'.
    it_items-valid_from_date = sy-datum.
    APPEND it_items.
    CLEAR it_items.
    it_items-bom_group_identification = 'BAPI_SMP_COL1'.
    it_items-object_type = 'ITM'.
    it_items-object_id = 'SIMPLE1'.
    it_itemas-change_no = '500000000138'.
    it_items-item_no = '0020'.
    it_items-item_cat = 'L'.
    it_items-component = '030790490'.
    it_items-comp_qty = '3'.
    it_items-valid_from_date = sy-datum.
    APPEND it_items.
    * Details of the materials of the different variants
    CLEAR it_matrel.
    it_matrel-bom_group_identification = 'BAPI_SMP_COL1'.
    it_matrel-material = '030790490'.
    it_matrel-bom_usage = '1'.
    it_matrel-alternative_bom = '01'.
    APPEND it_matrel.
    * Linking items to the corresponding variants
    CLEAR it_itemas.
    it_itemas-bom_group_identification = 'BAPI_SMP_COL1'.
    it_itemas-sub_object_type = 'ITM'.
    it_itemas-sub_object_id = 'SIMPLE1'.
    it_itemas-super_object_type = 'BOM'.
    it_itemas-super_object_id = 'SIMPLE1'.
    it_itemas-valid_from_date = sy-datum.
    it_itemas-function = 'CHG'.
    APPEND it_itemas.
    * Create variants
    CALL FUNCTION 'BAPI_MATERIAL_BOM_GROUP_CREATE'
    EXPORTING
    all_error = 'X'
    TABLES
    bomgroup = it_bomgroup
    variants = it_variants
    items = it_items
    materialrelations = it_matrel
    itemassignments = it_itemas
    return = it_return.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
    LOOP AT it_return.
    WRITE:/ it_return-type, it_return-id, it_return-number,
    it_return-message.
    ENDLOOP.
    Let me know if the parameters are passed correctly for CHANGE scenario.
    Also let me know if there is any other way(FM/BAPI)  to update the Header of the Material BOM ?

    Try doing something like this:
    class MyJTextArea extends JTextArea {
        public boolean keyDown(Event evt,int key) {
            if(key == 13 || key == 10) { // or whatever ascii codes enter may have
                // move carret to next line
            } else {
                super.keyDown(evt, key);
    }which means you have got to catch the enter-key before the actutal JTextArea does this.
    p.s. look at my post, maybe you can help me, too.
    http://forum.java.sun.com/thread.jsp?forum=5&thread=465803&tstart=0&trange=100

  • Automatic PR for non-stock BOM component for Subcontract PO

    Dear Guru,
    Can you any master please advice me on below question?
    We have a subcontract PO with the BOM component of non-stock, can i know if there is possible for those non-stock BOM component to generate a Purchase Requisition automatically, any existing configuration that we can do?
    Thank you very much,
    Regards
    Chee Wee

    Hi,
    You can use Material Type "NLAG" for Non-stock materials.
    Non stock materials cannot be stored, right, hence the name non-stock.
    Non-stock material includes materials that are not managed on an inventory basis (for example, small parts such as nails) though physically in stock.
    You can create a BOM which contains an NLAG item or directly use in Production order also.
    item Category "N" So system will create the purchase requisition when there is requirement.
    We receive the non stock material using movement type 101. upon receiving the material will be consumed.
    Please refer link below for better understanding.
    BOM explosion in MRP for non-stock material
    What  is use of  Item Category N(non-stock item) in BOM creation
    Believe this could help your queries. TQ
    rgds,
    nanthakumar

  • Change item category of BOM component

    Hi,
    Our user wanted to change the item category for BOM components through transaction IB12 using LSMW.Wanted to confirm whether it is possible to change item categoryof BOM component from "N" to "L" through LSMW.What exactly will be effected because of this change?And the steps to change the item category from "N" to "L" for the list of BOM component using LSMW.
    Request your valuable thoughts.
    Thank you in advance,
    Regards,
    Rubina Rahman

    Hi Rubina,
    N is non stock item
    L is stock item
    You have to make sure why the business warants to chnage the item category.
    To answer the question:
    It is possible to chnage the item category from "N" to "L" through LSMW (Provided depends on the number of components used in a BOM. If the number of items exceeds to multiple screen, then you have to think of developing BDC)
    The effect will be: with item category "N" if the material is used in the order, based on the configuration the system shall automatically trigger the purchase requisition. With item category "L" it is assumed as stock is available and taken care by MRP program.
    Suppose if it is material BOM:
              A. Use T.code: CS02 in LSMW recording
              B.  Provide information like Material number, Plant, BOM usage
              C. In the item level change the item category from N to L
              D. Save the recording
              E. I hope you know the remaining LSMW process steps
    Cheers,
    Raj

  • Material BOMs with document items using RCSBI010

    Has anyone uploaded material BOMs with document items using RCSBI010?  I set the item category to D, but receive an error in LSMW when I attempt to convert the data.  The error specifies that the document items are not valid material numbers.  They are not material numbers.  They are document info records.

    Found the problem. The document number was being mapped to BOM Component IDNRK instead of document number DOKNR.

  • Material BOM explosion in Service Order components

    Hi experts,
    I created a Material BOM with transaction code CS01.
    Then I try to add this BOM in the component of a service order.
    What I expected is the BOM to be exploded in the service order. But this behaviour doesn't occur.
    Do you know what I can do to trigger a Material BOM explosion at service order level.
    By the way, the BOM is not exploded after the service order (in the reservation or in MIGO).
    Thank you for your help.

    Hi Özgen,
    Thank you for help.
    Special Procurement 50 didn't exist in my system.
    I created it in SPRO for the plant with the Procurement Type F (External Procurement) and the flag Phantom Item checked..
    Then I created
    - Material A (MM01)
    - Material BOM A (CS01) with:
    -- item 1 Material B (which has Spec Proc Type 50 in MM02-MRP2)
    -- item 2 Material C (which has Spec Proc Type 50 in MM02-MRP2)
    After that I created a Service Order (IW31)
    I put Material A in the Component tab with quantity 1.
    The BOM remains unexploded.
    Did I miss something?

  • By-Product as a BOM component

    Hello gurus,
    During the manufacture of my main product there is a by-product being produced at a certain stage. I have to mention this particular item as a BOM component and signify it with a negative sign. When i do this, then during the Goods receipt stage of my main product I also have certain qty of by-product coming to stores. This is all well and fine, But I do not want the cost of this by product to be subtracted from the main product when i do the cost estimate in CK11N, What are the settings that have to be done to achieve this.
    I want the by-product qty to be credited to stores but do not want the cost of this by-product to be subtacted from the main product.
    Thanking you in anticipation
    regards
    Sri.

    Hi ,
    There are two options to avoid this.
    1. Remove costing relevancy tick mark  from BOM
    2. In material master costing view maintain 100 % costing structure for header component.
    This will solve your problem
    Regards,
    Amit

  • How can read BOM component date before save the production order??

    Hi Experts,
    In our company, we need to develop a program to read the BOM component data of the production order
    before we save the production order.
    That for example ,when we create and release a production order , before we save the production
    order,we want a porgram to read the BOM component data. If some component data can meet our
    requriement (may be if there is material requirement quantity>100 EA),then the system will pop up a
    small dialog box to remind us.
    There is user exit PPCO0007 and PPCO0007.But it seems they only can read the head data of the
    production order before we save the production order. And the BOM component data of the production
    order are saved in the RESB(Reservation Table).So if we do not save the production order,all the BOM
    component data are not saved in the RESB table.
    So how can slove the problem??
    How can read component date before save the production order??
    Are there any other user exit we can use???

    Hi Just wanted to check am I right that you are trying to check if you have enough Materials Available before you release or Save the order right ? if this is your business objective then when you create order you have material availability tab which checks and gives error if shortage is there. Please let me know if is this wht you asking for ?

  • Fields of the material BOM are overwritten by values from customising.

    I have the an issue wherein I am trying to update a material BOM, and I pass a blank value to REL_COST (or SANKA ) in item. But somehow in the function module CSAP_MAT_BOM_MAINTAIN it gets defaulted to X while posting the BOM update.
    When I use the function module CSAP_MAT_BOM_CREATE to create BOM it works fine. I see there is OSS note 1012556, but looks like it is valid for different function module CDESK_BOM_WIZARD, which is relevant to my scenario. However that function module is for dialog mode and not released yet.
    I pass below values to T_STPO structure, rest all fields are initial.<br />
    <br />
    ITEM_CATEG                                              L<br />
    ITEM_NO                                         0020<br />
    COMPONENT                                               4000018468<br />
    COMP_QTY                                                          300.000<br />
    COMP_UNIT                                               EA<br />
    FIXED_QTY                                          <br />
    ITEM_TEXT1                                              TEST<br />
    ITEM_TEXT2                                              TEST<br />
    REL_COST<br />
    MAT_GROUP                                               241416W1<br />
    ID_ITM_CTG                                              L<br />
    ID_ITEM_NO                                              0020<br />
    ID_COMP                                         4000018468<br />
    <br />

    I have this same issue.
    I found a workaround, passing "!" instead of space when I want to reset fields such as cost relevancy, text1 and text2.  My issue is on CSAP_BOM_Maintain.
    So for your solution, you just call the same function 2x with same values?

  • SG:50, Cannot convert planned orders to prod orders at BOM component level

    Test scenario for Strategy Group 50 (Planning without final Assembly)
    Product Structure
    Material-->  SG50.00 > FERT> (Strategy Group: 50)
    Material---> SG50.02 --> HALB --->(Strategy Group: 40)
    Material---> SG50.04 ---> ROH --->(Strategy Group: Blank)
    Maintained PIRs and Ran MRP at the header level, Planned orders are created
    with order type VP at levels of BOM structure. Thus cannot covert planned orders
    to production orders without having sales order.
    But my understanding of Strategy Group 50, is BOM components can be produced before hand (i.e.
    before sales orders are recieved ). Now planned orders with order type VP not able to convert
    planned orders to prod orders at BOM component level

    Stuti/Prasobh:
    Thanks for your inputs, it answers my question
    Intially maintained Individual/Collective indicator to "2" at header level (FERT), which is why all the planned orders are created with order type VP
    Changed the Individual/Collective indicator to "blank " at header level (FERT), and maintained Individual/Collective indicator  to "2" at component level
    Reran the MRP (MDO2), with the following settings --> Delete and Recreate planning data and Check mark on  Also plan on unchanged components
    Able to see planned orders at component level with order type LA
    Due points have been assigned

  • Validation of material BOM quantity at the time of production order confirm

    Hi,
    I want validation on material BOM ,when i confirm production order.
    Actually when i am going to confirm my production order by tcode CO11, In this screen,i click on "Goods Movement" button. According to confirmed quantity , consumed materials will display. Here i can change material quantities. And here i want some validation. I there any user exit for this screen.

    Hi,
             Exit Name Description
    PCSD0001 Applications development R/3 BOMS
    PCSD0002 BOMs: Customer fields in item
    PCSD0003 BOMs: Customer fields in header
    PCSD0004 BOM comparison
    PCSD0005 BOMs: component check for material items
    PCSD0006 Mass changes user exit
    PCSD0007 Check changes in STKO
    PCSD0008 WBS BOM: Customer-specific explosion for creating
    PCSD0009 Order/WBS BOM, determine URL page
    PCSD0010 Order/WBS BOM, determine explosion date
    PCSD0011 Knowledge-based order BOM, parallel update
    PCSD0012 Customer - Mat. number/mat. number during material exchange
    PCSD0013 Customer-specific processing of an explosion for BOM browser
    PCSD0014 Knowledge-Based Order BOM: Status
    BADI's are
    WORKORDER_CONFIRM
    WORKORDER_UPDATE
    WORKORDER_GOODSMVT
    <b>Reward points</b>
    Regards

Maybe you are looking for