Problem extending cmdb_ci in custom scoped app table: Artifact x_equipment failed

Maxim5
Tera Contributor

Hello,

I'm encountering an issue while trying to create a custom table in a scoped application that extends from cmdb_ci.

When deploying or validating the application, I receive the following error:

Artifact x_equipment in the class sys_db_object failed for extending the table cmdb_ci

I have verified that:

  • The Extends table field on x_equipment is set to cmdb_ci

  • The table does not contain any fields with conflicting names or incompatible data types

  • The app has the necessary permissions

  • There is no existing data in the table

Questions:

  • Are there known restrictions or special requirements when extending cmdb_ci from within a scoped application?

  • Should I be extending a more specific class like cmdb_ci_hardware or cmdb_ci_equipment instead?

  • Are there best practices for defining CI classes in custom apps that integrate with the CMDB model?

I also reviewed KB0030519, but it doesn’t seem to provide clear guidance on this scenario.

Any help or clarification would be greatly appreciated.

Thanks in advance!

3 REPLIES 3

SANDEEP DUTTA
Tera Patron
Tera Patron

Hi @Maxim5 ,

You should aim for extending specific class like cmdb_ci_hardware or cmdb_ci_equipment.

The issues you might face by extending cmdb_ci are :

 

1. There can be an existing field-level ACL on a field on the 'sys_db_object' table.
2. As the 'Extends Table' field is a reference field of the 'sys_db_object' table itself, the value coming in it would be the value of the field of the parent table.
3. And as the ACL is applied on the field level for the particular field, the user should also be given access to the that field for him to get access to the 'Extends Table' field.

 

Thanks,
Sandeep Dutta

Please mark the answer correct & Helpful, if i could help you.

Thanks Sandeep, appreciate the insight!

In my case, the issue is related to the App Certification policy “OOTB Table Extension,” which blocks extending any OOTB table (including `cmdb_ci`, `cmdb_ci_hardware`, etc.) from within a scoped app. Even if I extend a more specific class like `cmdb_ci_equipment`, the rule still triggers because the inheritance chain leads back to `cmdb_ci`.

I believe this is more of a Store compliance rule than an ACL/access issue. I've confirmed the error appears during deployment/self-certification, not runtime.

 

Hi @Maxim5 ,

Then, you can create a new table within your scope and add the required fields to it. Do not extend.

 

Thanks,
Sandeep Dutta

Please mark the answer correct & Helpful, if i could help you.