This article shows practical usage of SuccessFactors UserID generation which was introduced in 1808 and makes the old userID assignment/generation little more straightforward.
How it was before is described in the article: https://blogs.sap.com/2016/06/06/employee-central-automatic-user-id-generation/
The old fashion way of generating UserIDs is still supported.
What is the major change in release 1808?
Before you needed to specify onInit, onChange or onSave rule to generate the UserID. Now you assign one rule to the MDF object Recruit/Rehire Configuration and that’s all. See the last line of the MDF object.
Let’s get some examples how it works the new way. First thing first so we should create the new rule for Users. You’ll need to select Generate Employee ID for Recruit/Rehire scenario otherwise it won’t be available to select this rule for UserID generation.
Before we will get to the possible options we should remove mandatory flag from Person ID field and keep it blank during the new Employee process.
- This option is very simple and we want to generate userID in the format (first letter from first name and last name). I’ve added If condition to generate the UserID only for the employees that don’t have the UserID already but with the new variant how to generate it, it shouldn’t be mandatory anymore. This case is working as expected and the ID is generated perfectly.
2. Let’s try to do it little bit different based on the country of the legal entity as this can be the typical scenario where you want to use different IDs. This rule is based on the option that there is one exception. Let’s call this exception Czech Republic. For Czech Republic we will use user format CZxxxx where xxxx is number from Sequence. For all other countries we are using standard SAP format 8 characters with leading zeroes. This case can be interesting for some companies using integration with SAP Payroll for many countries and with exception to use local provider or outsourced payroll.
This is the expected behaviour for Czech employees:
And for all others:
Everyone is now happy that it works as desired but let’s check two additional scenarios. We have employee in Czech and we want to send him on Global Assignment. Second case is to add concurrent employment to the employee to work in two different legal entities. Our test is to start GA/CE and check the employee data export what IDs are in place as this can impact integrations to other modules and payroll.
Let’s start with Global Assignment first. We will not make any change to the rule and we’ll see what will happen.
Adding new Global Assignment with switch “Make user ID same as user name” set to No.
My expectation: Newly generated UserID for the specific country.
Result: ID used from Next Person ID in Company settings
The behaviour is little bit different when the switch in the GACONFIG is set to yes:
Then you expect to have same userid with -1 in the end and the result is as expected:
Our last case is to test concurrent employment which I see as the most important scenario. We already have several customers with people employed in two different countries in different legal entities.
We use special custom field on the employment info level where we track the correct user-id used for integration but let’s have a look how this works with the new rule for hire/rehire.
As you can see it uses the same Person ID from Company Settings for each new concurrent employment (btw. I’ve set the new employment as secondary as this is typical scenario)
What to say in the end. The new option how to generate userID is definitely promising as it can guarantee to have the sequence without gaps (happening with onInit and onChange rules). I’m definitely looking forward for additional options that the GA/CE will work with this as well. This can bring huge consistency for the future and I would recommend to use this new option to generate the User IDs in the end.