Dictionary override not working

Anshu_Anand_
Kilo Sage
Kilo Sage

Dear All,

 

There is a mandatory field status(install_status) which i want to make false located on cmdb_ci_printer table .

when i goto its parent table to make a dictionary override that is the base table is CMDB table(not cmdb_ci) table

(when i click to edit the parent table it redirects to CMDB table).

It gives "invalid insert" error on creating a dictionary override . for other tables its working but not for printer table

can someone explain how to fix this.

 

Thanks,

Anshu

 

Regards,
Anshu
14 REPLIES 14

HI,

Debug Business rule and check which business rule is running and not allowing you to do this.

Thanks,
Ashutosh

Hi,

Definitely some issue with your instance as it is working fine for us

Regards
Ankur

Regards,
Ankur
Certified Technical Architect  ||  9x ServiceNow MVP  ||  ServiceNow Community Leader

Yeah. Or else some customisation.

Marek Meres
Tera Expert

hi All,

An old post but I have the same on my brand new PDI (San Diego) and I think I know why:

I want to make 'name' mandatory for all Hardware (cmdb_ci_hardware)

  1. I go to Dictionary for 'name' / 'cmdb_ci_hardware' and being redirected to where the 'name' is defined = 'cmdb' (not 'cmdb_ci' !)
  2. find_real_file.png
  3. On the 'cmdb' table I try to define a Dictionary Override for the 'name' / 'cmdb_ci_hardware'  which throws an error:
  4. find_real_file.png
  5. So I go to all Dictionary Overrides and find an existing one for 'cmdb_ci_hardware' and 'cmdb_ci' (!) which is NOT the base table for that attribute.
  6. find_real_file.png

So (this is my PDI so I can experiment) I first modify existing DO (defined with 'cmdb_ci' as base table) above to make 'name' mandatory and it indeed becomes mandatory (checked on a couple of Hardware sub-classes). The downside is it is not visible as DO on the base 'cmdb' / 'name' Dictionary entry...

So I then delete the 'cmdb_ci' / 'cmdb_ci_hardware' / 'name' DO and create a new, proper one, from the 'cmdb' / 'name' Dictionary entry. It works as expected (similar as the above attempt) and this time I can see the DO on the correct Dictionary entry.

But before I delete these old fossils ('cmdb_ci' DOs when the base table is 'cmdb') on my customer's instance I will ask ServiceNow why they left them in the system - is it an omission or there is some secret mission behind it... 😉

Best regards,

Marek

There used to be only one BASE table cmdb_ci, there was no cmdb table prior to Jakarta.

During the Jakarta upgrade, the cmdb_ci table went through a migration process called Table Per Partition, and cmdb table was introduced as the base table of cmdb_ci.

I don't know the purpose of it yet .

Regards,
Anshu