SAP Knowledge Base Article - Public

2378577 - Business rules using legacy picklist are invalid after instance sync


After instance synchronization, business rules that are using legacy picklist are invalid.


SAP SuccessFactors Employee Central

Reproducing the Issue

Complete an instance synchronization. Check business rules that are using legacy picklist.

Business rules with legacy picklist did not synched properly.


The root cause of the problem is that optionIds are getting generated automatically and we cannot enter a value in the legacy picklist file unless we are updating the status and label of the picklists. For updating the option, we need to identify every option using a unique and immutable business key. But we don’t have such a business key for option. The only unique key is optionId, but since it is a surrogate key its value will be different for same option in source and target.


Change the instance sync code to update options using "external_code" as business key assuming that it will be made unique and immutable. But since we know it is not, so we will put our own validations in instance sync code to ensure the non nullability and uniqueness of external_code.

After this is implemented, then anyone executing instance sync for picklist will most likely see an error saying that external_code is null or non unique.  The administrator will then have to assign external_codes to picklist options in source and target to be able to perform instance sync. While doing so the consultants should ensure that they assign the same external_code to the same option in both source and target. Otherwise picklist sync won’t be accurate.

Then, you may now manually update the business rules with the correct picklust values in the newly synchronized instance.


Instance Sync, legacy picklist, business rules , KBA , LOD-SF-EC-RUL , DO NOT USE - Business Rules & Event Derivation , Problem


SAP SuccessFactors HCM Core 1608