IBM Support

BMXAA7733E error loading Object Structure or Generating schema

Troubleshooting


Problem

The error "BMXAA7733E" is received when utilizing an Enterprise Service to process an Inbound Integration transaction or when selecting the option "Generating Schema / View XML" for the Publish Channel of an External System.

Symptom

The following error is received, "BMXAA7733E - The following error occurred when the Object Structure cache was loaded:null".

<MsgText>The following error occurred when the Object Structure cache was loaded: {0}</MsgText>

<Explanation>

The specified error occurred when the Object Structure cache was loaded. There is an inconsistency between the object structure tables (MAXINTOBJDETAIL and MAXINTOBJCOLS) and the Maximo Data Dictionary tables (MAXOBJECT and MAXATTRIBUTE). Verify all data registered in the object structure tables also exist in the data dictionary tables.

</Explanation>

Resolving The Problem

To determine if Object or Attribute information is defined for the Object Structure that is not found in the Maximo Data Dictionary, use the following SQL statements to compare the definitions.

select intobjectname, objectname from maxintobjdetail
where objectname not in ( select objectname from maxobject)
order by intobjectname, objectname

select intobjectname, objectname, name from maxintobjcols m
where not exists (select 1 from maxattribute a where a.objectname = m.objectname
and a.attributename = m.name) and intobjectname not like 'REP_%'
order by intobjectname, objectname, name

If the previous statements show that the Object Structure definitions exist in the Maximo Data Dictionary, then the problem is that there are record mismatches between the three tables that define the Object structure. This set of SQL statements will verify that the Objects and Object structure exist in all three Object Structure tables.

-----


select distinct(intobjectname) from maxintobjdetail
where intobjectname not in ( select intobjectname from maxintobject) and intobjectname not like 'REP_%' order by intobjectname

Intobjectname values returned by the above select statement indicates that Object Structure details exist, but the Object structure record does not. The records in the MaxIntObjDetail for these Intobjectnames should be deleted.
-----
select intobjectname from maxintobject
where intobjectname not in ( select distinct(intobjectname) from maxintobjdetail) and intobjectname not like 'REP_%' order by intobjectname

Intobjectname values returned by this select statement indicates that Object Structure details do not exist. The choice for these Intobjectnames is to either finish defining the Object Structure or if not needed delete the Intobjectname record from the MaxIntObject table.
-----
select intobjectname from maxintobject
where intobjectname not in ( select distinct(intobjectname) from maxintobjdetail where parentobjid is null or parentobjid = 0) and intobjectname not like 'REP_%' order by intobjectname

Intobjectname values returned by this select statement indicates that Object Structure details do exist, but there is not an object defined as the Primary Object. The choice for these Intobjectnames is to identify the Primary Object for the Object Structure and verify the definition of the Object Structure or if it is not needed delete the Intobjectname records from the MaxIntObject and MaxIntObjDetail tables.
-----
select intobjectname, objectname from maxintobjcols m
where not exists (select 1 from maxintobjdetail a where a.objectname = m.objectname and a.intobjectname = m.intobjectname)
group by intobjectname, objectname order by intobjectname, objectname

The records returned by this statement are the Object and column names for Objects that are not defined for the Object structures in the MaxIntObjDetail table. Since these records are not associated with an Object Structure they should be deleted.
-----
select intobjectname, objectname from maxintobjdetail m
where not exists (select 1 from maxintobjcols a where a.objectname = m.objectname
and a.intobjectname = m.intobjectname)
order by intobjectname, objectname

The records returned by this statement are not necessarily a problem. It is possible to have Objects in the Object Structure that do not exclude persistent attributes, or include non-persistent attributes or override the settings of the restricted fields for the Object. You should verify that the Objects for those Object Structures do not change the settings for any of the attributes and they are defined correctly.
-----
select ifacename, intobjectname from maxifacein where intobjectname not
in ( select intobjectname from maxintobject) order by ifacename;

The select statement verifies that the Enterprise Services defined in the maxifacein table uses a valid Intobjectname value. The records returned indicates that the Intobjectname does not exist in the MaxIntObject table. The records that shows up can be deleted as not valid or you can create the missing Object Structure.
-----
select extsysname, ifacename, enabled from maxextifacein where
ifacename not in ( select ifacename from maxifacein ) order by ifacename;

The statement will verify that the Enterprise Services deployed to an External System is a valid Enterprise Service. The records returned by this statement are invalid Enterprise Services and the record should be deleted from the maxextifacein table.
-----
select ifacename, intobjectname from maxifaceout where intobjectname not
in ( select intobjectname from maxintobject) order by ifacename;

The select statement verifies that the Publish Channel defined in the maxifaceout table uses a valid Intobjectname value. The records returned indicates that the Intobjectname does not exist in the MaxIntObject table. The records that shows up can be deleted as not valid or you can create the missing Object Structure.
-----
select extsysname, ifacename, enabled from maxextifaceout where
ifacename not in ( select ifacename from maxifaceout ) order by ifacename;

The statement will verify that the Publish Channel deployed to an External System is a valid Publish Channel. The records returned by this statement are invalid Publish Channels and the record should be deleted from the maxextifaceout table.
-----

[{"Product":{"code":"SSLKT6","label":"IBM Maximo Asset Management"},"Business Unit":{"code":"BU055","label":"Cognitive Applications"},"Component":"MEA: Generic","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"7.1;7.1.1;7.5;7.6","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}},{"Product":{"code":"SSLKYL","label":"Maximo Enterprise Adapter"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":" ","Platform":[{"code":"","label":""}],"Version":"","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
17 June 2018

UID

swg21508947