Så integreras Microsoft Entra-etablering med SAP SuccessFactors
Microsoft Entra-tjänsten för användaretablering integreras med SAP SuccessFactors Employee Central för att hantera användarnas identitetslivscykel. Microsoft Entra ID erbjuder tre fördefinierade integreringar:
- SuccessFactors till lokal Active Directory användaretablering
- SuccessFactors till Microsoft Entra-användaretablering
- SuccessFactors Tillbakaskrivning
Den här artikeln förklarar hur integreringen fungerar och hur du kan anpassa etableringsbeteendet för olika HR-scenarier.
Microsoft Entra har också stöd för enkel inloggning till SuccessFactors. Mer information finns i Microsoft Entra-integrering med enkel inloggning (SSO) med SuccessFactors.
Upprätta anslutning
Microsoft Entra-etableringstjänsten använder grundläggande autentisering för att ansluta till slutpunkter för Employee Central OData API. När du konfigurerar etableringsappen SuccessFactors använder du parametern Klient-URL i avsnittet Administratörsautentiseringsuppgifter för att konfigurera URL:en för API-datacentret.
Om du vill skydda anslutningen ytterligare mellan Microsoft Entra-etableringstjänsten och SuccessFactors lägger du till Microsoft Entra IP-intervallen i listan Över tillåtna SuccessFactors IP-adresser:
- Ladda ned de senaste IP-intervallen för det offentliga Azure-molnet.
- Öppna filen och sök efter taggen
AzureActiveDirectory
. - Kopiera alla IP-adressintervall som anges i elementadressenPrefixes och använd intervallet för att skapa listan över begränsningar för IP-adresser.
- Översätt CIDR-värdena till IP-intervall.
- Logga in på SuccessFactors-administratörsportalen för att lägga till IP-intervall i listan över tillåtna. Se SAP-supportanteckning 2253200. Du kan nu ange IP-intervall i det här verktyget.
Entiteter som stöds
För varje användare i SuccessFactors hämtar Microsoft Entra-etableringstjänsten följande entiteter. Varje entitet expanderas med hjälp av OData API $expand frågeparameter enligt beskrivningen i kolumnen Hämtningsregel . Vissa entiteter expanderas som standard, medan vissa entiteter endast expanderas om ett specifikt attribut finns i mappningen.
# | SuccessFactors-entitet | OData-nod | Hämtningsregel |
---|---|---|---|
1 | PerPerson |
*root node* |
Alltid |
2 | PerPersonal |
personalInfoNav |
Alltid |
3 | PerPhone |
phoneNav |
Alltid |
4 | PerEmail |
emailNav |
Alltid |
5 | EmpEmployment |
employmentNav |
Alltid |
6 | User |
employmentNav/userNav |
Alltid |
7 | EmpJob |
employmentNav/jobInfoNav |
Alltid |
8 | EmpEmploymentTermination |
activeEmploymentsCount |
Alltid |
9 | User's manager |
employmentNav/userNav/manager/empInfo |
Alltid |
10 | FOCompany |
employmentNav/jobInfoNav/companyNav |
Endast om company eller companyId attributet mappas |
11 | FODepartment |
employmentNav/jobInfoNav/departmentNav |
Endast om department eller departmentId attributet mappas |
12 | FOBusinessUnit |
employmentNav/jobInfoNav/businessUnitNav |
Endast om businessUnit eller businessUnitId attributet mappas |
13 | FOCostCenter |
employmentNav/jobInfoNav/costCenterNav |
Endast om costCenter eller costCenterId attributet mappas |
14 | FODivision |
employmentNav/jobInfoNav/divisionNav |
Endast om division eller divisionId attributet mappas |
15 | FOJobCode |
employmentNav/jobInfoNav/jobCodeNav |
Endast om jobCode eller jobCodeId attributet mappas |
16 | FOPayGrade |
employmentNav/jobInfoNav/payGradeNav |
Endast om payGrade attributet mappas |
17 | FOLocation |
employmentNav/jobInfoNav/locationNav |
Endast om location attributet mappas |
18 | FOCorporateAddressDEFLT |
employmentNav/jobInfoNav/addressNavDEFLT |
Om mappningen innehåller något av följande attribut: officeLocationAddress, officeLocationCity, officeLocationZipCode |
19 | FOEventReason |
employmentNav/jobInfoNav/eventReasonNav |
Endast om eventReason attributet mappas |
20 | EmpGlobalAssignment |
employmentNav/empGlobalAssignmentNav |
Endast om assignmentType mappas |
21 | EmploymentType Picklist |
employmentNav/jobInfoNav/employmentTypeNav |
Endast om employmentType mappas |
22 | EmployeeClass Picklist |
employmentNav/jobInfoNav/employeeClassNav |
Endast om employeeClass mappas |
23 | EmplStatus Picklist |
employmentNav/jobInfoNav/emplStatusNav |
Endast om emplStatus mappas |
24 | AssignmentType Picklist |
employmentNav/empGlobalAssignmentNav/assignmentTypeNav |
Endast om assignmentType mappas |
25 | Position |
employmentNav/jobInfoNav/positionNav |
Endast om positioNav mappas |
26 | Manager User |
employmentNav/jobInfoNav/managerUserNav |
Endast om managerUserNav mappas |
Så här fungerar fullständig synkronisering
Baserat på attributmappningen skickar Microsoft Entra-etableringstjänsten följande "GET" OData API-fråga för att hämta effektiva data för alla aktiva och avslutade arbetare.
Parameter | Description |
---|---|
OData API-värd | Lägger till https till klient-URL :en. Exempel: https://api4.successfactors.com |
OData API-slutpunkt | /odata/v2/PerPerson |
Frågeparametern OData $format | json |
Frågeparametern OData $filter | (personEmpTerminationInfoNav/activeEmploymentsCount ne null) and (lastModifiedDateTime le <CurrentExecutionTime>) |
Frågeparametern OData $expand | Det här parametervärdet beror på de attribut som mappas. Exempel: employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,phoneNav,emailNav,employmentNav/jobInfoNav/companyNav/countryOfRegistrationNav,employmentNav/jobInfoNav/divisionNav,employmentNav/jobInfoNav/departmentNav |
OData customPageSize-frågeparameter | 100 |
Kommentar
Under den fullständiga inledande synkroniseringen hämtas både aktiva och avslutade arbetare från SAP SuccessFactors.
För varje SuccessFactors-användare söker etableringstjänsten efter ett konto i målet (Microsoft Entra-ID/lokal Active Directory) med hjälp av det matchande attribut som definierats i mappningen. Exempel: om personIdExternal mappar till employeeId och anges som matchande attribut använder etableringstjänsten värdet personIdExternal för att söka efter användaren med employeeId-filtret . Om en användarmatchning hittas uppdateras målattributen. Om ingen matchning hittas skapar den en ny post i målet.
Om du vill verifiera data som returneras av OData API-slutpunkten för en specifik personIdExternal
uppdaterar SuccessFactorsAPIEndpoint
du i API-frågan med API-datacentrets server-URL och använder ett verktyg som cURL eller Graph Explorer för att anropa frågan. Om in-filtret inte fungerar kan du prova filtret "eq".
https://[SuccessFactorsAPIEndpoint]/odata/v2/PerPerson?$format=json&
$filter=(personIdExternal in '[personIdExternalValue]')&
$expand=employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,
phoneNav,phoneNav/phoneTypeNav,emailNav,employmentNav/jobInfoNav/businessUnitNav,employmentNav/jobInfoNav/companyNav,
employmentNav/jobInfoNav/companyNav/countryOfRegistrationNav,employmentNav/jobInfoNav/costCenterNav,
employmentNav/jobInfoNav/divisionNav,employmentNav/jobInfoNav/departmentNav,employmentNav/jobInfoNav/jobCodeNav,
employmentNav/jobInfoNav/locationNav,employmentNav/jobInfoNav/locationNav/addressNavDEFLT,employmentNav/jobInfoNav/payGradeNav,
employmentNav/empGlobalAssignmentNav,employmentNav/empGlobalAssignmentNav/assignmentTypeNav,employmentNav/jobInfoNav/emplStatusNav,
employmentNav/jobInfoNav/employmentTypeNav,employmentNav/jobInfoNav/employeeClassNav,employmentNav/jobInfoNav/eventReasonNav
Så här fungerar inkrementell synkronisering
Efter fullständig synkronisering underhåller och använder Microsoft Entra-etableringstjänsten LastExecutionTimestamp
den för att skapa deltafrågor för att hämta inkrementella ändringar. Tidsstämpelattributen som finns i varje SuccessFactors-entitet, till exempel , , och latestTerminationDate
, utvärderas för att se om ändringen faller mellan LastExecutionTimestamp
och CurrentExecutionTime
. endDate
startDate
lastModifiedDateTime
Om ja anses poständringen vara effektiv och bearbetad för synkronisering.
Här är mallen för OData API-begäran som Microsoft Entra-ID använder för att fråga SuccessFactors om inkrementella ändringar. Du kan uppdatera variablerna SuccessFactorsAPIEndpoint
och LastExecutionTimestamp
CurrentExecutionTime
i begärandemallen använder du ett verktyg som cURL eller Graph Explorer för att kontrollera vilka data som returneras. Du kan också hämta den faktiska nyttolasten för begäran från SuccessFactors genom att aktivera OData API-granskningsloggar.
https://[SuccessFactorsAPIEndpoint]/odata/v2/PerPerson/$count?$format=json&$filter=(personEmpTerminationInfoNav/activeEmploymentsCount ne null) and
((lastModifiedDateTime ge datetimeoffset'<LastExecutionTimestamp>' and lastModifiedDateTime le datetimeoffset'<CurrentExecutionTime>') or
(personalInfoNav/startDate ge datetimeoffset'<LastExecutionTimestamp>' and personalInfoNav/startDate le datetimeoffset'<CurrentExecutionTime>') or
((personalInfoNav/lastModifiedDateTime ge datetimeoffset'<LastExecutionTimestamp>' and personalInfoNav/lastModifiedDateTime le datetimeoffset'<CurrentExecutionTime>') and (personalInfoNav/startDate le datetimeoffset'<CurrentExecutionTime>' and (personalInfoNav/endDate ge datetimeoffset'<CurrentExecutionTime>' or personalInfoNav/endDate eq null))) or
(employmentNav/startDate ge datetimeoffset'<LastExecutionTimestamp>' and employmentNav/startDate le datetimeoffset'<CurrentExecutionTime>') or
((employmentNav/lastModifiedDateTime ge datetimeoffset'<LastExecutionTimestamp>' and employmentNav/lastModifiedDateTime le datetimeoffset'<CurrentExecutionTime>') and (employmentNav/startDate le datetimeoffset'<CurrentExecutionTime>' and (employmentNav/endDate ge datetimeoffset'<CurrentExecutionTime>' or employmentNav/endDate eq null)))
(employmentNav/jobInfoNav/startDate ge datetimeoffset'<LastExecutionTimestamp>' and employmentNav/jobInfoNav/startDate le datetimeoffset'<CurrentExecutionTime>') or
((employmentNav/jobInfoNav/lastModifiedDateTime ge datetimeoffset'<LastExecutionTimestamp>' and employmentNav/jobInfoNav/lastModifiedDateTime le datetimeoffset'<CurrentExecutionTime>') and (employmentNav/jobInfoNav/startDate le datetimeoffset'<CurrentExecutionTime>' and (employmentNav/jobInfoNav/endDate ge datetimeoffset'<CurrentExecutionTime>' or employmentNav/jobInfoNav/endDate eq null))) or
(phoneNav/lastModifiedDateTime ge datetimeoffset'<LastExecutionTimestamp>' and phoneNav/lastModifiedDateTime le datetimeoffset'<CurrentExecutionTime>') or
(emailNav/lastModifiedDateTime ge datetimeoffset'<LastExecutionTimestamp>' and emailNav/lastModifiedDateTime le datetimeoffset'<CurrentExecutionTime>') or
(personEmpTerminationInfoNav/latestTerminationDate ge datetimeoffset'<previousDayDateStartTime24hrs>' and personEmpTerminationInfoNav/latestTerminationDate le datetimeoffset'<previousDayDateTime24hrs>') or
(employmentNav/userNav/lastModifiedDateTime ge datetimeoffset'<LastExecutionTimestamp>' and employmentNav/userNav/lastModifiedDateTime le datetimeoffset'<CurrentExecutionTime>'))
&$expand=employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,phoneNav,emailNav,employmentNav/userNav/manager/empInfo,employmentNav/jobInfoNav/companyNav,employmentNav/jobInfoNav/departmentNav,employmentNav/jobInfoNav/locationNav,employmentNav/jobInfoNav/locationNav/addressNavDEFLT,employmentNav/jobInfoNav/locationNav/addressNavDEFLT/stateNav&customPageSize=100
Så här fungerar förinhyrningsbearbetning
I det här avsnittet beskrivs hur SAP SuccessFactors-anslutningsappen bearbetar poster för föruthyrning (arbetare med anställningsdatum/startdatum i framtiden).
Anta att det finns en föruthyrning med employeeId "1234" i SuccessFactors Employee Central med startdatum den 1 juni-2023. Vi antar vidare att den här förhyrningsposten först skapades antingen i Employee Central eller i onboarding-modulen den 15 maj-2023. När etableringstjänsten först observerar den här posten den 15 maj-2023 (antingen som en del av fullständig synkronisering eller inkrementell synkronisering) är den här posten fortfarande i förhandstillstånd. På grund av detta skickar SuccessFactors inte etableringstjänsten alla attribut (exempel: userNav/username) som är associerade med användaren. Endast minimala data om användaren, till exempel companyName
, personIdExternal
firstname
, lastname
och startDate
är tillgängliga. För att kunna bearbeta förhyrningar måste följande förutsättningar uppfyllas:
- Attributet
personIdExternal
måste anges som primär matchande identifierare (sammanfogningsegenskap). Om du konfigurerar ett annat attribut (exempel: userName) som anslutningsegenskap kommer etableringstjänsten inte att kunna hämta information om förhandsanställning. - Attributet
startDate
måste vara tillgängligt och dess JSONPath måste vara inställt på antingen$.employmentNav.results[0].startDate
eller$.employmentNav.results[-1:].startDate
. - Förhyrningsposten måste finnas i något av följande tillstånd i Employee Central: "active" (t), "inactive" (f) eller "active_external_suite" (e). Mer information om dessa tillstånd finns i SAP-supportanteckningen 2736579.
Kommentar
För en förinställd som inte har någon historik med organisationen fungerar både indexet [0] och [-1:] för startDate
. För en förhyrare som är en omanställning eller konvertering kan vi inte deterministiskt meddela ordern och detta kan leda till att vissa återanvända/konverterade arbetare bearbetas på deras faktiska startdatum. Detta är en känd begränsning i anslutningsappen.
Under fullständig synkronisering eller inkrementell synkronisering eller etablering på begäran skickar den följande OData-fråga till SuccessFactors med "asOfDate"-filtret inställt på startDate för användaren (till exempel asOfDate=2023-06-01).
https://[SuccessFactorsAPIEndpoint]/odata/v2/PerPerson?$format=json&$
filter=(personIdExternal in '1234' and employmentNav/userNav/status in 't','f','e')&asOfDate=2023-06-01&$
expand=employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,phoneNav,emailNav,employmentNav/userNav/manager/empInfo,employmentNav/jobInfoNav/companyNav,employmentNav/jobInfoNav/costCenterNav,employmentNav/jobInfoNav/divisionNav,employmentNav/jobInfoNav/departmentNav,employmentNav/
Om du ser problem med bearbetning före anställning kan du använda ovanstående OData-begärandeformat för att fråga din SuccessFactors-instans som ersätter API-slutpunkten personIdExternal
och asOfDate
filtrera med värden som motsvarar ditt testscenario.
Läsa attributdata
När Microsoft Entra-etableringstjänsten frågar SuccessFactors hämtar den en JSON-resultatuppsättning. JSON-resultatuppsättningen innehåller många attribut som lagras i Employee Central. Som standard är etableringsschemat konfigurerat för att endast hämta en delmängd av dessa attribut.
Om du vill hämta fler attribut följer du stegen i listan:
Bläddra till sidan Enterprise Applications ->SuccessFactors App ->Provisioning ->Edit Provisioning ->attribute-mapping.
Rulla nedåt och klicka på Visa avancerade alternativ.
Klicka på Redigera attributlista för SuccessFactors.
Kommentar
Om alternativet Redigera attributlista för SuccessFactors inte visas i administrationscentret för Microsoft Entra använder du URL:en https://portal.azure.com/?Microsoft_AAD_IAM_forceSchemaEditorEnabled=true för att komma åt sidan.
Kolumnen API-uttryck i den här vyn visar JSONPath-uttryck som används av anslutningsappen.
Du kan antingen redigera ett befintligt JSONPath-värde eller lägga till ett nytt attribut med ett giltigt JSONPath-uttryck i schemat.
Nästa avsnitt innehåller en lista över vanliga scenarier för att redigera JSONPath-värdena.
Hantera olika HR-scenarier
JSONPath är ett frågespråk för JSON som liknar XPath för XML. Precis som med XPath möjliggör JSONPath extrahering och filtrering av data från en JSON-nyttolast.
Genom att använda JSONPath-transformering kan du anpassa beteendet för Microsoft Entra-etableringsappen för att hämta anpassade attribut och hantera scenarier som återanställning, arbetskonvertering och global tilldelning.
Det här avsnittet beskriver hur du kan anpassa etableringsappen för följande HR-scenarier:
- Hämta fler attribut
- Hämtar anpassade attribut
- Mappa anställningsstatus till kontostatus
- Hantera scenarier för konvertering och återanställning av arbetare
- Hämtar aktuell aktiv anställningspost
- Hantera scenario för global tilldelning
- Hantera scenario för samtidiga jobb
- Hämtar positionsinformation
- Etablera användare i onboarding-modulen
- Aktivera OData API-granskningsloggar i SuccessFactors
Hämta fler attribut
Standardschemat för Microsoft Entra SuccessFactors-etableringsappen levereras med över 90 fördefinierade attribut. Om du vill lägga till fler SuccessFactors-attribut i etableringsschemat använder du stegen i listan:
Använd OData-frågan för att hämta data för en giltig testanvändare från Employee Central.
https://[SuccessFactorsAPIEndpoint]/odata/v2/PerPerson?$format=json& $filter=(personIdExternal in '[personIdExternalValue]')& $expand=employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav, phoneNav,phoneNav/phoneTypeNav,emailNav,employmentNav/jobInfoNav/businessUnitNav,employmentNav/jobInfoNav/companyNav, employmentNav/jobInfoNav/companyNav/countryOfRegistrationNav,employmentNav/jobInfoNav/costCenterNav, employmentNav/jobInfoNav/divisionNav,employmentNav/jobInfoNav/departmentNav,employmentNav/jobInfoNav/jobCodeNav, employmentNav/jobInfoNav/locationNav,employmentNav/jobInfoNav/locationNav/addressNavDEFLT,employmentNav/jobInfoNav/payGradeNav, employmentNav/empGlobalAssignmentNav,employmentNav/empGlobalAssignmentNav/assignmentTypeNav,employmentNav/jobInfoNav/emplStatusNav, employmentNav/jobInfoNav/employmentTypeNav,employmentNav/jobInfoNav/employeeClassNav,employmentNav/jobInfoNav/eventReasonNav
Fastställa entiteten Employee Central som är associerad med attributet
- Om attributet är en del av Entiteten EmpEmployment letar du efter attributet under employmentNav-noden .
- Om attributet är en del av entiteten Användare letar du efter attributet under employmentNav/userNav-noden .
- Om attributet är en del av Entiteten EmpJob letar du efter attributet under noden employmentNav/jobInfoNav .
Skapa JSON-sökvägen som är associerad med attributet och lägg till det nya attributet i listan över SuccessFactors-attribut.
- Exempel 1: Anta att du vill lägga till attributet
okToRehire
, som är en del avemploymentNav
entiteten och sedan använda JSONPath$.employmentNav.results[0].okToRehire
- Exempel 2: Anta att du vill lägga till attributet timeZone, som är en del av userNav-entiteten , och sedan använda JSONPath
$.employmentNav.results[0].userNav.timeZone
- Exempel 3: Anta att du vill lägga till attributet flsaStatus, som är en del av entiteten jobInfoNav , och sedan använda JSONPath
$.employmentNav.results[0].jobInfoNav.results[0].flsaStatus
- Exempel 1: Anta att du vill lägga till attributet
Spara schemat.
Starta om etablering.
Hämtar anpassade attribut
Som standard är följande anpassade attribut fördefinierade i microsoft Entra SuccessFactors-etableringsappen:
- custom01-custom15 från entiteten User (userNav)
- customString1-customString15 från entiteten EmpEmployment (employmentNav) med namnet empNavCustomString1-empNavCustomString15
- customString1-customString15 från entiteten EmpJobInfo (jobInfoNav) med namnet empJobNavCustomString1-empNavJobCustomString15
Anta att customString35-attributet i EmpJobInfo lagrar platsbeskrivningen i din Employee Central-instans. Du vill flöda det här värdet till attributet Active Directory physicalDeliveryOfficeName . Använd stegen för att konfigurera attributmappning för det här scenariot:
- Redigera attributlistan SuccessFactors för att lägga till ett nytt attribut med namnet empJobNavCustomString35.
- Ange JSONPath API-uttrycket för det här attributet som:
$.employmentNav.results[0].jobInfoNav.results[0].customString35
- Spara och ladda om mappningsändringen i administrationscentret för Microsoft Entra.
- På bladet attributmappning mappar du empJobNavCustomString35 till physicalDeliveryOfficeName.
- Spara mappning.
Utökar det här scenariot:
- Om du vill mappa custom35-attribut från entiteten Användare använder du JSONPath
$.employmentNav.results[0].userNav.custom35
- Om du vill mappa attributet customString35 från entiteten EmpEmployment använder du JSONPath
$.employmentNav.results[0].customString35
Mappa anställningsstatus till kontostatus
Som standard använder Microsoft Entra SuccessFactors-anslutningsappen activeEmploymentsCount
objektets PersonEmpTerminationInfo
fält för att ange kontostatus. Du kan stöta på något av följande problem med det här attributet.
- Det finns ett känt problem där anslutningsappen kan inaktivera kontot för en avslutad arbetare en dag före uppsägningen den sista arbetsdagen.
PersonEmpTerminationInfo
Om objektet anges till null fungerar inte AD-kontots inaktivering under avslutningen eftersom etableringsmotorn filtrerar bort poster därpersonEmpTerminationInfoNav
objektet är inställt på null.
Om du stöter på något av dessa problem eller föredrar att mappa anställningsstatus till kontostatus kan du uppdatera mappningen för att expandera emplStatus
fältet och använda den anställningsstatuskod som finns i fältet emplStatus.externalCode
. Här är en lista över anställningsstatuskoder som du kan hämta i etableringsappen baserat på SAP-supportanteckningen 2505526.
- A = Aktiv
- D = Vilande
- U = Obetald ledighet
- P = Betald ledighet
- S = pausad
- F = Furlough
- O = Ignorerad
- R = Pensionerad
- T = Avslutad
Använd stegen för att uppdatera mappningen för att hämta dessa koder.
Öppna bladet för attributmappning i din SuccessFactors-etableringsapp.
Under Visa avancerade alternativ klickar du på Redigera successfactors-attributlista.
Leta upp attributet
emplStatus
och uppdatera JSONPath till$.employmentNav.results[0].jobInfoNav.results[0].emplStatusNav.externalCode
. Uppdateringen gör att anslutningsappen hämtar anställningsstatuskoderna i tabellen.Spara ändringarna.
Uppdatera uttrycksmappningen för kontostatusflaggan på bladet attributmappning.
Etableringsjobb Kontostatusattribut Mappningsuttryck SuccessFactors till Active Directory User Provisioning accountDisabled
Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")
SuccessFactors till Microsoft Entra-användaretablering accountEnabled
Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")
Spara ändringarna.
Testa konfigurationen med hjälp av etablering på begäran.
När du har bekräftat att synkroniseringen fungerar som förväntat startar du om etableringsjobbet.
Hantera scenarier för konvertering och återanställning av arbetare
Om scenario för arbetskonvertering: Arbetskonvertering är processen att konvertera en befintlig heltidsanställd till en entreprenör eller en entreprenör till en heltidsanställd. I det här scenariot lägger Employee Central till en ny EmpEmployment-entitet tillsammans med en ny användarentitet för samma personentitet . Entiteten Användare kapslad under den tidigare EmpEmployment-entiteten är inställd på null.
Om återanställningsscenarier: I SuccessFactors finns det två alternativ för att bearbeta återanställning av anställda:
- Alternativ 1: Skapa en ny personprofil i Employee Central
- Alternativ 2: Återanvänd befintlig personprofil i Employee Central
Om hr-processen använder alternativ 1 krävs inga ändringar i etableringsschemat. Om hr-processen använder alternativ 2 lägger Employee Central till en ny EmpEmployment-entitet tillsammans med en ny användarentitet för samma personentitet .
Du kan hantera båda scenarierna så att nya anställningsdata visas när en konvertering eller återanställning sker. Massuppdatering av schemat för etableringsappen med hjälp av stegen i listan:
Öppna bladet för attributmappning i din SuccessFactors-etableringsapp.
Rulla nedåt och klicka på Visa avancerade alternativ.
Klicka på länken Granska schemat här för att öppna schemaredigeraren.
Klicka på länken Ladda ned för att spara en kopia av schemat innan du redigerar.
Öppna kontrollen find-replace genom att trycka på Ctrl-H i schemaredigeraren.
I söktextrutan kopierar du och klistrar in värdet
$.employmentNav.results[0]
I textrutan ersätt kopierar du och klistrar in värdet
$.employmentNav.results[-1:]
. Det här JSONPath-uttrycket returnerar den senaste EmpEmployment-posten .Klicka på alternativet "ersätt alla" för att uppdatera schemat.
Spara schemat.
Ovanstående process uppdaterar alla JSONPath-uttryck på följande sätt:
- Gammal JSONPath:
$.employmentNav.results[0].jobInfoNav.results[0].departmentNav.name_localized
- Ny JSONPath:
$.employmentNav.results[-1:].jobInfoNav.results[0].departmentNav.name_localized
- Gammal JSONPath:
Testa konfigurationen med hjälp av etablering på begäran.
När du har bekräftat att synkroniseringen fungerar som förväntat startar du om etableringsjobbet.
Kommentar
Metoden som beskrivs ovan fungerar bara om SAP SuccessFactors returnerar anställningsobjekten i stigande ordning, där den senaste anställningsposten alltid är den sista posten i employmentNav-resultatmatrisen. Ordningen i vilken flera anställningsposter returneras garanteras inte av SuccessFactors. Om din SuccessFactors-instans har flera anställningsposter som motsvarar en arbetare och du alltid vill hämta attribut som är associerade med den aktiva anställningsposten använder du stegen som beskrivs i nästa avsnitt.
Hämtar aktuell aktiv anställningspost
Att använda JSONPath-roten för $.employmentNav.results[0]
eller $.employmentNav.results[-1:]
för att hämta anställningsposter fungerar i de flesta scenarier och håller konfigurationen enkel. Beroende på hur din SuccessFactors-instans har konfigurerats kan det dock finnas ett behov av att uppdatera den här konfigurationen för att säkerställa att anslutningsappen alltid hämtar den senaste aktiva anställningsposten.
I det här avsnittet beskrivs hur du kan uppdatera JSONPath-inställningarna för att definitivt hämta användarens aktuella aktiva anställningspost. Den hanterar även scenarier för arbetskonvertering och återanställning.
Öppna bladet för attributmappning i din SuccessFactors-etableringsapp.
Rulla nedåt och klicka på Visa avancerade alternativ.
Klicka på länken Granska schemat här för att öppna schemaredigeraren.
Klicka på länken Ladda ned för att spara en kopia av schemat innan du redigerar.
Öppna kontrollen find-replace genom att trycka på Ctrl-H i schemaredigeraren.
Utför följande sökåtgärder för att ersätta. Se till att det inte finns något inledande eller avslutande utrymme när du utför åtgärderna find-replace. Om du använder
[-1:]
index i stället för[0]
uppdaterar du fältet string-to-find i enlighet med detta.Sträng att hitta Sträng som ska användas som ersättning Syfte $.employmentNav.results[0].jobInfoNav.results[0].emplStatus
$.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P' )].emplStatusNav.externalCode
Med den här find-replace lägger vi till möjligheten att expandera emplStatusNav OData-objektet. $.employmentNav.results[0].jobInfoNav.results[0]
$.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')]
Med den här find-replace instruerar vi anslutningsappen att alltid hämta attribut som är associerade med den aktiva SuccessFactors EmpJobInfo-posten. Attribut som är associerade med avslutade/inaktiva poster i SuccessFactors ignoreras. $.employmentNav.results[0]
$.employmentNav..results[?(@.jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')])]
Med den här find-replace instruerar vi anslutningsappen att alltid hämta attribut som är associerade med den aktiva SuccessFactors Employment-posten. Attribut som är associerade med avslutade/inaktiva poster i SuccessFactors ignoreras. Spara schemat.
Ovanstående process uppdaterar alla JSONPath-uttryck.
För att förbearbetning ska fungera måste JSONPath som är associerad med
startDate
attributet använda antingen[0]
eller[-1:]
index. Under Visa avancerade alternativ klickar du på Redigera successfactors-attributlista. Leta upp attributetstartDate
och ange det till värdet$.employmentNav.results[-1:].startDate
Spara schemat.
För att säkerställa att avslutningar bearbetas som förväntat kan du använda någon av följande inställningar i avsnittet för attributmappning.
Etableringsjobb Kontostatusattribut Uttryck som ska användas om kontostatus baseras på "activeEmploymentsCount" Uttryck som ska användas om kontostatus baseras på värdet "emplStatus" SuccessFactors till Active Directory User Provisioning accountDisabled
Switch([activeEmploymentsCount], "False", "0", "True")
Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")
SuccessFactors till Microsoft Entra-användaretablering accountEnabled
Switch([activeEmploymentsCount], "True", "0", "False")
Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")
Spara dina ändringar. 1.
Testa konfigurationen med hjälp av etablering på begäran.
När du har bekräftat att synkroniseringen fungerar som förväntat startar du om etableringsjobbet.
Hantera scenario för global tilldelning
När en användare i Employee Central bearbetas för global tilldelning lägger SuccessFactors till en ny EmpEmployment-entitet och anger tilldelningsklassen till "GA". Den skapar också en ny användarentitet . Användaren har nu följande:
- En EmpEmployment-användarentitet + som motsvarar hemtilldelning med assignmentClass inställd på "ST" och
- En annan EmpEmployment-användarentitet + som motsvarar den globala tilldelningen med assignmentClass inställd på "GA"
Om du vill hämta attribut som tillhör standardtilldelningen och användarprofilen för global tilldelning använder du stegen i listan:
Öppna bladet för attributmappning i din SuccessFactors-etableringsapp.
Rulla nedåt och klicka på Visa avancerade alternativ.
Klicka på länken Granska schemat här för att öppna schemaredigeraren.
Klicka på länken Ladda ned för att spara en kopia av schemat innan du redigerar.
Öppna kontrollen find-replace genom att trycka på Ctrl-H i schemaredigeraren.
I söktextrutan kopierar du och klistrar in värdet
$.employmentNav.results[0]
I textrutan ersätt kopierar du och klistrar in värdet
$.employmentNav.results[?(@.assignmentClass == 'ST')]
. Observera blanksteget som omger operatorn ==, vilket är viktigt för att JSONPath-uttrycket ska kunna bearbetas.Klicka på alternativet "ersätt alla" för att uppdatera schemat.
Spara schemat.
Ovanstående process uppdaterar alla JSONPath-uttryck på följande sätt:
- Gammal JSONPath:
$.employmentNav.results[0].jobInfoNav.results[0].departmentNav.name_localized
- Ny JSONPath:
$.employmentNav.results[?(@.assignmentClass == 'ST')].jobInfoNav.results[0].departmentNav.name_localized
- Gammal JSONPath:
Ladda in bladet för attributmappning igen för appen.
Rulla nedåt och klicka på Visa avancerade alternativ.
Klicka på Redigera attributlista för SuccessFactors.
Lägg till nya attribut för att hämta globala tilldelningsdata. Om du till exempel vill hämta avdelningsnamnet som är associerat med en global tilldelningsprofil kan du lägga till attributet globalAssignmentDepartment med JSONPath-uttrycket inställt på
$.employmentNav.results[?(@.assignmentClass == 'GA')].jobInfoNav.results[0].departmentNav.name_localized
.Nu kan du antingen flöda båda avdelningsvärdena till Active Directory-attribut eller selektivt flöda ett värde med hjälp av uttrycksmappning. Exempel: uttrycket anger värdet för AD-avdelningsattributet till globalAssignmentDepartment om det finns, annars anges värdet till avdelning som är associerad med standardtilldelning.
IIF(IsPresent([globalAssignmentDepartment]),[globalAssignmentDepartment],[department])
Spara mappning.
Testa konfigurationen med hjälp av etablering på begäran.
När du har bekräftat att synkroniseringen fungerar som förväntat startar du om etableringsjobbet.
Hantera scenario för samtidiga jobb
När en användare i Employee Central har samtidiga/flera jobb finns det två EmpEmployment - och Användarentiteter med assignmentClass inställt på "ST". Om du vill hämta attribut som hör till båda jobben använder du stegen i listan:
- Öppna bladet för attributmappning i din SuccessFactors-etableringsapp.
- Rulla nedåt och klicka på Visa avancerade alternativ.
- Klicka på Redigera attributlista för SuccessFactors.
- Anta att du vill hämta den avdelning som är associerad med jobb 1 och jobb 2. Den fördefinierade attributavdelningen hämtar redan värdet för avdelning för det första jobbet. Du kan definiera ett nytt attribut med namnet secondJobDepartment och ange JSONPath-uttrycket till
$.employmentNav.results[1].jobInfoNav.results[0].departmentNav.name_localized
- Nu kan du antingen flöda båda avdelningsvärdena till Active Directory-attribut eller selektivt flöda ett värde med hjälp av uttrycksmappning.
- Spara mappning.
- Testa konfigurationen med hjälp av etablering på begäran.
- När du har bekräftat att synkroniseringen fungerar som förväntat startar du om etableringsjobbet.
Hämtar positionsinformation
SuccessFactors-anslutningsappen stöder expansion av positionsobjektet. Om du vill expandera och hämta objektattribut för position, till exempel jobbnivå eller befattningsnamn på ett visst språk, kan du använda JSONPath-uttryck som du ser.
Attributnamn | JSONPath-uttryck |
---|---|
positionJobLevel | $.employmentNav.results[0].jobInfoNav.results[0].positionNav.jobLevel |
positionNameFR | $.employmentNav.results[0].jobInfoNav.results[0].positionNav.externalName_fr_FR |
positionNameDE | $.employmentNav.results[0].jobInfoNav.results[0].positionNav.externalName_de_DE |
Etablera användare i onboarding-modulen
Inkommande användaretablering från SAP SuccessFactors till lokal Active Directory och Microsoft Entra-ID stöder nu förhandsetablering av förhandsanvändarna som finns i MODULen SAP SuccessFactors Onboarding 2.0. När Microsoft Entra-etableringstjänsten stöter på en ny anställningsprofil med ett framtida startdatum, frågar den SAP SuccessFactors om att få nya anställningar med någon av följande statuskoder: active
, inactive
, active_external_suite
. Statuskoden active_external_suite
motsvarar prehires som finns i MODULen SAP SuccessFactors Onboarding 2.0. En beskrivning av dessa statuskoder finns i SAP-supportanteckningen 2736579.
Standardbeteendet för etableringstjänsten är att bearbeta förbeställda enheter i onboarding-modulen.
Om du vill exkludera bearbetning av prehires i onboarding-modulen uppdaterar du konfigurationen av etableringsjobbet på följande sätt:
- Öppna bladet för attributmappning i din SuccessFactors-etableringsapp.
- Under Visa avancerade alternativ redigerar du attributlistan SuccessFactors för att lägga till ett nytt attribut med namnet
userStatus
. - Ange JSONPath API-uttrycket för det här attributet som:
$.employmentNav.results[0].userNav.status
- Spara schemat för att återgå till bladet för attributmappning.
- Redigera källobjektomfånget för att tillämpa ett omfångsfilter
userStatus NOT EQUALS
- Spara mappningen och kontrollera att omfångsfiltret fungerar med etablering på begäran.
Aktivera OData API-granskningsloggar i SuccessFactors
Microsoft Entra SuccessFactors-anslutningsappen använder SuccessFactors OData API för att hämta ändringar och etablera användare. Om du ser problem med etableringstjänsten och vill bekräfta vilka data som hämtades från SuccessFactors kan du aktivera OData API-granskningsloggar i SuccessFactors. Hämta nyttolasten för begäran som skickas av Microsoft Entra-ID från granskningsloggarna. För att felsöka kan du kopiera den här nyttolasten för begäran i ett verktyg som cURL eller Graph Explorer, konfigurera den så att den använder samma API-användare som används av anslutningsappen och se om den returnerar önskade ändringar från SuccessFactors.
Tillbakaskrivningsscenarier
Det här avsnittet beskriver olika tillbakaskrivningsscenarier. Den rekommenderar konfigurationsmetoder baserat på hur e-post och telefonnummer konfigureras i SuccessFactors.
Scenarier som stöds för tillbakaskrivning av telefon och e-post
# | Scenariokrav | Primär e-post flaggvärde |
Företagstelefon primärt flaggvärde |
Mobiltelefon primärt flaggvärde |
Företagstelefon mapping |
Mobiltelefon mapping |
---|---|---|---|---|---|---|
1 | * Ange endast e-post för företag som primär. * Ange inte telefonnummer. |
true | true | falskt | [Inte inställt] | [Inte inställt] |
2 | * I SuccessFactors är företagets e-post och företagstelefon primär * Flöda alltid Microsoft Entra telefonnummer till företagstelefon och mobil till mobiltelefon. |
true | true | falskt | telephoneNumber | mobil |
3 | * I SuccessFactors är företagets e-post och mobiltelefon primär * Skicka alltid Microsoft Entra-telefonnummer till företagstelefon och mobil till mobiltelefon |
true | falskt | true | telephoneNumber | mobil |
4 | * I SuccessFactors affärs-e-post är primär. * I Microsoft Entra-ID kontrollerar du om arbetstelefonnumret finns, om det finns, och kontrollera sedan om mobilnumret också finns. Markera endast telefonnummer för arbete som primärt om mobilnumret inte finns. |
true | Använd uttrycksmappning: IIF(IsPresent([telephoneNumber]), IIF(IsPresent([mobile]),"false", "true"), "false") |
Använd uttrycksmappning: IIF(IsPresent([mobile]),"false", "true") |
telephoneNumber | mobil |
5 | * I SuccessFactors är e-post och företagstelefon primär. * Om mobilen är tillgänglig i Microsoft Entra-ID anger du den som företagstelefon, annars använder du phoneNumber. |
true | true | falskt | IIF(IsPresent([mobile]), [mobile], [telephoneNumber]) |
[Inte inställt] |
- Om det inte finns någon mappning för telefonnummer i attributmappningen för tillbakaskrivning ingår endast e-post i tillbakaskrivningen.
- Under registrering av nyanställda i Employee Central kanske företagets e-post och telefonnummer inte är tillgängliga. Om det är obligatoriskt att ange företags-e-post och företagstelefon som primär under registrering kan du ange ett dummyvärde för företagstelefon och e-post när nyanställda skapas. Efter en tid uppdaterar tillbakaskrivningsappen värdet.
Aktivera tillbakaskrivning med UserID
Tillbakaskrivningsappen SuccessFactors använder följande logik för att uppdatera attributen för användarobjekt:
- Som ett första steg letar det efter userId-attribut i ändringsuppsättningen. Om den finns använder den "UserId" för att göra SuccessFactors API-anropet.
- Om userId inte hittas används standardvärdet för attributet personIdExternal .
Vanligtvis matchar attributet personIdExternal i SuccessFactors attributet userId. Men i scenarier som återanställning och arbetskonvertering kan en anställd i SuccessFactors ha två anställningsposter, en aktiv och en inaktiv. I sådana scenarier uppdaterar du konfigurationen av SuccessFactors-etableringsapparna enligt beskrivningen för att säkerställa att tillbakaskrivningen uppdaterar den aktiva användarprofilen. Den här konfigurationen säkerställer att userId alltid finns i ändringsuppsättningen som är synlig för anslutningsappen och används i Api-anropet SuccessFactors.
- Öppna SuccessFactors till Microsoft Entra-användaretableringsappen eller SuccessFactors till den lokala AD-användaretableringsappen.
- Se till att
extensionAttribute[1-15]
i Microsoft Entra-ID:t lagrasuserId
alltid alla arbetares aktiva anställningsposter. Posten mappar SuccessFactors-attributuserId
tillextensionAttribute[1-15]
i Microsoft Entra-ID. - Vägledning om JSONPath-inställningar finns i avsnittet Hantera arbetskonverterings- och återanställningsscenarier för att säkerställa userId-värdet för de aktiva jobbpostflödena till Microsoft Entra-ID.
- Spara mappning.
- Kör etableringsjobbet för att säkerställa att userId-värdena flödar till Microsoft Entra-ID.
Kommentar
Om du använder SuccessFactors för att lokal Active Directory användaretablering konfigurerar du Microsoft Entra Connect för att synkronisera attributet userId från lokal Active Directory till Microsoft Entra ID.
- Öppna appen SuccessFactors Writeback i Azure Portal.
- Mappa det önskade tilläggetAttribute som innehåller userId-värdet till attributet SuccessFactors userId .
- Spara mappning.
- Gå till Attributmappning –> Avancerat –> Granska schema för att öppna JSON-schemaredigeraren.
- Ladda ned en kopia av schemat som säkerhetskopia.
- I schemaredigeraren trycker du på Ctrl-F och söker efter JSON-noden som innehåller userId-mappningen, där den mappas till ett Microsoft Entra-källattribut.
- Uppdatera attributet flowBehavior från "FlowWhenChanged" till "FlowAlways" enligt bilden.
- Spara mappningen och testa tillbakaskrivningsscenariot med provisioning-on-demand.
Scenarier som inte stöds för tillbakaskrivning av telefon och e-post
- I Employee Central anges personlig e-post och personlig telefon som primär under registreringen. Tillbakaskrivningsappen kan inte växla den här inställningen och ange företagets e-post och företagstelefon som primär.
- I Employee Central anges företagstelefonen som primär. Tillbakaskrivningsappen kan inte ändra detta och ange mobiltelefonen som primär.
- Tillbakaskrivningsappen kan inte läsa de aktuella primära flagginställningarna och använda samma värden för skrivåtgärden. De flaggvärden som konfigurerats i attributmappningen används alltid.