SAP Knowledge Base Article - Public

2251792 - Migrating Picklist values for Pay Scale Type and Pay Scale Area to MDF Objects

Symptom

  • It is now possible to migrate the existing Picklist values for Pay Scale Type and Pay Scale Area to MDF Objects
  • This feature enhancement is recommended as of 1H 2023 as support for pay scale picklists of the Job Information fields Pay Scale Type and Pay Scale Area will reach End of Maintenance on November 17, 2023 (ECT-203910: Refer 1H 2023 What's New Viewer)
  • Fields/Picklists in question:
HRIS Element Field ID Picklist ID
jobInfo payScaleType pay-scale-type
jobInfo payScaleArea pay-scale-area

"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 Employee Central - Core

Resolution

Important Considerations

  1. This is a ­recommended feature migration as support for pay scale picklists of the Job Information fields Pay Scale Type and Pay Scale Area will reach End of Maintenance on November 17, 2023.
  2. For new customers considering this feature, it should be implemented based on MDF Object and not the Picklist configuration type.
  3. For exisiting customer, you do not need to migrate these picklists if:
    • Instance(s) do not have picklists assigned to 'Pay Scale Area' and 'Pay Scale Type' hris fields in Succession & CSF Succession Data model(you can download the same from Admin Tools -> Export Succession data model) and
    • There are values present in Manage data for both 'Pay Scale Area' and 'Pay Scale Type' objects.
  4. If you choose to proceed with the migration, you need to make sure that no users are changing Job Information data in the system whilst the migration job runs (see below migration steps).
  5. What is being migrated? The picklist values are being migrated to MDF objects. Job Information data will remain un-changed and the migration will seamlessly allow you to continue using the new MDF version without any impact to existing employee data
  6. Do not manually create the values in the MDF objects prior to migration - this will make the migration fail
  7. Make sure that ALL values in both the pay-scale-type and pay-scale-area picklists have an External Code set. Otherwise migration will fail
  8. If you have configured the fields to be country specific - then you will need to also ensure that the "ParentOptionId" of the picklist value is set against the corresponding country in the "ISOCountryList" picklist. If this is not done, then the value will also not migrate.

Integration Considerations

  • When migrating the picklist values for pay-scale-area and pay-scale-type to MDf Objects, the externalCode value of the MDF Object will be different than the external_code of the picklist value (externalCode of the MDF Object will consits of '<Country>/<external_code of picklist value>'. Therefore you need to also ensure that you plan to adjust the mapping of codes on API consuming systems.

Why Migrate

  • The two fields now directly refer to the identically named MDF objects Pay Scale Type and Pay Scale Area. This saves the trouble of double maintenance when migrating from Picklist to MDF, and grants all the benefits of MDF based feature (compared to system picklists) 

What is Migrated

  • The migration job will migrate the Picklist values to MDF. The MDF value will be create with Internal ID equal to the Picklist values OptionId. No employee data will be migrated as part of the migration process.

Limitations after migration

  • ODATA: If you migrate to Pay Scale Type/Area to MDF, it is expected that you will need to update any API mappings to pass ".name" (example - "payScaleArea.name") otherwise the Code will be passed. If the configuration is still using Picklist - the API call will continue to pass the picklist Label as per before
  • Adhoc Reports: GOs PayScaleArea and PayScaleType shows internal code in the reports instead of the labels > Fix targeted in b1602 release with ECT-43304 - please monitor b1602 release communications

Migration Process

Please follow these steps in order -:

STEP 1) Backup of Data Models, and removing picklist references:

Export Data Models:

  • Navigate to Admin Tools -> “Export Succession Data Model” & “Export Country/Region-Specific Succession Data Model”.
  • Keep a copy of both these data models as backup.
  • Navigate to Admin Tools -> Manage Business Configuration(BCUI) ->jobInfo -> Take Action -> Make Correction-> Click on ‘details’ of the fields “Pay Scale Type"(field id = payScaleType) and "Pay Scale Area" (field id = payScaleArea) -> remove the picklists from both these fields(as shown in the screenshot).

  • These fields may also be configured in the country specific job info configurations. Therefore make sure that the above step is followed for each of the the country specific job Information configurations (This can also be done via data model import, if you have access to provisioning.

NOTE - The picklist reference must be removed from all mentions of the 2 fields. For example,you cannot have one country using picklist version and another country using MDF version.

  • Once the above step is completed and the BCUI is saved, you can export data models via “Export Succession Data Model” & “Export Country/Region-Specific Succession Data Model”, and verify if there are any picklist references that was not removed.

STEP 2) Verify existing data for successful migration

  1. Navigate to Admin Center -> Manage Data, and verify that no values have been manually created for the payScaleType and payScaleArea MDF objects. If there are values, then please perform an Export for bothe the objects via Admin Center -> Import and Export Data (for backup), and then delete the values from the system. 
    • IMPORTANT NOTE: 
      • If a value already exists that is also to be migrated, the value will not migrate from the picklist. This will then break the data in Job Information (meaning you will see a very long internal database ID like 321382136546, instead of a real value). Therefore, do not add any new values until after the migration is successfully completed.
      • This step is important because, when we store a picklist value in the database, it is stored in the column using the "OptionId" of the picklist value. So, when we migrate the value to MDF, to avoid having to update hundreds or thousands (and in some cases millions of Job Info data records), we simply set the internalId of the MDF value (that is created by the migration job) to be the same as the "OptionId" of the legacy picklist. This allows the system to find the related object value without having to perform masses of data updates.
  2. Navigate to Admin Tools -> Picklist Centre ->Make sure that ALL values in both the pay-scale-type and pay-scale-area picklists have an external_Code set. Otherwise migration will fail.
  3. Also ensure that the "Parent Picklist" field for both pay-scale-type and pay-scale-area picklists is set as "ISOCountryList" & for each of the picklist value(s) maintain the corresponding country in the "Parent Picklist Value".PayScale_Picklist.jpg

STEP 3) Create the Migration Job

Navigate to Admin Tools -> Job Scheduler -> Create Job Request:

  • Add a name for the job.
  • Job Owner is auto filled. If not, make sure to set the Job Owner as a user who has full access to the instance (Eg: Super Admin).
  • Select the Job Type -> Initialize migration of picklist fields payscale area and type to mdf objects (ECT-184568: Refer 1H 2023 What's New Viewer)
  • Set Occurrence as ‘One-time’.
  • Select a Start date.
  • Submit.

STEP 4) Once submitted, click on ‘Actions’ beside the job and ‘run it now’. Running the job - it will not take long to run, as the job is migrating the Picklists to MDF.

See Also

Keywords

KBA , LOD-SF-EC-JOB-PKL , Picklists , LOD-SF-EC-BCI , Manage Business Configuration (BCUI) & Data Models (XML) , How To

Product

SAP SuccessFactors HCM Core all versions