Symptom
When performing a Proxy Import (via Admin Center > Proxy Import) you encounter the following response from the import job:
Total records received: 1
Total proxies created: 0
Total proxies deleted: 0
Records not processed:
Row Number: 2 - Error: User Id is not a primary Id .
Environment
- SAP SuccessFactor HCM Suite
- SAP SuccessFactors Employee Central
Reproducing the Issue
- Navigate to Admin Center > Proxy Import
- Download the template
- Add the UserID and ProxyID and flag which areas the user can proxy to
- Import the file
- Response is given (in the Email Notification) that "Error: User Id is not a primary Id"
Cause
This issue could be caused by 2 different reasons:
- The PROXYID (the UserID of the user you want to proxy as) is a UserID for a Global Assignment or a Concurrent Employment. Therefore you cannot proxy directly to that UserID
- The "username" value on database tables "users_sysinfo" and "user_account" do not match (data issue)
Resolution
1) Global Assignments and Concurrent Employments
It is currently only possible to proxy as the "Main" Employment (UserID) of a User. When Employee Central Concurrent Employment/Global Assignment features are enabled, this allows the creation of multiple employments (each with their own unique UserID) which get tied to the Person (via person-id-external) in EC.
To be able to proxy, you must instead use the persons main employment (main UserID). From there, when proxying to the main UserID, you can switch between the different employments with the "Switch to" feature option next to People Search in the top of the UI.
So here is how it works:
- EC User is created in the instance via Add New Employee with UserID "ABC123"
- User is put on Global Assignment or Concurrent Employment via My Employee Files > Take Action – if this is done via UI a new UserID for that employment is created – UserID "ABC123-1"
- If the GA or CE is created via import then the UserID is whatever was specified in the Import file as the UserID, for example – it could be CBA321
- Now the user has 2 UserID’s connected with their EC Person ID (so, in effect 1 person with multiple employments)
Now, you cannot grant Proxy Access to the GA/CE UserID as this is not supported. You instead grant Proxy Access to the Main Employment User ID (in our scenario, UserID ABC123) and then the end user will see a “Switch to” box to allow switching between employments.
If you do try to Proxy Import for the GA/CE UserID (ABC123-1) then you will get the error:
Records not processed:
Row Number: 2 - Error: User Id is not a primary Id .
2) Data Issue: "username" value on database tables "users_sysinfo" and "user_account" do not match
This issue is a little more difficult to identify and is extremely rare. As there is no way that you can check via the Application UI that the "username" value on database tables "users_sysinfo" and "user_account" do not match, you will need Product Support to assist. The issue may have been caused by incorrect creation method of Employee Central data for this user. The issue itself is not reproducible.
If you have ruled out the UserID being a Concurrent (Second) Employment or a Global Assignment, then this is the more likely root cause. Therefore please open an case with SAP Cloud Product Support (Platform) and reference the following information in the case description -:
- This KBA - 2489499 - Proxy Import: Row Number: 2 - Error: User Id is not a primary Id
- Instance ID of the effected instance
- UserID of the effected user
**********NOTE TO PRODUCT SUPPORT: Please refer to the Internal Memo for further guidance!**********
See Also
Keywords
Proxy Import, Employee Central, User Id is not a primary Id, Global Assignment , KBA , LOD-SF-PLT-PRX , Proxy , LOD-SF-EC-CGA , DO NOT USE - Use EC-CON or EC-GA , Problem