We will see Natinality sync behavior especially locale related logic.
Company locale is Chinese in Provisioning:
Logged in user's locale is Germany in the UI:
Country localized data in MDF Country objects:
Reproducing the Issue
Personal Information -> Nationality sync
The field Nationality in Personal Information is pre-defined as a Country field in code. The standard configuration in Succession Data Model (SDM) is:
The standard configuration for HRIS sync mapping for the field in SDM is:
In Personal Information portlet, the Country data in the drop down list display is related to logged-in user locale since EC is using MDF Country object which support localization of the data. Technically, CHN will be stored in Personal Information table. And when EC render EC Personal Information portlet, CNH will be based on logged-in user's locale to be rendered from MDF localized data. It will use company locale if user's locale is null.
Data stored in EC Personal Information table is CHN.
When EC sync Personal Information – Nationality to EP (UDF file), we will always sync the default value related to the Country code to EP. Technically EP custom fields by-design can't support localized feature, so we need to sync EP with the Country name and the Country name will be stored in EP table. Before territory migrating to MDF Country, we used territory table–>territory name. After migration, we still use territory view –>territory name which is based on the Country's default value of Country name.
Sync logic for EC custom strings field configured as type=Country:
SDM configuration of the field:
HRIS sync mappings in SDM:
In EC Personal information portlet, the Country data in the drop down list display is related to logged-in user locale since EC is using MDF Country object which support localization of the data. Technically internal id will be stored in Personal Information table related to GO- specific Country code. And when EC render EC Personal Information portlet, the value of Country name will be based on logged-in user's locale. It will use company locale if user's locale is null. Data in Personal Information portlet:
When EC sync data to EP related to type=Country (GO object), we will always sync the Country name related to the Company locale to EP. Technically EP custom fields by-design can't support localized feature, so we need to sync EP with the Country name.
Country field sync logic related to Country:
The behavior to sync Personal Information–>Nationality is different from the behavior to sync Personal Information–>customString field configured as type=Country. When we sync Nationality, we always sync Country name with the default value to EP fields. When we sync Personal Information custom fields configured as type=Country, we always sync Country name with the Company locale to EP fields. HRIS sync never sync data based on logged-in user locale for two reasons:
- Since data could be entered into system by import or API, and it will be synched by running HRIS sync job. And even if it's entered in UI, it will be synched again by HRIS sync job when the job is scheduled to run. So it doesn't make sense to use user's locale to sync labels/names to EP since HRIS sync job will run as an admin user.
- It also doesn't make sense to sync Country name related to the user's locale such as Germany characters to EP field and then the Chinese colleagues or Japanese colleagues to see these Germany characters without knowing the meaning of the characters only because the data is updated by a German colleague.
UDF SYNCHRONIZATION COUNTRY EP LOCALE MAPPING , KBA , LOD-SF-EC-INT , Manage Pending Hires (Integration RCM/ ONB/ OBX + UI) , LOD-SF-EC , Employee Central , LOD-SF-EC-HRS , HRIS Sync , Problem