Update Associated Assembly of a part automatically

When we update a part, for instance we change models, we want the same part in all the associated assemblies to be updated automatically.

Current process
• Look up part to be updated 
•  Click on Views and select where used (this is the list of assemblies the part currently exists in)
• Update any details impacted by the change (AML, AVL, and Goals), new part and price
• After save, we must go into each assembly and review where used
• Update by locking, saving and unlocking, then into each assembly here.

We have to follow this process to update each assembly it touches until we get to the Building assembly as that is our very top.

Instead of going to each assembly and updating the part, we want this to happen automatically.

  • Hi Barnali,

    It looks like this behavior is set on the relationship items themselves. I set up a similar situation in a local instance I have here where I put a parent part into the 'Released' state and then changed the behavior on the actual life cycle state afterwards. Even with the behavior on the state changed, the behavior on the Part BOM relationship item was still Fixed. After I created a new version of this parent Part and released it again, this corrected itself and the behavior of the relationship item changed to Float as expected.

    There's a few options for you to consider here.

    1. Continue to manually make the changes until all of the assembly Parts are versioned again
    2. Put each assembly Part through a revision just to get it to pick up the new behavior
    3. Use a one-time SQL query to set the behavior of these existing relationships to Float

    While we don't typically recommend using SQL as it bypasses the Aras permission model, it works for these kinds of one-time edits to correct data and Option 3 is likely your best bet. Just be sure to take a backup of the database before you run the query in case there are any unintended side affects of making the change this way. As you're working with multiple relationships (BOM, AML, AVL), you'll also need to make sure the query changes each of these. As an example, the query for the Part BOM relationship would look something like below. You should just be able to change the bolded part to the name of each relationship.

    update innovator.part_bom set behavior = 'float' where source_id in (select id from innovator.part where is_current = '1') -- is_current is necessary to keep this change only to the most recent version of each assembly part

    Lastly, I just want to re-emphasize that this should be considered a one-time fix to get the existing data in-line with the behavior you have now set.

    Chris

  • Hi Chris,

    When a child part's version is changed with a released state, the parent part still shows the previous version of the child and hence the parent part does not show up under Views--> where used. When I superseded the parent part's state, it shows up under Views--> where used of the child part.

    Is there a way where when a child part is moved to preliminary to released state, the parent part is automatically superseded?

    Thanks,

    Barnali

  • Hi Barnali,

    Is this after correcting the data for the existing items as I described in my previous answer? This is different from the behavior I'm seeing in my environment. Here's what I'm seeing after I set the behavior of the Released Life Cycle State to Float.

    1. Initial setup
      1. Parent A.1 is in the Released State and is related to Child A.1 in the Preliminary state
    2. I run the Manual Release action to release Child A.1
      1. Parent A.1 now indicates that it's related to Child A.1 in the Released state
      2. Similarly, I can find Parent A.1 in the Where Used of Child A.1
    3. I run the Create New Revision action to create Child B.2 in the Preliminary state
      1. Parent A.1 now indicates that's related to Child B.2 in the Preliminary state
      2. Similarly, I can find Parent A.1 in the Where Used of Child B.2

    There isn't an OOTB way to achieve the automatic superseding of the parent part, but I think that might be fixing a symptom and not the underlying cause.

    Chris