Change material BOM

hi gurus,
how can i change material after creation of bom..if we cant change then how can we delete the bom..
thank & Regard
Rahul

Hi Rahul,
do you want to change the details of the header material of the BOM or of the component?
Changes are limited depending on the kind of material you want to change and the change you want to make.
Deleting should be a last resort, if it is not at all possible to change the 'material' in BOM.
provide the exact requirement so that the solution can be specific.
Thanks,
Regards,
Sandeep

Similar Messages

  • Change material BOM / item / Class Recursion

    I'm looking for a way to change the "recursiveness allowed" flags in the "Class Recursion" tab of a BOM item in transaction CS02. The flag corresponds with the fiels REKRS in table CLRK. No BAPI or FM found after half a day of searching. The CSAP_* function modules don't seem to cover this data.

    Hi,
    This indicator is automatically set based on the conditions mentioned here [Class Recursiveness|http://help.sap.com/saphelp_470/helpdata/en/ea/e9b54a4c7211d189520000e829fbbd/content.htm]. You can have look at fm CSAI_BOM_MAINTAIN which has that indicator FL_RECURSIVE. As the documentation says
    The system recognizes recursiveness for a class item if the following objects are allocated to the class in the class item:
        The BOM header material
        A material with a BOM which contains the BOM header material as an item
        A class to which one of the materials described above is allocated
    You can try logics like removing the header material from the item, so that recursiveness is avoided, May be by using CSAP_BOM_ITEM_MAINTAIN. Explode the existing BOM using CS_BOM_EXPLOSION and compare the header & item materials.

  • Making ECR No. Compulsory While Changing Material BOM (T. Code CS02)

    Hi,
    In our business scenario, we want to make ECR No. compulsory while changing BOM using transaction code CS02. Process which we are looking at would be as below.
    1)     Default initial status of BOM will be set as u20182u2019 (Inactive) through customizing.
    2)     ECR No. should not be compulsory for transaction code CS01.
    3)     When BOM creation is completed, status of BOM will be changed to u20181u2019 (Active With History Requirements) by user.
    4)     When user goes to transaction code CS02 for changing BOM,
    a.     If BOM status is u20181u2019 & ECR No. is not entered, system should give error message (Message No. 29045) & should not allow user to go further.
    b.     If BOM status is u20182u2019, system should allow user to change BOM without entering ECR No.
    5)     Once BOM status is set to u20181u2019, system should not allow to change it.
    Please guide me how this process can be achieved.

    Dear Abhijit,
    If my understanding is correct then it seems you want to make change number as mandatory for CS02 alone.
    apart from the configuration settings in OS27,setting the correct value for the authorization object C_STUE_NOH,normally it will be
    made for all the T.Codes CS01/CS02.In your case you want to make it mandatory only for CS02 alone,So check in this way.
    In this case you may have to create 2 different roles,one containing the authorization only for CS01 and for authorization object
    C_STUE_NOH with Yes.
    The other role for CS02 alone for the authorization object C_STUE_NOH with value set for No.
    The same user should not be containing both these roles.(for Roles creation check with your admin consultant).
    check whether this can help you.
    Regards
    Mangalraj.S

  • DMS link with Material Bom

    Hi, all
    How can we link respective doc,s to  Bom Header and Bom item?
    I treid to attach some doc,s to above object,s the system messge is like,  "this transaction  is not support for this activity". 
    rgds
    ben

    Hi,
    A]The uses of T code CS01: Create Material Bom and CS02 :Change Material BOM .
    Hope you have created the Material BOM.
    1) Link it to DIR using the Object link.
    Use T Code DC10, Select the DIR ,and enter in to define object links, new entries, select object as STOP_DOC.
    2) Create DIR, select the object link tab enter the BOM which already been created. Hope this will solve your query.
    B]Go to dms,
    1)Dc10, do the object linking for material/ BOM.
    whatever document you have selected for object linking attach the file to it.
    2)Go to cs01n, give your material name, enter.
    once you, inside the bom, select document tab, enter your document type and number and save it.
    3)This way that document is link to that bom. and whatever the file is there inside document, you casn see it. just click it.
    Note; If T Code CS01 & CS02 does not exit the & gives error message then contact your basis to activate.
    thanks,
    BEN

  • 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

  • Material BOM mass change error

    Hi gurus,
    When doing mass change of BOM via tcode CS20, i'm getting below error result.
    The following messages were displayed:                                                                               
    Material BOM 00016478 : Delete Item(s)
       19760                                  STM-220-(20UP)78DZ*C06U029(XC06U029)Sn 200
       0130 L 01/01/2002 12/31/9999              1.00  PC     >               1.00  PC
       No batch input data for screen SAPLSDDT 0010
       Folder created/extended
    I wonder what does "No batch input data for screen SAPLSDDT 0010" mean? what should i do to correct this?
    I also noticed that all items on the picklist were grayed out though i can still click on the checkbox button to select the items that I want to be deleted.
    Has anyone encountered this problem? I usually use CS20 during BOM mass change and haven't encountered this kind of problem.
    Hope to hear advise from you all on how to deal with this.
    Thanks and regards,
    Chad

    Dear,
    Error message no is 00344 ?
    Please refer the OSS note  Note 493096 - CS20: No batch input data for screen SAPLCSDI and   Note 180686 - For CS20
    Regards,
    R.Brahmankar

  • Display of change documents: Material BOM

    Hi,
    Using transaction CS80, I wish to display the changes made to a material BOM. However I could not see any output although I know I have made quite a lot of changes to that material BOM.
    Am I missing some config or data set-up??
    Thanks in advance for your help!!
    Regards,
    Ragavan

    1.Go to the Transaction CS80.
    2.Give the required mateiral /plant etc
    3.Enter
    4.You will find 2 options a.documentovervew b.full
    5. select full
    6. You can see the complete thigns..
    if still the problem is there reply back
    thanks

  • Changing material master data: BOM refresh

    Hello everybody!
    I gently ask for a help:
    I have to change frequently procurement type in material master (view "MRP 2")
    How can I, afterwards, refresh the BOM linked to that material, so to have new procurement updated for my production order??
    Thanks very much!!
    Regards
    Chiara

    Thanks,
    so you say even if I change material procurement type, CS12 (base BOM) doesn't see it, but production order does, and prevails. Is that correct?
    My problem is that frequently a material that initially is a direct procurement material (so generating purchase request), may become afterwards a stock material (so not generating purchase requests if a stock is present).
    With CS12, after changing MRP 2 view, I see that material again with direct procurement (F ZN), not changed into sotck (F).
    How can I refresh it?? I have a lot of these types of changes.
    Thanks again for any suggestion
    Chiara

  • ECM : Table of Material BOMs of a particular Change Number

    Hi All,
    Can any one provide me the table the material BOMs of a corresponding Engineering Change Number.
    Thanks
    Sai

    Hi,
        Have a look into AENNR--STPO ..
    Below tables are imp towards BOM
    STPO BOM Item Details
    STPU BOM Sub Items (designators)
    STKO BOM Header Details
    MAST BOM Group to Material
    STZU BOM History Records
    STAS BOM Item Selection
    STPF BOM Explosion Structure..
    Regards
    Kiran

  • While trying to change a BOM with transaction CS02, a runtime error appears

    While trying to change a BOM with transaction CS02, a runtime error appears.
    In intial screen he entered material ,plant BOM usage and date valid from  after executed then id displayed item list in that he wantu2019s delete one item, he has been deleted selected item after that when he was saving he is getting runtime error
    Developer trace
    ABAP Program SAPLKED1_WRITE_CE4_BPS1                 .
    Source LKED1_WRITE_CE4_BPS1U01                  Line 30.
    Error Code SAPSQL_ARRAY_INSERT_DUPREC.
    Module  $Id: //bas/640_REL/src/krn/runt/absapsql.c#17 $ SAP.
    Function HandleRsqlErrors Line 775.
    RABAX: level LEV_RX_STDERR completed.
    RABAX: level LEV_RX_RFC_ERROR entered.
    RABAX: level LEV_RX_RFC_ERROR completed.
    RABAX: level LEV_RX_RFC_CLOSE entered.
    RABAX: level LEV_RX_RFC_CLOSE completed.
    RABAX: level LEV_RX_IMC_ERROR entered.
    RABAX: level LEV_RX_IMC_ERROR completed.
    RABAX: level LEV_RX_DATASET_CLOSE entered.
    RABAX: level LEV_RX_DATASET_CLOSE completed.
    RABAX: level LEV_RX_RESET_SHMLOCKS entered.
    RABAX: level LEV_RX_RESET_SHMLOCKS completed.
    RABAX: level LEV_RX_ERROR_SAVE entered.
    RABAX: level LEV_RX_ERROR_SAVE completed.
    RABAX: level LEV_RX_ERROR_TPDA entered.
    RABAX: level LEV_RX_ERROR_TPDA completed.
    RABAX: level LEV_RX_PXA_RELEASE_RUDI entered.
    RABAX: level LEV_RX_PXA_RELEASE_RUDI completed.
    RABAX: level LEV_RX_LIVE_CACHE_CLEANUP entered.
    RABAX: level LEV_RX_LIVE_CACHE_CLEANUP completed.
    RABAX: level LEV_RX_END entered.
    RABAX: level LEV_RX_END completed.
    RABAX: end RX_RFC
    In sm21
    Perform rollback
    Run-time error "SAPSQL_ARRAY_INSERT_DUPREC" occurred
         Short dump "090618 110101 donalda 11557 " generated
    Runtime Error          SAPSQL_ARRAY_INSERT_DUPREC
    Exception              CX_SY_OPEN_SQL_DB
           Occurred on     18.06.2009 at   11:01:01
    The ABAP/4 Open SQL array insert results in duplicate database records.
    What happened?
    Error in ABAP application program.
    The current ABAP program "SAPLKED1_WRITE_CE4_BPS1" had to be terminated because
    one of the
    statements could not be executed.
    This is probably due to an error in the ABAP program.
    What can you do?
    Print out the error message (using the "Print" function)
    and make a note of the actions and input that caused the
    error.
    To resolve the problem, contact your SAP system administrator.
    You can use transaction ST22 (ABAP Dump Analysis) to view and administer
    termination messages, especially those beyond their normal deletion
    date.
    Error analysis
    An exception occurred. This exception is dealt with in more detail below
    . The exception, which is assigned to the class 'CX_SY_OPEN_SQL_DB', was
    neither
    caught nor passed along using a RAISING clause, in the procedure
    "RKE_WRITE_CE4__BPS1" "(FUNCTION)"
    Since the caller of the procedure could not have expected this exception
    to occur, the running program was terminated.
    The reason for the exception is:
    If you use an ABAP/4 Open SQL array insert to insert a record in
    the database and that record already exists with the same key,
    this results in a termination.
    (With an ABAP/4 Open SQL single record insert in the same error
    situation, processing does not terminate, but SY-SUBRC is set to 4.)
    How to correct the error
    The exception must either be prevented, caught within the procedure
    "RKE_WRITE_CE4__BPS1"
    "(FUNCTION)", or declared in the procedure's RAISING clause.
    To prevent the exception, note the following:
    Use an ABAP/4 Open SQL array insert only if you are sure that none of
    the records passed already exists in the database.
    You may able to find an interim solution to the problem
    in the SAP note system. If you have access to the note system yourself,
    use the following search criteria:
    "SAPSQL_ARRAY_INSERT_DUPREC" CX_SY_OPEN_SQL_DBC
    "SAPLKED1_WRITE_CE4_BPS1" or "LKED1_WRITE_CE4_BPS1U01"
    "RKE_WRITE_CE4__BPS1"
    If you cannot solve the problem yourself, please send the
    following documents to SAP:
    1. A hard copy print describing the problem.
       To obtain this, select the "Print" function on the current screen.
    2. A suitable hardcopy prinout of the system log.
       To obtain this, call the system log with Transaction SM21
       and select the "Print" function to print out the relevant
       part.
    3. If the programs are your own programs or modified SAP programs,
       supply the source code.
       To do this, you can either use the "PRINT" command in the editor or
       print the programs using the report RSINCL00.
    4. Details regarding the conditions under which the error occurred
       or which actions and input led to the error.

    Hi ,
    you are getting beacuse u are trying to do mass update to database.
    Please check that below note are applicable to your system.
    Note 453313 - DBIF_RSQL_ERROR_INTERNAL for mass insert
    Note 869534 - AFS MRP doesn't work properly with all BOM item categories
    Thanks Rishi Abrol

  • Creation of Material BOM

    Hi All,
    I need to create a material BOM ,as in Transaction CS01, without any components.
    Which function modules should i be using..
    I have tried using CSAI_BOM_MAINTAIN and CSAP_MAT_BOM_CREATE but not with too much success
    Thanks
    Aviroop

    Hi,
    thanks for all your inputs. My requirement has somewhat changed over the last 24 hrs. What it stands as of now is that for a material and a plant there exists a bom (with items and sub-items).
    I have to retrieve this data and create a new BOM for a different plant.
    The first step would be to retrieve all the BOM data from STKO STPO and STPU. Is there any FM that would retrieve all these data
    What FM would i then use to create a new BOM
    Thanks
    Aviroop

  • 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

  • End valid to data of material BOM

    In the moment  that you create a new material BOM using transaction CS01, 
    have you any chance to introduce a date in the field " Valid to" ?
    Regards, Josu.

    Dear Josu,
    1.While creating the BOM,you can give a valid From date(A Future Date).
    2.The systems defaulty sets the valid to date as 31.12.9999.
    3.This can not be changed,or can be modified unless you use ECN.
    Regards
    Mangal

  • 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.

  • Mass change in BOM - field "Relevant to sales"

    Hi All,
    How to do Mass change in BOM for the field "Relevant to sales" ?
    Thanks.
    Marianna

    Hi,
    Need to use CS02 recording in such a way that you can change every item in a particular BOM.
    e.g. First get into HEader Material BOM (CS02), once you've General Item Overview screen, do NOT directly go to item details of any item.... first click on tab-'Position', enter either Item Number or Component or both and then go to item details to change the relevancy indicator. Once changed for a particular item, save the BOM & come out of it. Then try for next item & so on....
    Again this is my initial thought, you need to try out few recording options like this and then chose the most suitable one. Take help from ABAP expert if any available.
    Off-course, initiallly it would take time to set-up LSMW but later on just need to create a data-file & do the mass changes.
    Hope it will help.
    Regards,
    Anup

Maybe you are looking for