"Invalid 'Dictionary Entry'" record error

Mikhail6
Tera Contributor

When I try to update a dictionary, the following error shows up:

"Invalid 'Dictionary Entry' record even though the selected outside Table 'Business Application' is allowed."
"
Invalid update".

 

Mikhail6_1-1701446019437.png


Table is "cmdb_ci_business_app".
Any suggestions? 


Thanks

1 ACCEPTED SOLUTION

Bert_c1
Kilo Patron

Hi,

 

I was able to create that field in my PDI. If what you see is from a hosted instance, then I believe the field creation in the database has some problem.  This can happen on very large tables (cmdb, task) as it can take some time for the database alter (if needed).  You should create a Support Case for this, if the field was not recently created. If recently created, a database alter may still be in process.

View solution in original post

6 REPLIES 6

Bert_c1
Kilo Patron

Hi,

 

I was able to create that field in my PDI. If what you see is from a hosted instance, then I believe the field creation in the database has some problem.  This can happen on very large tables (cmdb, task) as it can take some time for the database alter (if needed).  You should create a Support Case for this, if the field was not recently created. If recently created, a database alter may still be in process.

Marcus Walbridg
Tera Expert

I might need more information on what you are trying to do, but some questions: are you using the correct app scope?, are you trying to edit a dictionary that was inherited?

Bert_c1
Kilo Patron

cmdb_ci_bussines_app table and all of the field metadata (sys_documentation, sys_dictionary, sys_custom_db_object, and sys_storage_alias records for the field) records are in the Global application scope. Any custom fields in the cmdb table hierarchy need to be created in Global scope. The cmdb schema design used is known as "Table Per Partition".  And the 'storage_name' and 'storage_table' fields on sys_storage_alias map the field to the table and column in the database. Having millions of records in cmdb when trying to create a new custom field from the UI (not in an update set) in the table hierarchy can easily lead to database "corruption".

Sandeep Rajput
Tera Patron
Tera Patron

@Mikhail6 You are trying to add the field Operational Management on the table Business Application (cmdb_ci_business_app) in Application Portfolio Management scope. Since the table Business Application (cmdb_ci_business_app) exists in the Global scope, the operation might have been denied due to this cross scope field creation. 

Screenshot 2023-12-02 at 1.22.15 PM.png

I recommend you to try adding the field Operational Management from the Global Scope.