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
Tera 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 Accept the solution if it assisted you with your question & Mark this response as Helpful.
Regards
Tanushree Maiti
ServiceNow Technical Architect
LinkedIn: https://www.linkedin.com/in/tanushreemaiti

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.