Identify Duplicate BOMs
So far as I know, what Patrick described is the only way to do it outside of running a script on the database (well, other than writing a PX or Groovy script to do it).
Is this only for the latest released BOM, or maybe *all* revisions of the BOM??
If you are only worried about the latest released BOM for an assembly, get all records from the BOM table where ITEM = the id for the assembly and CHANGE_OUT = 0 (if there is a pending change on the assembly, you also need to make sure that the change ID in CHANGE_IN is released). Put that data (assembly number, component number, quantity, find number plus whatever other fields you need) into a table and then write a recursive script to check the count of BOM records for every assembly against all other assemblies, and only compare the actual item numbers and other data values if the counts match.
If you want to compare ALL revisions of a BOM, it is going to get a LOT more complicated. For an assembly, get a list of all revisions (just ECOs are fine) in release date order. For each rev change ID, look for any records in BOM where CHANGE_IN is zero or the current change ID or one of the previous change IDs *AND* CHANGE_OUT is zero or not one of the previous or current change ID values. This will give you all records for whatever the current revision is. And you have to work your way through all of the revisions.
One way or the other, you will probably chew up a lot of disk space and CPU time.
Thanks for both answers. I’m only trying to compare Latest Released BOMs. I’m not very technical so I was hoping for a relatively straight-forward way to do this within the application or in Excel. Kind of surprised there isn’t some sort of report already built for this.