Notifications

38 views

Description

Changes (such as Audit) on a scoped table's collection record is not applied on target instance when installing/updating an application.

Release or Environment

All releases

Cause

This can happen if the collection record is updated on target instance, causing its sys_mod_count to be >0. Even though the sys_update_xml entry for the record is deleted on target, the update will still be skipped. Logs: "Skipping dictionary update: <table_name>:NULL"

Ideally, the sys_mod_count of the collection record remains 0 on target after installing/updating an application even though the sys_mod_count of the record is >0 on source. If the record is updated directly on target, its sys_mod_count will be >0.

Resolution

1. Below script can be run on the target instance to update the sys_mod_count of the table's collection record to 0.

var dictGR = new GlideRecord('sys_dictionary');
dictGR.get('<sys_id>'); //sys_id of table's collection record
dictGR.setValue('sys_mod_count', '0');
dictGR.setWorkflow(false);
dictGR.autoSysFields(false);
dictGR.update();

2. Install the latest version of the application on target instance.

Article Information

Last Updated:2020-09-14 11:37:16
Published:2020-09-14