SAP Knowledge Base Article - Public

2799250 - OData API Upsert Picklists with same label behavior - SAP SuccessFactors HXM Suite

Symptom

We have two values in a Picklist that has the same label.

In this example, one is active and the other one is inactive:

KBAsamelabel.png

On our request payload, I have upserted 666835 (active) and response payload showed that it was upserted.

KBAreqpay.PNG

KBAres.PNG

However, when I checked in UI, the inactive one was upserted and not the active one per the request payload.

Image/data in this KBA is from SAP internal systems, sample data, or demo systems. Any resemblance to real data is purely coincidental.

Environment

  • SAP SuccessFactors HXM Suite
  • OData API

Reproducing the Issue

  1. Upsert the active value in picklist
  2. Check response payload > Status: OK & Upserted
  3. Checked in UI, the inactive one (that has the same label with active value picklist) was upserted

Cause

For picklist properties, the API will handle by option id or external code, however the internal SF importing logic will handle such imports by the picklist label. So when an API upsert occurs, the internal SF importing logic will convert the option id value received in the API into its label and then import it into the database. As there are duplicate labels present, it may pick an option id which is not the same as the original sent value.

In our example, the import logic derived the option id of the picklist value that is OBSOLETED, causing the issue.

Resolution

Change the values of the picklist labels, making every label unique.

See Also

2773713 - Post Migration Odata API Picklist MDF and Legacy Behavior with OptionId and MDF ExternalCode
2409842 - Error "is an invalid picklist value in import file or database for" When Importing File With Cascading Picklist Values

Keywords

Picklist, Upsert, Multiple, Label, Integration Center, IC, insert, change, update, API, OData, import, engine, logic, EC, SF, successfactors, unique, same, equal, , KBA , LOD-SF-INT , Integrations , LOD-SF-INT-ODATA , OData API Framework , Problem

Product

SAP SuccessFactors HCM suite all versions