Symptom
A call to the Compound Employee API fails and returns the following error:
- "person_id_external : <person ID>
node_name : <entity>
....
COMPOUND_EMPLOYEE/PICKLIST_INVALID
<field> can't be returned: Please make sure that the external code for <picklist> with Option ID <value> is valid. If this is a migrated picklist, please maintain missing non-unique external codes for this picklist"
In the example above, employee <person ID> has a record in the <entity>, where the <field>, which is linked to the <picklist>, is populated with the <value>, which should correspond to an existing Option ID in that picklist.
Environment
SAP SuccessFactors HCM Suite
Cause
There are four common reasons for this error:
-
Missing Non-unique External Code in Picklist Center (MDF picklists);
-
Missing External Code value in exported picklist file (Legacy picklists);
-
Option ID mismatch due to historical employee data saved with an outdated picklist value;
-
Corrupted or outdated picklist values in employee records;
Resolution
Cause 1: Missing Non-unique External Code (MDF picklists)
If using MDF picklists, ensure Non-unique External Code is properly maintained:
-
Go to Picklist Center
-
Search for the picklist causing the error
-
Click on the relevant picklist value
-
Add a value under "Non-unique External Code"
-
Save the changes
Cause 2: Missing external_code in (Legacy picklists)
If using legacy picklists, ensure External Code is properly maintained:
-
Go to Import and Export Data > Export Data
-
Select the Picklist Values object and export the picklist data
-
Open the CSV and filter by the picklist name
-
Add or correct the value in the External Code field for the corresponding Option ID
-
Save the file
-
Go to Import and Export Data > Import Data
-
Upload the updated CSV and proceed with the import
Cause 3: Historical Snapshot with Outdated Option ID
When a picklist value is saved to an employee record, the database stores a snapshot of the picklist's Option ID at that time. If the picklist Option ID has since changed (unusual but possible), the system may not find a match.
Solution:
-
Make a dummy update to all the employee's records in the relevant portlet (e.g., Job Information)
-
Save the change
This will refresh the record with the current Option ID
Cause 4: Corrupted/Outdated Picklist Values in Employee Records
When viewing an employee profile:
-
The picklist value appears during view mode
-
But turns blank in edit mode, indicating a broken reference
Options to resolve:
-
For a small number of records: manually update the affected picklist fields
-
For a large number of records: perform a full purge import for the impacted portlets (e.g., Job Info, Personal Info)
Keywords
external_code, picklist, Option ID, Boomi, SAP PI, Compound Employee API, COMPOUND_EMPLOYEE/PICKLIST_INVALID, Picklist Center, Import and Export Data, migrated picklists, non-migrated picklists, non-unique external code, snapshot, data correction , KBA , LOD-SF-INT-CE , Compound Employee API , Problem
SAP Knowledge Base Article - Public