KB ARTICLE
Issue
An existing assembly cannot be found during creation of a new assembly revision, a new process revision, or when searching the Part Library or Assembly Library. If process revisions exist against any revision of the assembly, they can still be located using the Process lookup (Process Engineering > Define Processes). Production is unaffected. This issue typically occurs when an exception or application crash happened during creation of a new assembly revision. During that process, the database sets the previous assembly revision's LatestVersion flag (Boolean) to 0, but the crash prevented the new revision from being set to 1, leaving no revision flagged as the latest.
Resolution
-
Verify the following symptoms in the FactoryLogix Office user interface:
-
In the Part Library, search for the assembly name—the assembly is not found.
-
In the New Assembly Revision dialog, search for the assembly name—the assembly is not found.
-
In Define Processes, search for the assembly name—the assembly is found (assuming at least one process revision exists).
-
-
Using SQL Server Management Studio (SSMS) or the Analytics DataMiner User Defined SQL dataset, run the following diagnostic query, replacing AssemblyName with the exact name of the assembly:
SELECT pb.ID AS [PartBases.ID], pb.PartNumber AS [Assembly Name], pb.Revision AS [Assy Rev], pb.LatestVersion, c.Name AS Customer, pbip.IsConfigurable AS CTO, pb.Description AS [Assy Description] FROM PartBases pb LEFT JOIN PartBases_InternalPart pbip ON pbip.ID = pb.ID LEFT JOIN Customers c ON c.ID = pbip.AssemblyCustomer_ID WHERE pbip.Assembly = 1 AND pb.Deleted = 0 AND pb.PartNumber = 'AssemblyName' ORDER BY pb.Sequence
-
Review the results to confirm that no revision has LatestVersion = 1.
Warning
The following query is a WRITE operation that modifies the database. Back up the database before executing! Confirm the correct PartBases.ID value from the diagnostic query output before running the repair.
-
Run the following update query, replacing PartBasesID with the ID value returned by the diagnostic query for the correct assembly revision:
UPDATE PartBases SET LatestVersion = 1 WHERE ID = 'PartBasesID'