SAP Knowledge Base Article - Public

2770477 - How to Resolve Duplicate Picklists After Migration?

Symptom

Introuduction:

When picklists of the same ID exist in MDF and legacy picklists, And this picklist is NOT part of a Legacy to MDF picklist mapping setting. When we run the pre-migration check, such picklists are displayed in the Picklist migration conflicts UI. Here the admin can take decisions on how to maintain the picklist post migration.

Environment

 All BizX non-picklist migrated instacne / Enabled with Picklist Managment

Resolution

Picklist Migration conflicts UI:

Picture10.JPG

Example of Partial Match picklist:

  • Picklist ID is same on MDF & legacy (Case should match)
  • It is considered a partial match when one the below criteria is met
    • Number of options is different (based on external code match)
    • Mismatch is status when external codes are same
    • Mismatch in labels when external codes are same
    • In below example is partial match picklist , only the row highlighted in green is a perfect match

Legacy Picklist – Employee

Picklist ID

OptionID

Status

External Code

Label US

Label FR

Label DE

Label ES

Employee

11

A

P

Permanent

Permanent

Permanent

Permanent

Employee

12

A

C

Contractor

 

 

 

Employee

13

A

I

Intern

Intern

Intern

Intern

Employee

14

I

E

External

 

 

 

Employee

15

A

A

Apprentice

 

 

 

MDF Picklist - Employee

Picklist ID

Status

External Code

Label US

Label FR

Label DE

Label ES

Employee

A

P

Permanent

Permanent

Permanent

Permanent

Employee

A

C

Contractor

Contractor

Contractor

Contractor

Employee

A

I

Intern

Intern

Intern

Intern

Employee

A

E

External

External

External

External

If you had chosen Merge decisions, this is how your picklist will look like after migration: 

  • Option 1 - Merge picklist De-activate duplicates
    • Perfect match rows between legacy & MDF will be merged to single row, will retain legacy option ID
    • Legacy partial match rows will moved as new row, retaining legacy option ID , but with new generated external code since a duplicate in MDF picklist already existed
    • MDF options are retained, we will generate a new option ID for each
    • All duplicates based on external code prior to migration are set to inactive so admin of the instance can decide which to retain after migration

***Note:

Applications will retain option ID reference to migrated options  – DO NOT DELETE THEM

MDF objects will retain reference to existed MDF options via MDF internal ID -  DO NOT DELETE THEM

Picklist ID

OptionID

Status

External Code

Label US

Label FR

Label DE

Label ES

COMMENT

Employee

11

A

P

Permanent

Permanent

Permanent

Permanent

MERGED as this row was a perfect match

Employee

11290

I

C

Contractor

Contractor

Contractor

Contractor

Existed MDF

Employee

12

I

C~%1

Contractor

 

 

 

Migrated

Employee

11291

I

I

Intern

Intern

Intern

Intern

Existed MDF

Employee

13

I

I~%1

Intern

 

 

 

Migrated

Employee

11292

I

E

External

External

External

External

Existed MDF

Employee

14

I

E~%1

External

 

 

 

Migated

Employee

15

A

A

Apprentice

 

 

 

Migrated

  • Option 2 - Merge picklists
    • Perfect match rows between legacy & MDF will be merged to single row, will retain legacy option ID
    • Legacy partial match rows will moved as new row, retaining legacy option ID , but with new generated external code since a duplicate in MDF picklist already existed
    • MDF options are retained, we will generate a new option ID for each

***Note:

Applications will retain option ID reference to migrated options  – DO NOT DELETE THEM

MDF objects will retain reference to existed MDF options via MDF internal ID -  DO NOT DELETE THEM

Picklist ID

OptionID

Status

External Code

Label US

Label FR

Label DE

Label ES

COMMENT

Employee

11

A

P

Permanent

Permanent

Permanent

Permanent

MERGED as this row was a perfect match

Employee

11290

A

C

Contractor

Contractor

Contractor

Contractor

Existed MDF

Employee

12

A

C~%1

Contractor

 

 

 

Migrated

Employee

11291

A

I

Intern

Intern

Intern

Intern

Existed MDF

Employee

13

A

I~%1

Intern

 

 

 

Migrated

Employee

11292

A

E

External

External

External

External

Existed MDF

Employee

14

I

E~%1

External

 

 

 

Migated

Employee

15

A

A

Apprentice

 

 

 

Migrated

SYMPTOM:

If you had chosen #1, likely some or all picklist options are missing in dropdowns. If you had chosen option #2 you are seeing duplicate options.

Before Migration 

MDF (example position object):

Picture11.JPG

EC Job-Information:

Picture12.JPG

After Migration: 

MDF (example position object)

Picture13.JPG

EC Job-Information:

Picture14.JPG

Picklist Center:

Picture15.JPG

HOW TO resolve this issue:

Step 1

Export picklist (include in-actives, immutable ID’s) as backup

 

Step 2

Identify the picklist impacted by Merge

  • Picklist with same name in legacy and MDF/ used in EC & EC foundation
  • Use the picklist exported data from step 1,  to review affected picklists 

Step3

Identify MDF objects using these picklists – from the object definition export

Go to – Admin tools -> Import Export Data

Export > Export Object Definition

 

Search by picklist-ID in this export csv file and identify all objects that use this picklist

fields.dataType -> Type of field , this will be defined as Picklist

fields.dataSourceValue -> Will contain the picklist ID

Picture16.JPG

Step4

  •         Export the MDF data for all the objects that have the affected picklist configured – as backup (include inactive records) 

Step5: Swap external codes in picklist center between legacy and MDF

Existed MDF option will have external code as expected (Example C)

Migrated legacy option will have external code with a ~%1 (Example C~%1) 

Goal is to get MDF external code to migrated legacy option. So this option will contain legacy option ID & MDF option’s external code at the end of this step. 

  •         Navigate to picklist center
  •         Swap external codes in picklist center between legacy and MDF option
    • This will be 2 step process, first rename MDF option
    • Secondly rename legacy option’s external code to required MDF external code
  •         Inactivate the existed MDF options

Picture18.JPG

Step5

  •         Reimport the impacted MDF objects data to restore the internal-ID references to picklists affected by the merge

Step 6:

  •        Check MDF objects from manage data if the picklist displays as expected
  •        Check EC pages if the picklist displays as expected
  •        Verify rules referring to this picklist

Keywords

Picklist Migration, MDF Picklist, Picklist Center, Picklist Management , KBA , LOD-SF-PLT-PCK , Picklist Management Issue , Problem

Product

SAP SuccessFactors HCM Core 1811