Troubleshooting
Problem
There are intermittent SQL server 2601 duplicate key row errors when bulk generating Work Orders from Preventive Maintenance in the background.
Symptom
There are log errors that indicate there is an issue:
Systemout.log error
[01/07/18 12:00:00:000 BST] 01e0000 SystemOut O 01 May 2018 12:00:00:000 [ERROR] [ABCDEFG] [] Cannot insert duplicate key row in object 'dbo.workorder' with unique index 'workorder_ndx1'. The duplicate key value is (01, 1234567).
As well as entries for :
BMXAA4211E - Database error number 2601 has occurred when operating on
WOACTIVITY : Site=XYZ Activity=1234. Report this error to the owner of the deployment
Cause
There are times where there is a colision with the ACTIVITYNUM and the WORKORDERNUM and the SQL Server consequently fails to generate the WO.
Environment
Identified in Maximo TPAE 7.6.0.x
Diagnosing The Problem
Follow these steps:
Go To -> Preventive Maintenance -> Preventive Maintenance
Press return to retrieve all records
Tick Selected Records
Tick PM so all records are selected
More Actions -> Generate Work Orders
Tick Run work Order Generation in Background
Check the system.out log for entries with :
BMXAA4211E - Database error number 2601 has occurred when operating on
WOACTIVITY : Site=XYZ Activity=1234. Report this error to the owner of the deployment
There might be that some of the PM fail to generate the WO while others would succeed.
Similarly, if you individually select that PM that failed, and manually run the Work Order Generation, it now succeeds.
Resolving The Problem
This is specific to Organisations (orgID) with multiple sites (SiteID) and can be resolved by setting up prefixes for Changes, Activities or Releases at Organisation level to avoid autonumbering collisions. Please follow this Technote for instructions.
Related Information
Product Synonym
EAM
Was this topic helpful?
Document Information
Modified date:
13 September 2018
UID
ibm10728083