[Class Change\Data Loss] Data Policies or Abort business rules on target class may lead to loss of CI or deletion/loss of CI.


While changing the classes, if any data Policies or business rules that can abort the insert/update change leads to CI record deletion or loss of CI.

Steps to Reproduce

  1. Assume two tables that extend from the table cmdb_ci_computer. (Say table1 and table2 extended from cmdb_ci_computer.)
  2. Assume one field on each of these tables (say column1 on table1 and column2 on table2).
  3. Create a data policy on table2 and set column2 as mandatory. (AND/OR create a business rule on table2 and set it to abort action if the column2 is empty). 
  4. Create a record on table1. (say record1). 
  5. Try change the class on above record (record1) from table1 to table2. 
    In this event, the class change will fail because of data policy/abort business rule.
    This is expected but the original table1 record gets deleted/lost.


After carefully considering the severity and frequency of the issue, and risk of attempting a fix, it has been decided to not address this issue in any current or future releases. We do not make this decision lightly, and we apologize for any inconvenience.

Possible workarounds:

At this point the only workaround is to inactivate the problem causing business rule / data policies while changing the class. Once the class change is done, then activate them.
Have some default values on the dictionary entries so it can use the default values.

Related Problem: PRB1282564