Application ID | SCPIINT31 |
|---|
| LeanIX Fact Sheet(s) | |
|---|
| Artefact(s) | - Employee Central to Sailpoint Employee Data_FinalFIle_Generation_PO2Flag
- Employee Central to Sailpoint Employee Data Code_Inactive_Enddate_PO2Flag
- Employee Central to Sailpoint Employee Data Code_InActive_FutureHire_PO2Flag
- Employee Central to Sailpoint Employee Data Code_Active_PO2Flag
- Sailpoint_To_SuccessFactors Employee Central_Backsynchronization_Individual
- Sailpoint_To_SuccessFactors Employee Central_Backsynchronization
|
|---|
| Service Pool / Process | TBD |
|---|
| Avg no of transactions per day |
|
|---|
| Frequency | Every 4 hours Adhoc |
|---|
| Source System | SAP SuccessFactors Employee Central |
|---|
Source Protocol | OData |
|---|
| Source Authentication mechanism | Basic Authentication |
|---|
| Target System | MyID - IdentityNow |
|---|
| Target protocol | SFTP |
|---|
| Target Authentication mechanism | Basic Authentication |
|---|
|
Back Synchronisation
To Do:
- Move PicklistOption Query before Splitting - can't be done as we can't only split at SailpointUser level. Instead, we could modify the query to ensure we only invoke PicklistOption where needed. Unfortunately, this proved to not improve the performance much. Hence dropping this idea. Applied filter: (username eq '${property.Username}' and empInfo/personIdExternal ne '${property.CentralPerson}' and status in 't','f','F','e','d') or (userId eq '${property.UserId}' and empInfo/personIdExternal eq '${property.CentralPerson}' and empInfo/jobInfoNav/positionEntryDate le datetime'2025-06-18T00:00:00.000' and status in 'active','inactive') or (userId ne '${property.UserId}' and toupper(username) eq toupper('${property.Username}') and empInfo/personIdExternal eq '${property.CentralPerson}' and status in 't','f','F','e','d')
- Response Mapping
- Request Mapping - isPrimary field
- Logging using Persist
- Send email with failed records
- Certificate Based Authentication for SFTP connection
- OAuth2 SAML Bearer Assertion for API connection
Done Improvements
- Renamed all components to a sensible name
- Removed empty components, for example, empty content modifiers or content modifiers that were setting body to ${in.body}
- Removed duplicate CSV to XML Converters
- Removed unnecessary Local Integration Processes
- Removed misuse of Gather
- incorrect placement
- unnecessary and redududant splitting and gathering
- Reduced Router Logic - replaced with simplified flow
- Removed unnecessary Transaction Handling
- Removed unnecessary manipulation of payload
- Reduced number of exchange properties
Identified Logic
If Sailpoint username matches SuccessFactors username but Sailpoint personIdExternal does not match SuccessFactors personIdExternal
Assign SuccessFactors personIdExternal to SuccessFactors username
Keep email address same
If Sailpoint username matches SuccessFactors username and Sailpoint personIdExternal matches SuccessFactors personIdExternal and Salilpoint userId matches SuccessFactors userId
Assign Sailpoint username and email address to SuccessFactors username and email address respectively
If Sailpoint uppercase username matches SuccessFactors uppercase username and Sailpoint personIdExternal matches SuccessFactors personIdExternal
but Sailpoint userId does not match SuccessFactors userId
Mark SuccessFactors username and email duplicate
Existing Logic
${property.SFPersonIdExternal},${property.SFPersonIdExternal},${property.SFUserId},${property.SFPrimaryEmailAddress},TRUE,${property.SFPersonIdExternal}
${property.EPersonIdExternal},${property.Upperusername},${property.EUserId},${property.PrimaryEmailAddress},TRUE,${property.Upperusername}
${property.EPersonIdExternal},${property.Upperusername},${property.EUserId},${property.PrimaryEmailAddress},TRUE,${property.Upperusername}
${property.Upempid},${property.UpUsername}_DUP${date:now:yyMMdd},${property.UpUserId},${property.UpEmail}_DUP${date:now:yyMMdd},TRUE,${property.UpUsername}
${property.EPersonIdExternal},${property.Upperusername},${property.EUserId},${property.PrimaryEmailAddress},TRUE,${property.Upperusername}
Credentials
Solvay Test API
https://api2preview.sapsf.eu
SFAPI_CPI@solvaysaT6
#Welcome2029!!
Syensqo Dev API
https://api55.sapsf.eu/odata/v2
SFAPI_CPI@syensqoD
#Welcome2029!!
Syensqo Test API
https://api55preview.sapsf.eu/odata/v2
SFAPI_CPI@syensqoT1
#Welcome2029!!
Syensqo Test SFTP
https://sftp55.sapsf.eu
50685924T
6v2gr%im1@aI
?? SFTP
https://prodftp2.successfactors.eu
30886T
4fY45tG00A2s
?? SFTP
https://prodftp2.successfactors.eu
30886T1
1p29UEoDB@91@aI
Syensqo Production SFTP
https://sftp55.sapsf.eu
50685924P
#6f6#cV31@aI