Duplicate records in sys_choice table - Production

Vaibhav Sharma1
Tera Contributor

I am looking for assistance on below issue identified in an environment (PROD):

 

* It has been identified that there are duplicate choices for alm_asset.substatus field on sys_choice table

* These duplicate values have same label & backend name

VaibhavSharma1_0-1777967526629.png

 

* However, no gap is seen on front end UI of alm_asset table, we see only unique choices as expected

* Duplicate choices in backend are creating problem for interfaces running with this table

 

What could be the root cause and how should I investigate?

First of all need to understand if choices are duplicate then how asset table is showing unique values correctly

 

#CMDB #Asset #ITAM #Assetmanagement

3 REPLIES 3

Tanushree Maiti
Kilo Patron

Hi @Vaibhav Sharma1 ,

 

This is a common issue when using Choice Action: true in Field Maps, leading to duplicate choices which cause issues in user interface drop-down menus.

 

Probable Solution:

Navigate to Transform map ->check for which transform map Target table is alm_asset

 

  • In your Field Map, change Choice Action from create to Ignore/reject (as per your requirement).
    • Ignore: Ignores the new value if it doesn't exist, preventing new entries.
    • Reject: Aborts the transformation row if the choice does not exist.
  • Use Coalesce: Ensure you are using Coalesce on your import fields to identify existing records.
  • Remove Case Sensitivity: Uncheck the "Case sensitive" box in your transform map to ensure that "Value" and "value" are treated as the same entry

 

 

Please mark this response as Helpful & Accept it as solution if it assisted you with your question.
Regards
Tanushree Maiti
ServiceNow Technical Architect
Linkedin:

Ankur Bawiskar
Tera Patron

@Vaibhav Sharma1 

did you check they got created by which user and what timeframe?

any import set is loading data which might be creating choices?

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

TharaS657398130
Giga Guru

Hello

What you’re seeing is actually possible in ServiceNow — duplicate records in the sys_choice table don’t always show as duplicates on the UI because the platform filters choices at runtime based on things like language, application scope, domain, and sequence/order, so only one “effective” choice is rendered even if multiple identical records exist in the backend. The root cause is usually something like update set collisions, plugin installs (like ITAM/Asset), manual entries, or domain separation creating parallel records with the same element/value/label. To investigate, query sys_choice for name = alm_asset and element = substatus, then compare duplicates across fields like sys_scope, sys_domain, language, and sequence — that will tell you why only one is being picked in UI. Also check if any are inactive or tied to different scopes. For fixing, don’t just delete blindly — identify the correct record (usually global + active + proper sequence), remove or deactivate duplicates carefully, and test because interfaces may be picking a different duplicate than UI.