BOM Recursiveness Check

Hi,
In BOM recursiveness check, whether the system will consider the BOM usage into account?
As per the note 42891,
For reasons of performance, the system does not make any fine distinctions during the recursiveness check in the BOM explosion.
  1. BOM items of a bill of material are treated as being assigned to all variants of a variant BOM or as being assigned to all configured materials of a configured bill of material.
2. The effectivity (date / parameter effectivity) is not taken into account.
3. The plant is not taken into account.
4. The usage is not taken into account.
Here the usage is not taken into account, what does it mean?
Explain please.
Thanks,
Suresh.

Hello Suresh,
It means that during the recursive check , it does not check if it is a different plant or a usage . if a bom is created for Plant A and usage 3 , and you now try to create a bom for Plant B or usage 1, system will still raise an error and find it recursive.
Eg if you already have a BOM with
Header Material A
     Component B
      Usage 1
And now if you create a BOM with
Header Material B
     Component A
      Usage 5
It will be seen as recursive and you should receive an error.
Hope that helps
Regards
Amber

Similar Messages

  • Error message M3775 : Error in recursiveness check for special procuremen

    Hi All,
    I am trying to update the MMR for a material when I save the changes it gives an error message M3775 : ('Error in recursiveness check for special procurement type').
    And also want to know why I am getting this error now, Why it doesnt gave any error at the time when the standerd procurment key was set to the plants.
    Regards,
    Abhishek

    Hi Abhishek,
    There are some similar customer messages with this issue occuring -
    please see the below answers and check if relevant in your case
    When a storage location is planned separately (SLoc MRP indicator '2'
    in MRP4-view), it is automatically replenished by stock transfer from
    the plant. You don't need to maintain the corresponding
    Special Procurement Key in this case.
    Only if you want the material to be procured in another way than stock
    transfer from the plant, the Special Procurement Key
    in the MRP4-view is necessary.
    So you should be able to avoid the message just by keeping the
    Special Procurement Key blank (as it is intended  for stock transfer
    from the plant).

  • BOM RECURSIVE NESS

    Hi All,
    Can any one guide me regarding the steps of OSS note 839879 - Trace 'BOM is recursive' i.e procedure to trace bom RECURSIVENESS.
    Thanks in Adv

    Hi ,
    Note 681126 was useful.
    In my scenario
    Material.- A and B in plant X.....A and B are co-product for this plant and in BOM B is a component of A
    Material- C and B in plant Y...C and B are not the co product for this plant and in BOM B is a component of C. Here for B it is asking for "recusrsive allowed".
    When i remove tick "co-product" (in BOM) for item B in plant x, then for item B in plant Y it is not asking for recursiveness.
    Material C is not in Plant X.
    Low level code for A, B & C are asfollows
    A-000
    B-011
    C-005
    I am not able to understand why it is behaving this way.
    Regards,
    Satyajit

  • BOM-Recursive

    Hi All,
    What is recursiveness allowed in BOMs

    Hi Anand,,
    If the header BOM material same you are using as a component then BOM become Recursive.
    If you create a recursive BOM, you must decide whether you want to allow recursiveness or delete the component that caused the recursiveness,
    Two users create a material BOM at the same time. Each user enters the BOM header material entered by the other user as a component.
    One user saves the BOM. When the second user tries to save the BOM, the system recognizes recursiveness and sets the recursive indicator. The second user sees an online message about the recursiveness.
    Please refer this link also,
    [BOM-Recursive|http://help.sap.com/search/highlightContent.jsp]
    Regards,
    R.Brahmankar

  • Recursiveness Check in BOM

    How to check the recursive in in bom as system is poping a error  as "Now bom is recursive " while linking with T code CS40.
    In table level checked in STPO-REKRI for all the plants and there no record with recursive indicator.
    help me how to track this and make the linking of BOM successful.

    Hi,
    I thinks the material which you are going to assign in CS40 may be the item of som BOM thats Y the system is giving the error that if you assign BOM to configure material,then it will become recursive.
    GO to CS15 give that material and check where n all this material is used in BOMs.if you come to know that material used in the BOM which are going to assign,then system is behaving correctly.
    IF you want to still assign BOM irresepective of recursive,then check the recursive indicator allowed (STPO-REKRS) then no error will come and you can link the bOM successfully.
    Hope it helps

  • BOM Alternative Check on CS01 screen

    Dear All,
    Right now i need to implement a user exit for the BOM alternative in CS01 screen. For a particular BOM Usage we should not allow the user to create alternative other than '1'. So before getting the automatic alternative i need to implement the user exit/Badi for the checking on the alternative.
    thanks,
    rajesh.

    Hi,
    There is a standard customzing for alternative BOM in CS01...
    SAP Customizing Implementation Guide --> Production --> Basic Data --> Bill of Material --> Control Data for Bills of Material --> Define Modification Parameters. If you tick the " Multiple BOM inactive" then nobody should be able to create other alternatives then 1.

  • How to recursive check connections about some datasource ?

    sigh~~!!
    we got a system and do maintain jobs. but we found its connection object was not entired closed, so for a long term, connection pool would shutdown.
    we had review our jsp/java file to correct the connection close. but we still meet the same error!
    Since we get the connection object from the OC4J datasource, could we recursive access the each connection object in the pool and check whether the connection object was not closed, when shutting down the Application Server?

    Hi Jutamas..,
    In the item over view double Click the Material which is recursive in the Basic data tab page General data subtab will be there there you click that recursive.
    your problem will be solved.
    dont forget to reward it is helpful.
    regards.

  • Include Unicode Signature (BOM) Always Checked When Opening Files

    When I go to "File > Open..."  in the Menu, the option for  "Include Unicode Signature (BOM)" seems to be always checked by default.  Is there some way to change this behavior?  There is an option for turning it off for creating new files but not opening existing files.
    And yes, I know you can also open files in the Files panel, but this question is pertaining to the Menu.
    I'm using Dreamweaver CS6 on Mac Lion and any help would be much appreciated even if it requires hacking configuration files.
    Thanks.

    i had this problem,
    and i found solution
    you must open folder Program Files\Adobe\Adobe Dreamweaver CS6\en_US\Configuration\DocumentTypes\NewDocuments
    in this folder open file - Default.php
    press Ctrl + J and uncheck unicode bom in encodings and save this file.
    ready !
    when you create new file, bom will not be checked!
    I am sorry for my english

  • BOM Items Check for Partial order quantity

    Hi
    For weekly shopfloor planning I need to check the material availability for a partial quantity of the order.
    For eg. I have a Production order for 2000pcs but I need to plan for a week only 500pcs. I want to check the BOM items availability for only 500pcs of BOM Header material. Need multiple material - quantity selection option also.
    Is there any customized availability check in standard SAP?
    Regards
    Krishnaraj

    Hi,
    Please check for the indicator "confirm available partial quantity" at Production scheduling profile configuration.
    In OPKP for the plant and production scheduling profile combination --> under material availability check tab --> select the option "confirm available partial quantity"
    It Determines that all components are comitted with the same percentage rate during an availability check.
    When you have set this indicator, if only a partial quantity can be committed for one component, then only partial quantities will be committed for all components during an availability check.
    Example
    Order quantity 100 PC:
    Committed quantity
    Requirement ATP quantity not set set
    Component A 200 PC 300 PC 200 PC (100%) 80 PC (40%)
    Component B 100 PC 40 PC 40 PC (40%) 40 PC (40%)
    Component C 50 PC 200 PC 50 PC (100%) 20 PC (40%)
    Since only 40% of component B can be committed, also only 40% of component A and C is committed when the indicator is set.
    By setting the indicator, you can therefore ensure that orders are always only committed to the extent that they are also to be produced. In the example, 40% of the order can be produced for the requirements date. In addition, the quantities of component A and C that are not reserved can be assigned to other orders, which as a result may then also be produced.
    thanks and regards
    Venkat V

  • BOM Recursive logic

    Hello All,
    I need a logic for re-cursive call.I am drilling down the BOM components.Example as below.
    If I have A as header with B as component and again B may have C as component again C may have D and E as components in it.
    Now if I pass A i should find B,C,D,E,F.
    Please suggest somebody some idea how to get this logic?
    I am using the function module CS_BOM_EXPL_MAT_V2 to get the components of a BOM.
    Regards
    Mahesh

    Hello Mahesh
    I would assume that if you set IMPORTING parameter MEHRS ( Multi-level explosion ) = 'X' and do not restrict the multi-level explosion then you should get the entire hierarchy.
    Regards
       Uwe

  • Check on BOM change

    Hi Gurus,
    Please tell me if there is any BADI or user exit to check if any changes made in BOM by CS02.
    The purpose is to trigger mails if there is any change in a BOM.
    Regards,
    Soumyatabha

    Hi,
    The User Exit: PCSD0007 (Check changes in STKO) may be of your interest..
    These are the User Exits available for BOM.
    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                          
    Hope this helps..
    Regards,
    Siva

  • CS11 and Recursive

    Hi
    Due to BOM strucutre change, the BOM was maintain with ECN and now BOM was recursive, due to SAP recursiveness check did not consider BOM effectivity date (note 42891), and now CS11 will stop at the recursive BOM and will not exploide down further.
    Anyone have face this before? How you get the full BOM report in this case if not via CS11?

    Hi Danny,
    Did your issue ever get resolved?  We are experiencing the same issue where CS11/12/13 stop at the recursive BOM and will not explode further.
    Thanks.

  • Error in Creating a BOM / CSAP_MAT_BOM_MAINTAIN

    hi,
    i need to create multiple bom alternatives in my development. i try using CSAP_MAT_BOM_MAINTAIN for this purpose.
    even after i give all the inputs and flags necessary for creating a new bom, i am getting an error stating that bom already exist for....when i go and check MAST table, for the same material, plant and bom usage... no such alternative exist.
    i am unable to proceed further. can anyone help me in this regard? thanks in advance.

    friend... you are right.
    CSAP_MAT_BOM_MAINTAIN is used to create only one alternative bom. but this can be any number from 01 to 99. if any alternative bom exist for the same combination of material, plant and bom usage... then you cannot create any more alternative bom for the above mentioned combination. this is because... this function module checks MAST table before proceeding with creation. while checking MAST, it considers only material, plant and bom usage. alternative bom is left out here. but the real fact is... alternative bom should be also considered for uniqueness of bom while checking MAST. all these issues are only during bom creation, but the same function module works perfect during bom maintenance.
    CSAP_MAT_BOM_CREATE is also used to create only one alternative bom. but this can be only one number - 01 (default). but, you cannot maintain a bom using this function module. you need to use CSAP_MAT_BOM_MAINTAIN for bom maintenance.
    to create any number of alternative bom for a material, plant and bom usage combination... you need to use the function module BAPI_MATERIAL_BOM_GROUP_CREATE. but... you cannot maintain any bom or create object dependencies for line items using this function module.
    summary:
    to create a bom.. use BAPI_MATERIAL_BOM_GROUP_CREATE
    to read a bom.. use CSAP_MAT_BOM_READ
    to maintain a bom.. use CSAP_MAT_BOM_MAINTAIN.
    to create object dependency.. use CSAP_MAT_BOM_OPEN , CSAP_BOM_ITEM_MAINTAIN , CSAP_MAT_BOM_CLOSE.

  • Problem about Bom Item consumption

    *Hi All,*
                  *I am working in repetitive manufacturing scenario,I have include one same  item 3 times in bom but while back flushing it is taking only one item consumptionit is not showing other two.what setting i need to check for that.*
    BOM Ex- B008759811005 1nos
                   B008759811005 1 nos
                   B008759811005 1 nos
    MFBF Ex -B008759811005 1 nos
    Regards
    Amit

    Dear,
    Do you have ECM engineering change number for BOM so go to bom and check the validity of components. Also check the release key of change number in CC02.
    Also check the KKF6N -->whether its picking up the components for the preliminary cost estimate.
    Please refer the OSS Note 183898 - BOM: Components are missing after upgrade.
    Regards,
    R.Brahmankar

  • Recursively Retrieving All the Files/Directories in a Directory

    Hello,
    I want to retrieve all files in a directory, and ran into this sample code:
    www.ni.com/example/27157/en/
    This is the function that does the retrieve action:  GetFilesAndDirectories().  Its content is as follow:
    void GetFilesAndDirectories(char dir[], int* numItems, int parentItem)
    char fileName[MAX_PATHNAME_LEN], searchPath[MAX_PATHNAME_LEN];
    int error = 0;
    strcpy (searchPath, dir);
    strcat (searchPath, "\\*");
    if (!GetFirstFile (searchPath, 1, 1, 0, 0, 0, 0, fileName)) // has at least one file
    InsertListItem (panelHandle, PANEL_LISTBOX, -1, fileName, (*numItems)++);
    while (!GetNextFile (fileName))
    InsertListItem (panelHandle, PANEL_LISTBOX, -1, fileName, (*numItems)++);
    if (!GetFirstFile (searchPath, 0, 0, 0, 0, 0, 1, fileName)) // has at least one directory
    char dirNamesSaved[MAX_NUM_DIR][MAX_PATHNAME_LEN];
    int numDir = 0, i;
    strcpy (dirNamesSaved[numDir++], fileName);
    while (!GetNextFile (fileName) && numDir<MAX_NUM_DIR) // first save all the directory names
    strcpy (dirNamesSaved[numDir++], fileName);
    for (i=0; i<numDir; i++)
    char displayName[MAX_PATHNAME_LEN];
    Fmt (displayName, "%s<%s%s", fileName, " (Directory)");
    InsertListItem (panelHandle, PANEL_LISTBOX, -1, displayName, (*numItems)++);
    MakePathname (dir, dirNamesSaved[i], searchPath);
    GetFilesAndDirectories(searchPath, numItems, (*numItems)-1);
    I then modify that function into one that I can use to retrieve either files or folders, and populate a ring object with the result.  I call it Ring_Populate().  Its content is as follow:
    void Ring_Populate (int panel, int TargetRing, char TargetFolder[], int Directory_Bool, int *Iteration_Now, int Iteration_Prev)
    char FileName [260]; //standard = 260 max char. w/ null char.
    char Folder [260];
    strcpy (Folder, TargetFolder); //copy string
    strcat (Folder, "*"); //add wildcard character, * or ?
    switch (Directory_Bool)
    case 0: //file
    if (!GetFirstFile(Folder, 1, 1, 0, 0, 0, 0, FileName)) //has at least 1 file
    InsertListItem (panel, TargetRing, -1, FileName, (*Iteration_Now)++);
    while (!GetNextFile(FileName))
    InsertListItem (panel, TargetRing, -1, FileName, (*Iteration_Now)++);
    break;
    default: //folder
    if (!GetFirstFile(Folder, 0, 0, 0, 0, 0, 1, FileName)) //has at least 1 folder
    int Folder_No = 0;
    int Folder_Max = 50; //max 50 folders
    char Folder_List [50][260]; //name 260 max
    strcpy (Folder_List [Folder_No++], FileName); //copy first element then ++
    while ( (!GetNextFile(FileName)) && (Folder_No < Folder_Max) )
    strcpy (Folder_List [Folder_No++], FileName); //copy all folder names
    for (int i = 0; i < Folder_No; i++)
    char modFolder [260];
    //Fmt (modFolder, "%s<%s%s", FileName, " (DIR)");
    //InsertListItem (panel, TargetRing, -1, modFolder, (*Iteration_Now)++);
    //MakePathname (TargetFolder, Folder_List [i], Folder); //recycle
    //Ring_Populate (panel, TargetRing, TargetFolder, 1, Iteration_Now, (*Iteration_Now) - 1);
    Fmt (modFolder, "%s<%s%s", Folder_List [i], " (DIR)");
    InsertListItem (panel, TargetRing, -1, modFolder, i);
    break;
    It works fine.  However, the section that I commented out (modified from the sample code, which works) gives me stack overflow.
    //Fmt (modFolder, "%s<%s%s", FileName, " (DIR)");
    //InsertListItem (panel, TargetRing, -1, modFolder, (*Iteration_Now)++);
    //MakePathname (TargetFolder, Folder_List [i], Folder); //recycle
    //Ring_Populate (panel, TargetRing, TargetFolder, 1, Iteration_Now, (*Iteration_Now) - 1);
    This is the original code:
    char displayName[MAX_PATHNAME_LEN];
    Fmt (displayName, "%s<%s%s", fileName, " (Directory)");
    InsertListItem (panelHandle, PANEL_LISTBOX, -1, displayName, (*numItems)++);
    MakePathname (dir, dirNamesSaved[i], searchPath);
    GetFilesAndDirectories(searchPath, numItems, (*numItems)-1);
    Question:
    1. How do I get stack overflow?  My code is essentially the same.
    2. My modified code works fine retrieving the list of folders.  I do not see the need to call the function recursively.  Can anyone explain?

    Hello all,
    I can't figurate how to list all the root directories
    (C:/> , D:/>, E:/> etc.) in a system.
    I know how to recursively check the content of a
    directory and all its subdirectories when a
    predefined path is defined. However what I' d like to
    do is actually give the option to pick one of the
    root directories to start the iteration. I have been
    looking around but I can' really find anything
    helpful.
    If any of you has any idea on how to achieve the
    above objective some clarification would be really
    appreciated.
    Thanks in advance for your help!How to installing the Javax.comm package

Maybe you are looking for