cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Update primary & secondary email for an user in SuccessFactors EC concurrently using OData API

ravi_paul
Participant
1,618

Hi IDM Gurus,

For an user in SF moved from Onboarding module to EC, their personal email is carried forward and marked as primary email(for example "xxx@xxx.com" in PerEmail entity set as 'isPrimary=true'). Now when IDM generates business email(or example "yyy@yyy.com" ) and tries to set using OData API, I'm getting error "Only one email address can be set as primary"

ravi_paul_1-1744202379903.pngravi_paul_0-1744202321377.png

I understand that, only one email can be set as primary and IDM is able to set business email as secondary. However in such case how do we set business email as primary and personal email as secondary in one request using OData?

I find SAP Note https://me.sap.com/notes/2749494/E to bundle both request in one OData payload but how do we bundle it in SAP IDM?

Here is IDM request -

ravi_paul_2-1744202542245.png

 

Accepted Solutions (1)

Accepted Solutions (1)

ravi_paul
Participant

Hi Everyone,

Just to help wider audience, I have found the solution. Seems we can't bundle OData payload from IDM however I did it logically -

1. Stored personal email from SF in one of the custom IDM attribute.

2. While updating records in SF - In 1st custom pass, used parameter "purgeType = full" in header request and in payload passed Business email, this will remove anything that is ContactInformation portlet related to email in SF and update Business email as primary.

3. In second custom pass, used parameter "purgeType = incremental" and updated personal email that was stored in IDM attribute of user as secondary. 

 

Answers (1)

Answers (1)

Simon-bo
Participant

Dear all,

While storing the private email in AD is a nice workaround for some companies, it is not allowed in all companies and it would be great if SAP would allow to change the is primary flag via API without sending all existing data records. 

There is already an influence request here, if you like to vote: 

https://influence.sap.com/sap/ino/#/idea/286632

Kind regards 

Simon

ravi_paul
Participant
0 Kudos

Hi Simon,

Thanks for your comment and the influence you gave me. I wasn't aware such influence was already there for SF. 

However, I have limited understanding on EntraID yet, whereas in SAP IDM we can temporarily or permanently store values into IDM attributes while reading from SF and hence we can utilize such values while writeback into AD or SF or anywhere.

In this case, I have successfully achieved the requirement by storing personal email into IDM attribute while we read data from SF. During write, I'm first writing the business email using the parameter "purgeType = full" this will remove everything in PerEmail entity and write the business email as primary. And after a few seconds using the parameter "purgeType = incremental" I'm writing a personal email as a secondary, which suffices my need.

-RP

Aliesha_JG1
Participant
Thanks for sharing this influence item Simon. Now the idea has been accepted, hopefully it will be released soon. Like you we have limitations on storing personal information outside of the HRIS due to privacy constraints and general best practice so it's easier to manage our data purging/retention management commitments.