Troubleshooting
Problem
When you run Integrity Checker on a Maximo 7.1 database, one, two, or all three of these errors might be reported: BMXAA0443E -- ERROR -- BMXAA0538E -- This column is mapped to an AutoKey but the AutoKey does not exist. Column CLASSSTRUCTURE.CLASSSTRUCTUREID AutoKey CLASSSTRUCTUREID BMXAA0443E -- ERROR -- BMXAA0538E -- This column is mapped to an AutoKey but the AutoKey does not exist. Column DOCINFO.DOCUMENT AutoKey DOCINFODOCUMENT BMXAA0443E -- ERROR -- BMXAA0538E -- This column is mapped to an AutoKey but the AutoKey does not exist. Column JOBPLAN.JPNUM AutoKey JOBPLANNUM
Symptom
Integrity Checker reports error BMXAA0538E for each autokey that should exist but does not.
Cause
Maximo columns ClassStructure.ClassStructureID, DocInfo.Document, JobPlan.JPNum are defined as being auto-numbered, but the autokeys associated with one or more of the columns does not exist.
Environment
Windows, Maximo 7.1
Diagnosing The Problem
Errors are recorded in the Integrity Checker report. You can verify that each of the autokeys is not defined, using the following SQL queries. No row will be returned if the autokey is missing:
Select autokeyname, seed, orgid, siteid From autokey Where autokeyname In ('DOCINFODOCUMENT', 'CLASSSTRUCTUREID', 'JOBPLANNUM')
Resolving The Problem
The following SQL statements will resolve the problem by creating autokey JOBPLANNUM. Apply similar statements to create autokeys DOCINFODOCUMENT and CLASSSTUCTUREID if necessary. Apply the SQL statements, then again run Integrity Checker in report mode in order to verify that the errors are resolved.
Insert Into autokey(autokeyname, seed, langcode, autokeyid)
Select 'JOBPLANNUM', 1000, 'EN', max(autokeyid)+1 From autokey
go
Update maxsequence Set maxreserved=(Select max(autokeyid)+1 From autokey) Where sequencename='AUTOKEYSEQ'
go
Note that this solution is specific to SQL Server database. Attached are SQL scripts for each of Oracle, SQL Server, and DB2. If the base language of the database is not English, then substitute the proper value in place of 'EN' in all statements. If necessary, you can determine the base language with results of this SQL query:
Select varvalue From maxvars Where varname='BASELANGUAGE'
Was this topic helpful?
Document Information
Modified date:
17 June 2018
UID
swg21685870