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

SAP Knowledge Base Article - Public

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

Symptom

In the b1511 release, it is possible to migrate the existing Picklist values for Pay Scale Type and Pay Scale Area to MDF Objects

This feature enhancement is Opt-In

Reference - ECT-35816

Fields/Picklists in question -:

HRIS Element Field ID Picklist ID
jobInfo payScaleType pay-scale-type
jobInfo payScaleArea pay-scale-area

Environment

Employee Central 2.0

Feature - Pay Scale

Resolution

General Considerations

  1. This is an Opt-In feature migration, meaning it is ok to also continue using the Pay Scale Type/Area fields as picklists and not migrate to the MDF version.
  2. For new customers considering this feature, it should be implemented based on MDF Object and not the Picklist configuration type
  3. 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).
  4. 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
  5. Do not manually create the values in the MDF objects prior to migration - this will make the migration fail
  6. 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
  7. 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

For existing customers already using Pay Scale Type and Pay Scale Area - you can open an incident with Product Support to help with the migration (as most steps you will not be able to perform without access to configuration XML and Provisioning).

Please follow these steps in order -:

1) Navigate to Provisioning and download both the Succession Data Model as well as the Country Specific Succession Data Model.

  • Remove the picklists from the fields "Pay Scale Type" (field id = payScaleType) and "Pay Scale Area" (field id = payScaleArea) configuration. Please note that these fields are generally configured in the Country Specific Data Model on a Country-By-Country basis and under each country will be found under the <hris-element id="jobInfo">
  • Please ensure that both the "Pay Scale Type" (field id = payScaleType) and "Pay Scale Area" (field id = payScaleArea) fields are included in the Succession Data Model (even if you have them set to visibility = NONE). In the past you may not have added them to the Succession Data Model, as they were used in the Country Specific Succession Data Model. This is still ok to have the fields in the Country Specific Succession Data Model for country specific configuration, but, you must also include them in the Succession Data Model.
  • NOTE - the picklist reference must be removed from all mentions of this field - e.g. - you cannot have 1 country using picklist version and 1 using MDF version.
  • NOTE - TAKE A BACKUP COPY OF THE XML before importing the updated version

2) Navigate to Admin Center > Manage Data and verify that no values have been manually created for the payScaleType and payScaleArea MDF objects. If they have, then please perform a export via "Admin Center > Import and Export Data" and then delete them from the system. 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 instead of a real value - a very long internal database ID like 321382136546). So, it is better to add any new values AFTER the migration is performed.

IMPORTANT THINGS TO NOTE - PLEASE REVIEW

  • The above 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 of 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.
    • This is why it is important not to create any MDF values for payScaleType and payScaleArea MDF objects until after the migration is complete, because if there is a duplicate - it will not get migrated.
  • 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
  • If you have configured the 2 fields (payScaleType and payScaleArea) 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.

3) Navigate to Provisioning > Manage Scheduled Jobs > Create New Scheduled Job.

  • Add a name for the job.
  • Make the Job Owner a user who has full access to the instance (Super Admin).
  • Select the Job Type - Initialize migration of picklist fields payscale area and type to mdf objects

PSCT&A_CreateMDFMigrationJob.JPG

4) Running the job - it will not take long to run, as the job is migrating the Picklists to MDF.

5) Please do not run the job more than 1 time. Allow it to complete.

6) If the job fails - please open a new incident with Product Support

What happens once you run the migration job?

  • If MDF objects already exist in the system, the system will now update the InternalId of the existing Generic Objects, Pay Scale Area and Pay Scale Type, with the option Id from the picklist. This ensures that the reference in the Job Information still works without any disturbance. If Pay Scale Area and Pay Scale Type are referenced in a Pay Scale Group, the key is replaced with the InternalId of the referenced Pay Scale Area or Pay Scale Type.
  • If the MDF Objects do not exist in the system, the system will create a new one and updates all references in the Pay Scale Group GO.
  • If the InternalId is already in use for the respective object type (PayScaleArea or PayScaleType), an error is displayed in the log file. This happens only if you run the job more than once.


Note:

  • If you want the fields to start behaving like picklist fields again, simply add the picklists back to the Data Model again (if you follow standard Change Management processes - you should have already taken backups of the XML during step 1 of the above process)
  • The picklist entries are matched using the external_code of the picklist and the externalCode of the MDF object.
  • Since the MDF externalCode includes the 3-digit country code, the picklist external code is converted to similar format using the ISO country association which can be retrieved using the parent option ID.

 

Note for Product Support: Please see internal comment if the Migration Job is Successful but no values are migrated

Keywords

Pay Scale Type, Pay Scale Area, Pay Scale Migration, MDF Migration, b1511 , KBA , LOD-SF-EC , Employee Central , LOD-SF-EC-MDF , MDF & EC2MDF Migration , How To

Product

SAP SuccessFactors HCM Core all versions