Symptom
Customer has a requirement to allow end users or system administrators to change their username via an EC portlet
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 HCM Suite
- SAP Successfactors Employee Central - HRIS Sync
Reproducing the Issue
- Go check tool
- Application = Employee Central HRIS Sync
- Click on : Go
Result:check username mapping
View: 2472648 - Using the Check Tool to Check a SuccessFactors Configuration
Cause
configuration issue
Resolution
SAP SuccessFactors does not support (nor does it recommend) configuring this for you customer instance, as the UI does not truly support the mapping, although mapping does work.
Please be aware that though this does add some value to a customers configuration, it will also potentially bring issues where you specify a username that is already assigned to another user, and a suitable message is not returned by the UI (i.e. a generic error will be given).
Do NOT configure username as a standard-element-ref.
Example code:
<hris-mapping >
<hris-field-ref refid="person-id-external"/>
<standard-element-ref refid="username"/>
</hris-mapping>
Facts
It is possible to add a custom sync-mapping to the Succession Data Model configuration, to synchronize a STRING value to the "username" field in Employee Profile, allowing an employees username to be changed via EC UI.
Here are a few FAQs about configuring this solution:
- IMPORTANT: The EC UI does not currently handle the scenario where the specified username already exists (ending in an Application Error). This is due "username" being a unique value in the system. If a non-unique value is entered in EC, it will not synchronize to EP and the value in the field (on EC side) will revert with an appication error.
- The mapping will support only STRING fields, for example a custom-string field
- The mapping is only support for specific hris-elements (see below)
- Invalid HRIS Sync Mapping Configuration "HRIS Sync Job Failure" (see 2336779)
Example: 2336779): Configure username as destination field
Username should be unique. If there is duplicated custom-string2 values, hris sync job will fail. Below configuration will cause job failure.
<hris-element-ref refid="personInfo">
<hris-mapping >
<hris-field-ref refid="custom-string2"/>
<standard-element-ref refid="username"/>
Email:
- Please do not configure/map the email-address of any type to the "username" field in Employee Profile
- Do NOT configure username as a standard-element-ref. View Guide: Fields Hard-Coded for Syncing
- As there is no "uniqueness" check available on EC side, the system can try to pass non-unique values to "username" which would result in UI/Import errors when attempting to do so
- 2336779 - Invalid HRIS Sync Mapping Configuration " HRIS Sync Job Failure"
Code:
</hris-mapping>
</hris-element-ref>
</hris-sync-mappings>
<hris-element-ref refid="emailInfo">
<hris-mapping entity-type="B" >
<hris-field-ref refid="email-address"/>
<standard-element-ref refid="username"/>
</hris-mapping>
</hris-element-ref>
Which elements can this be configured for?
If you require to configure this mapping, it must be configured using only one of the following 3 hris-elements -:
- Personal Information
- E-mail Information
- Biographical Information
NOTE: Job Information is confirmed as not supported
FAQ - Additional Information
Q) Can I user userinfo-element : <userinfo-element-ref refid="Username"/> intsead of <standard-element-ref refid="username"/>?
A) Yes please userinfo-element View: 2363922 - How To Create a New Employee Profile field Userinfo Element field and Sync during Employee Central field To EP Hris sync
View Example of mapping:
<hris-mapping>
<hris-field-ref refid="custom-string2"/>
<userinfo-element-ref refid="Username"/>
</hris-mapping>
Q) Where can I get information on this from the Guide?
A) Guide:Implementing Employee Central Core
Chapter: Human Resource Information System (HRIS) Synchronization
*** In 2H2023 Release It has been observed that to synchronize a STRING value to the "username" field in Employee Profile, whenever there's a change on the username it will not reflect immediately, only after Daily HRIS Sync triggers.
See Also
- 2080730 - Employee Central: HRIS Sync - Troubleshooting Guide
- 2336779 - Invalid HRIS Sync Mapping Configuration " HRIS Sync Job Failure"
- 2363922 - How To Create a New Employee Profile field Userinfo Element field and Sync during Employee Central field To EP Hris sync
- 2231503 - Synchronize Business Configuration Job Configuration via Scheduled Job Manager
- 2472648 - Using the Check Tool to Check a SuccessFactors Configuration
Keywords
HRIS Sync, Synchronization, Username, Employee Central sync, standard-element, sync, user-name, username, ec, "errorId=null, timestamp=null, errorMessage=Cannot read property 'split' of null, errorName=TypeError", Cannot read property 'split' of null, Cannot read property split of null,userid, check tool, <a href="https://launchpad.support.sap.com/#/notes/2085369" target="_blank">https://launchpad.support.sap.com/#/notes/2085369</a>, userinfo-element-ref , standard-element-ref , KBA , LOD-SF-EC-HRS , HRIS Sync , LOD-SF-EP , People Profile , LOD-SF-EC-PER , Person Data (All Person Data Types) , Problem