Former_Member
8 years agoAccelerator III
Bulk Import Revision Updates - not understanding rev behavior with BOMs
I have my part system configured with default settings. Parts float until they are released, then they are fixed.
I wrote code for a mas import of my companies Sage100 database of parts. Everything came in at Rev 0 due to not getting the right information first.
I'm now updating all the revisions and the boms to reflect proper revisions.
When all of my parts are revved up through to proper versions... some assembly boms show the most current revision number of its sub-components. Others do not. It looks like its based upon order of operations. If I revved a part that is in an assembly before I revved the assembly, it looks like the assembly updates its BOM to the newest revision of the BOM part.
Contrarily, if I rev the assembly and release it, then rev the part in the BOM, the assembly continues to point at the original BOM part revision.
I'm not sure if I am observing correctly, but it would seem to be standard behavior? Is this standard behavior of ARAS with stock configuration to update a new revision of an assembly to the most recent BOM part revisions when re visioning programatically (c# .net)? I would have expected the assembly to continue to point at the old revisions in its BOM and not jump to the most recent revision of its BOM parts if not explicitly told to do so.
code for my re visioning function. It is part of a higher level function that is running a while loop up from revision zero to what ever it reads from my import data as being the most recent revision. E.g. everything is at rev 0 and current rev is 5. This gets run 5 times. Each time current rev level is checked to see if it should continue (yes, I realize I could just check that once after adding the right number of revisions and that I'm making an unnecessary query.)
thePart.setAction("version"); thePart.apply(); // the new revision is currently locked, so unlock it to release it Item newRevision = this.findItem("part", thePart.getProperty("item_number")); newRevision.promote("Released", "Manual Release"); // new revision is released, move on newRevision.apply(); return thePart;