Sdílet prostřednictvím


Jak se zřizování Microsoft Entra integruje se SAP SuccessFactors

Služba zřizování uživatelů Microsoft Entra se integruje se sap SuccessFactors Employee Central za účelem správy životního cyklu identit uživatelů. Microsoft Entra ID nabízí tři předem připravené integrace:

Tento článek vysvětluje, jak integrace funguje a jak můžete přizpůsobit chování zřizování pro různé scénáře personálního oddělení.

Microsoft Entra také podporuje jednotné přihlašování k SuccessFactors. Další informace najdete v tématu Integrace jednotného přihlašování (SSO) Microsoft Entra s SuccessFactors.

Navazování připojení

Služba zřizování Microsoft Entra používá základní ověřování pro připojení ke koncovým bodům rozhraní EMPLOYEE Central OData API. Při nastavování aplikace pro zřizování SuccessFactors pomocí parametru ADRESA URL tenanta v části Správa Přihlašovací údaje nakonfigurujte adresu URL datového centra rozhraní API.

Pokud chcete dále zabezpečit připojení mezi službou zřizování Microsoft Entra a SuccessFactors, přidejte rozsahy IP adres Microsoft Entra do seznamu povolených IP adres SuccessFactors:

  1. Stažení nejnovějších rozsahů IP adres pro veřejný cloud Azure
  2. Otevřete soubor a vyhledejte značku Microsoft Entra ID.
  3. Zkopírujte všechny rozsahy IP adres uvedené v rámci adresy prvkuPreopravy a použijte rozsah k vytvoření seznamu omezení IP adres.
  4. Přeložte hodnoty CIDR na rozsahy IP adres.
  5. Přihlaste se k portálu pro správu SuccessFactors a přidejte rozsahy IP adres do seznamu povolených adres. Přečtěte si poznámku k podpoře SAP 2253200. V tomto nástroji teď můžete zadat rozsahy IP adres .

Podporované entity

Pro každého uživatele v SuccessFactors načte služba Zřizování Microsoft Entra následující entity. Každá entita se rozbalí pomocí parametru dotazu rozhraní API OData $expand , jak je uvedeno ve sloupci Pravidla načítání. Některé entity se ve výchozím nastavení rozbalí, zatímco některé entity se rozbalí jenom v případě, že se v mapování nachází určitý atribut.

# Entita SuccessFactors Uzel OData Pravidlo načítání
0 PerPerson *root node* Always
2 PerPersonal personalInfoNav Always
3 PerPhone phoneNav Always
4 PerEmail emailNav Always
5 EmpEmployment employmentNav Always
6 User employmentNav/userNav Always
7 EmpJob employmentNav/jobInfoNav Always
8 EmpEmploymentTermination activeEmploymentsCount Always
9 User's manager employmentNav/userNav/manager/empInfo Always
10 FOCompany employmentNav/jobInfoNav/companyNav Pouze v případě, že company je mapován atribut nebo companyId atribut
11 FODepartment employmentNav/jobInfoNav/departmentNav Pouze v případě, že department je mapován atribut nebo departmentId atribut
12 FOBusinessUnit employmentNav/jobInfoNav/businessUnitNav Pouze v případě, že businessUnit je mapován atribut nebo businessUnitId atribut
13 FOCostCenter employmentNav/jobInfoNav/costCenterNav Pouze v případě, že costCenter je mapován atribut nebo costCenterId atribut
14 FODivision employmentNav/jobInfoNav/divisionNav Pouze v případě, že division je mapován atribut nebo divisionId atribut
15 FOJobCode employmentNav/jobInfoNav/jobCodeNav Pouze v případě, že jobCode je mapován atribut nebo jobCodeId atribut
16 FOPayGrade employmentNav/jobInfoNav/payGradeNav Pouze pokud payGrade je namapován atribut
17 FOLocation employmentNav/jobInfoNav/locationNav Pouze pokud location je namapován atribut
18 FOCorporateAddressDEFLT employmentNav/jobInfoNav/addressNavDEFLT Pokud mapování obsahuje jeden z následujících atributů: officeLocationAddress, officeLocationCity, officeLocationZipCode
19 FOEventReason employmentNav/jobInfoNav/eventReasonNav Pouze pokud eventReason je namapován atribut
20 EmpGlobalAssignment employmentNav/empGlobalAssignmentNav Pouze pokud assignmentType je namapován
21 EmploymentType Picklist employmentNav/jobInfoNav/employmentTypeNav Pouze pokud employmentType je namapován
22 EmployeeClass Picklist employmentNav/jobInfoNav/employeeClassNav Pouze pokud employeeClass je namapován
23 EmplStatus Picklist employmentNav/jobInfoNav/emplStatusNav Pouze pokud emplStatus je namapován
24 AssignmentType Picklist employmentNav/empGlobalAssignmentNav/assignmentTypeNav Pouze pokud assignmentType je namapován
25 Position employmentNav/jobInfoNav/positionNav Pouze pokud positioNav je namapován
26 Manager User employmentNav/jobInfoNav/managerUserNav Pouze pokud managerUserNav je namapován

Jak funguje úplná synchronizace

Na základě mapování atributů odešle během úplné synchronizace zřizovací služba Microsoft Entra následující dotaz rozhraní OData API GET, který načte efektivní data všech aktivních a ukončených pracovních procesů.

Parametr Popis
Hostitel rozhraní API OData Připojí https k adrese URL tenanta. Příklad: https://api4.successfactors.com
Koncový bod rozhraní API OData /odata/v2/PerPerson
Parametr dotazu $format OData json
Parametr dotazu $filter OData (personEmpTerminationInfoNav/activeEmploymentsCount ne null) and (lastModifiedDateTime le <CurrentExecutionTime>)
Parametr dotazu $expand OData Tato hodnota parametru závisí na namapovaných atributech. Příklad: employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,phoneNav,emailNav,employmentNav/jobInfoNav/companyNav/countryOfRegistrationNav,employmentNav/jobInfoNav/divisionNav,employmentNav/jobInfoNav/departmentNav
Parametr dotazu OData customPageSize 100

Poznámka:

Během úplné počáteční synchronizace se načítají aktivní i ukončené pracovní procesy ze SAP SuccessFactors.

Pro každého uživatele SuccessFactors hledá služba zřizování účet v cíli (Microsoft Entra ID / místní Active Directory) pomocí odpovídajícího atributu definovaného v mapování. Příklad: Pokud personIdExternal mapuje na employeeId a je nastaven jako odpovídající atribut, služba zřizování používá hodnotu personIdExternal k vyhledání uživatele s filtrem employeeId . Pokud se najde shoda uživatele, aktualizuje cílové atributy. Pokud se nenajde žádná shoda, vytvoří v cíli novou položku.

Pokud chcete ověřit data vrácená koncovým bodem rozhraní API OData pro konkrétní personIdExternalpoložku, aktualizujte SuccessFactorsAPIEndpoint v dotazu rozhraní API adresu URL serveru datového centra rozhraní API a pomocí nástroje, jako je Postman , dotaz vyvoláte. Pokud filtr "in" nefunguje, můžete zkusit filtr "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

Jak funguje přírůstková synchronizace

Po úplné synchronizaci služba Microsoft Entra provisioning udržuje LastExecutionTimestamp a používá ji k vytváření rozdílových dotazů pro načítání přírůstkových změn. Atributy časového razítka, které jsou přítomné v každé entitě SuccessFactors, například lastModifiedDateTime, endDatestartDate, a latestTerminationDate, se vyhodnocují, aby se zjistilo, jestli změna spadá mezi a LastExecutionTimestampCurrentExecutionTime. Pokud ano, je změna položky považována za efektivní a zpracována pro synchronizaci.

Tady je šablona požadavku rozhraní OData API, kterou ID Microsoft Entra používá k dotazování SuccessFactors na přírůstkové změny. Můžete aktualizovat proměnné SuccessFactorsAPIEndpointLastExecutionTimestamp a CurrentExecutionTime v šabloně požadavku použít nástroj, jako je Postman, ke kontrole vrácených dat. Případně můžete také načíst skutečnou datovou část požadavku z SuccessFactors povolením protokolů auditu rozhraní API OData.

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

Jak funguje zpracování přednajmutím

Tato část vysvětluje, jak konektor SAP SuccessFactors zpracovává záznamy o předběžném přijetí (pracovní procesy s datem přijetí a počátečním datem v budoucnu). Řekněme, že v Centru zaměstnanců SuccessFactors s počátečním datem dne 1.června 2023 existuje přednajmutí s id zaměstnance 1234. Dále předpokládejme, že tento záznam o předběžném přijetí byl nejprve vytvořen v Centru zaměstnanců nebo v modulu onboardingu 15. května 2023. Když služba zřizování poprvé zaznamená tento záznam 15. května 2023 (buď v rámci úplné synchronizace, nebo přírůstkové synchronizace), tento záznam je stále ve stavu předběžného přijetí. Z tohoto důvodu SuccessFactors neodesílá zřizovací službu všechny atributy (například userNav/uživatelské jméno) přidružené k uživateli. Pouze úplné minimum dat o uživateli, například companyName, lastnamepersonIdExternalfirstname, a startDate jsou k dispozici. Aby bylo možné úspěšně zpracovat předběžné přijetí, musí být splněny následující požadavky:

  1. Atribut personIdExternal musí být nastaven jako primární odpovídající identifikátor (vlastnost spojení). Pokud jako vlastnost připojení nakonfigurujete jiný atribut (například userName), nebude služba zřizování moct načíst informace o předběžném přijetí.
  2. Atribut startDate musí být dostupný a jeho cesta JSONPath musí být nastavena na buď $.employmentNav.results[0].startDate nebo $.employmentNav.results[-1:].startDate.
  3. Záznam o předběžném přijetí musí být v jednom z následujících stavů v Central zaměstnance: "aktivní" (t), "neaktivní" (f) nebo "active_external_suite" (e). Podrobnosti o těchto stavech najdete v poznámkovém 2736579 podpory SAP.

Poznámka:

Pro předběžného zaměstnance, který nemá žádnou historii s organizací, bude index [0] i [-1:] fungovat pro startDate. U přednajmutí, který je opětovným pronájmem nebo převodem, nemůžeme deterministicky sdělit objednávku a to může způsobit, že se někteří zaměstnanci přepracovali ke skutečnému datu zahájení. Toto je známé omezení v konektoru.

Během úplné synchronizace nebo přírůstkové synchronizace nebo zřizování na vyžádání, když služba zřizování narazí na záznam předběžného přijetí, odešle následující dotaz OData do SuccessFactors s filtrem asOfDate nastaveným na počáteční datum uživatele (napříkladOfDate=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/

Pokud dochází k problémům s přednajmutím zpracování, můžete použít výše uvedený formát požadavku OData k dotazování instance SuccessFactors na nahrazení koncového bodu personIdExternal rozhraní API a asOfDate filtrování hodnot odpovídajících vašemu testovacímu scénáři.

Čtení dat atributů

Když Microsoft Entra provisioning service dotazuje SuccessFactors, načte sadu výsledků JSON. Sada výsledků JSON obsahuje mnoho atributů uložených v Centru zaměstnanců. Ve výchozím nastavení je schéma zřizování nakonfigurováno tak, aby načítalo pouze podmnožinu těchto atributů.

Pokud chcete načíst další atributy, postupujte podle uvedených kroků:

  1. Přejděte na stránku Podnikové aplikace ->SuccessFactors App ->Provisioning ->Edit Provisioning ->attribute-mapping page.

  2. Posuňte se dolů a klikněte na Zobrazit upřesňující možnosti.

  3. Klikněte na Upravit seznam atributů pro SuccessFactors.

    Poznámka:

    Pokud se v Centru pro správu Microsoft Entra nezobrazuje seznam atributů Upravit pro SuccessFactors , použijte adresu URL https://portal.azure.com/?Microsoft_AAD_IAM_forceSchemaEditorEnabled=true pro přístup k stránce.

  4. Sloupec výrazu rozhraní API v tomto zobrazení zobrazuje výrazy JSONPath používané konektorem.

    Výraz rozhraní API

  5. Můžete buď upravit existující hodnotu JSONPath, nebo přidat nový atribut s platným výrazem JSONPath do schématu.

V další části najdete seznam běžných scénářů pro úpravy hodnot JSONPath.

Zpracování různých scénářů personálního oddělení

JSONPath je dotazovací jazyk pro JSON, který se podobá XPathu pro XML. Podobně jako XPath umožňuje JSONPath extrakci a filtraci dat z datové části JSON.

Pomocí transformace JSONPath můžete přizpůsobit chování zřizovací aplikace Microsoft Entra za účelem načtení vlastních atributů a zpracování scénářů, jako je například nábor, převod pracovních procesů a globální přiřazení.

V této části se dozvíte, jak přizpůsobit aplikaci zřizování pro následující scénáře personálního oddělení:

Načítání dalších atributů

Výchozí schéma aplikace Microsoft Entra SuccessFactors se dodává s předdefinovanými atributy 90 a více. Pokud chcete do schématu zřizování přidat další atributy SuccessFactors, použijte uvedený postup:

  1. Pomocí dotazu OData načtěte data pro platného testovacího uživatele z Centra zaměstnanců.

     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
    
  2. Určení entity Central zaměstnance přidružené k atributu

    • Pokud je atribut součástí entity EmpEmployment , vyhledejte atribut v části employmentNav node.
    • Pokud je atribut součástí entity User , vyhledejte atribut v uzlu employmentNav/userNav .
    • Pokud je atribut součástí entity EmpJob , vyhledejte atribut v uzlu employmentNav/jobInfoNav .
  3. Vytvořte cestu JSON přidruženou k atributu a přidejte tento nový atribut do seznamu atributů SuccessFactors.

    • Příklad 1: Řekněme, že chcete přidat atribut okToRehire, který je součástí employmentNav entity, a pak použít JSONPath $.employmentNav.results[0].okToRehire
    • Příklad 2: Řekněme, že chcete přidat atribut timeZone, který je součástí entity userNav , a pak použít JSONPath $.employmentNav.results[0].userNav.timeZone
    • Příklad 3: Řekněme, že chcete přidat atribut flsaStatus, který je součástí entity jobInfoNav , a pak použít JSONPath $.employmentNav.results[0].jobInfoNav.results[0].flsaStatus
  4. Uložte schéma.

  5. Restartování zřizování

Načítání vlastních atributů

Ve výchozím nastavení jsou v aplikaci zřizování Microsoft Entra SuccessFactors předdefinovány následující vlastní atributy:

  • custom01-custom15 z entity User (userNav)
  • customString1-customString15 z entity EmpEmployment (employmentNav) s názvem empNavCustomString1-empNavCustomString15
  • customString1-customString15 z entity EmpJobInfo (jobInfoNav) s názvem empJobNavCustomString1-empNavJobCustomString15

Řekněme, že ve vaší instanci Employee Central atribut customString35 v EmpJobInfo ukládá popis umístění. Tuto hodnotu chcete tok provést do atributu Active Directory physicalDeliveryOfficeName . Pokud chcete pro tento scénář nakonfigurovat mapování atributů, postupujte následovně:

  1. Upravte seznam atributů SuccessFactors a přidejte nový atribut s názvem empJobNavCustomString35.
  2. Nastavte výraz rozhraní JSONPath API pro tento atribut takto: $.employmentNav.results[0].jobInfoNav.results[0].customString35
  3. Uložte a znovu načtěte změnu mapování v Centru pro správu Microsoft Entra.
  4. V okně mapování atributů mapujte empJobNavCustomString35 na physicalDeliveryOfficeName.
  5. Uložte mapování.

Rozšíření tohoto scénáře:

  • Pokud chcete namapovat vlastní atribut 35 z entity User , použijte JSONPath. $.employmentNav.results[0].userNav.custom35
  • Pokud chcete mapovat atribut customString35 z entity EmpEmployment , použijte JSONPath. $.employmentNav.results[0].customString35

Mapování stavu zaměstnání na stav účtu

Ve výchozím nastavení konektor Microsoft Entra SuccessFactors používá activeEmploymentsCount pole objektu PersonEmpTerminationInfo k nastavení stavu účtu. U tohoto atributu můžete narazit na jeden z následujících problémů.

  1. Existuje známý problém, kdy konektor může zakázat účet ukončeného pracovního procesu jeden den před ukončením v poslední den práce.
  2. PersonEmpTerminationInfo Pokud se objekt nastaví na hodnotu null, během ukončení nebude fungovat zakázání účtu AD, protože modul zřizování vyfiltruje záznamy, ve kterých personEmpTerminationInfoNav je objekt nastaven na hodnotu null.

Pokud narazíte na některý z těchto problémů nebo dáváte přednost mapování stavu zaměstnání na stav účtu, můžete mapování aktualizovat a rozbalit emplStatus pole a použít stavový kód zaměstnání, který je v poli emplStatus.externalCode. Na základě poznámky k podpoře SAP 2505526 tady je seznam stavových kódů zaměstnání, které můžete načíst v aplikaci pro zřizování.

  • A = Aktivní
  • D = Neaktivní
  • U = nezaplacená dovolená
  • P = Placená dovolená
  • S = pozastaveno
  • F = Furlough
  • O = Zahozeno
  • R = vyřazeno
  • T = Ukončeno

Pomocí kroků aktualizujte mapování a načtěte tyto kódy.

  1. Otevřete okno mapování atributů vaší aplikace pro zřizování SuccessFactors.

  2. V části Zobrazit upřesňující možnosti klikněte na upravit seznam atributů SuccessFactors.

  3. Vyhledejte atribut emplStatus a aktualizujte jsonPath na $.employmentNav.results[0].jobInfoNav.results[0].emplStatusNav.externalCode. Díky aktualizaci konektor načte stavové kódy zaměstnání v tabulce.

  4. Uložte změny.

  5. V okně mapování atributů aktualizujte mapování výrazů pro příznak stavu účtu.

    Úloha zřizování Atribut stavu účtu Výraz mapování
    SuccessFactors to Active Directory User Provisioning accountDisabled Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")
    SuccessFactors pro zřizování uživatelů Microsoft Entra accountEnabled Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")
  6. Uložte změny.

  7. Otestujte konfiguraci pomocí zřizování na vyžádání.

  8. Po potvrzení, že synchronizace funguje podle očekávání, restartujte úlohu zřizování.

Zpracování převodu pracovních procesů a scénáře opětovného náboru

Scénář převodu pracovního procesu: Převod pracovního procesu je proces převodu stávajícího zaměstnance na dodavatele nebo dodavatele na zaměstnance na plný úvazek. V tomto scénáři Employee Central přidá novou entitu EmpEmployment spolu s novou entitou User pro stejnou entitu Person . Entita User vnořená pod předchozí entitou EmpEmployment je nastavena na hodnotu null.

Scénáře opětovného náboru: V SuccessFactors existují dvě možnosti pro zpracování náboru zaměstnanců:

  • Možnost 1: Vytvoření nového profilu osoby v Centru zaměstnanců
  • Možnost 2: Opětovné použití existujícího profilu osoby v Centru zaměstnanců

Pokud váš proces personálního oddělení používá možnost 1, pak se ve schématu zřizování nevyžadují žádné změny. Pokud váš proces personálního oddělení používá možnost 2, přidá Centrum zaměstnanců novou entitu EmpEmployment spolu s novou entitou User pro stejnou entitu Person .

Oba scénáře můžete zpracovat tak, aby se nová data o zaměstnání zobrazovala, když dojde k převodu nebo opětovnému přijetí. Hromadná aktualizace schématu zřizovací aplikace pomocí uvedených kroků:

  1. Otevřete okno mapování atributů vaší aplikace pro zřizování SuccessFactors.

  2. Posuňte se dolů a klikněte na Zobrazit upřesňující možnosti.

  3. Kliknutím na odkaz Zkontrolujte schéma sem a otevřete editor schématu.

    Snímek obrazovky znázorňující odkaz zkontrolovat schéma sem, který otevře editor schématu

  4. Před úpravami uložte kopii schématu kliknutím na odkaz Stáhnout .

    Snímek obrazovky znázorňující editor schématu s výběrem možnosti Stáhnout uložte kopii schématu.

  5. V editoru schémat otevřete stisknutím kláves Ctrl-H ovládací prvek find-replace.

  6. Do textového pole najít zkopírujte a vložte hodnotu. $.employmentNav.results[0]

  7. Do textového pole nahradit zkopírujte a vložte hodnotu $.employmentNav.results[-1:]. Tento výraz JSONPath vrátí nejnovější záznam EmpEmployment .

    find-replace-conversion

  8. Kliknutím na možnost Nahradit vše aktualizujte schéma.

  9. Uložte schéma.

  10. Výše uvedený proces aktualizuje všechny výrazy JSONPath následujícím způsobem:

    • Stará cesta JSON: $.employmentNav.results[0].jobInfoNav.results[0].departmentNav.name_localized
    • Nová cesta JSON: $.employmentNav.results[-1:].jobInfoNav.results[0].departmentNav.name_localized
  11. Otestujte konfiguraci pomocí zřizování na vyžádání.

  12. Po potvrzení, že synchronizace funguje podle očekávání, restartujte úlohu zřizování.

Poznámka:

Výše popsaný přístup funguje pouze v případě, že SAP SuccessFactors vrátí objekty zaměstnání ve vzestupném pořadí, kde nejnovější záznam o zaměstnání je vždy posledním záznamem v poli výsledků zaměstnání . Pořadí, ve kterém se vrací více záznamů o zaměstnání, není zaručeno successFactors. Pokud má vaše instance SuccessFactors více záznamů o zaměstnání odpovídajících pracovnímu procesu a vždy chcete načíst atributy přidružené k aktivnímu záznamu o zaměstnání, postupujte podle kroků popsaných v další části.

Načítání aktuálního aktivního záznamu o zaměstnání

Použití kořenového adresáře JSONPath nebo $.employmentNav.results[0]$.employmentNav.results[-1:] načtení záznamů o zaměstnání funguje ve většině scénářů a udržuje konfiguraci jednoduchou. V závislosti na konfiguraci instance SuccessFactors ale může být potřeba tuto konfiguraci aktualizovat, aby konektor vždy načítal nejnovější aktivní záznam o zaměstnání.

Tato část popisuje, jak můžete aktualizovat nastavení JSONPath, aby se rozhodně načetl aktuální aktivní záznam o zaměstnání uživatele. Zpracovává také převod pracovních procesů a scénáře náboru.

  1. Otevřete okno mapování atributů vaší aplikace pro zřizování SuccessFactors.

  2. Posuňte se dolů a klikněte na Zobrazit upřesňující možnosti.

  3. Kliknutím na odkaz Zkontrolujte schéma sem a otevřete editor schématu.

  4. Před úpravami uložte kopii schématu kliknutím na odkaz Stáhnout .

  5. V editoru schémat otevřete stisknutím kláves Ctrl-H ovládací prvek find-replace.

  6. Proveďte následující operace nahrazení. Při provádění operací hledání a nahrazení zajistěte, aby nedošlo k žádnému počátečnímu nebo koncovému místu. Pokud používáte místo indexu[0], aktualizujte odpovídajícím způsobem pole string-to-find.[-1:]

    Řetězec, který chcete najít Řetězec, který se má použít k nahrazení Účel
    $.employmentNav.results[0].jobInfoNav.results[0].emplStatus $.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P' )].emplStatusNav.externalCode S tímto find-replace přidáváme možnost rozbalit emplStatusNav OData objekt.
    $.employmentNav.results[0].jobInfoNav.results[0] $.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')] S tímto find-replace dáváme konektoru pokyn, aby vždy načetl atributy přidružené k aktivnímu záznamu SuccessFactors EmpJobInfo. Atributy přidružené k ukončeným nebo neaktivním záznamům v SuccessFactors se ignorují.
    $.employmentNav.results[0] $.employmentNav..results[?(@.jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')])] S tímto nahrazením hledání dáváme konektoru pokyn, aby vždy načetl atributy přidružené k aktivnímu záznamu o zaměstnání SuccessFactors. Atributy přidružené k ukončeným nebo neaktivním záznamům v SuccessFactors se ignorují.
  7. Uložte schéma.

  8. Výše uvedený proces aktualizuje všechny výrazy JSONPath.

  9. Aby zpracování fungovalo předem, musí cesta JSON Přidružená k startDate atributu použít buď [0] nebo [-1:] index. V části Zobrazit upřesňující možnosti klikněte na upravit seznam atributů SuccessFactors. Vyhledejte atribut startDate a nastavte ho na hodnotu. $.employmentNav.results[-1:].startDate

  10. Uložte schéma.

  11. Pokud chcete zajistit, aby se ukončení zpracovávala podle očekávání, můžete použít jedno z následujících nastavení v části mapování atributů.

    Úloha zřizování Atribut stavu účtu Výraz, který se má použít, pokud je stav účtu založený na "activeEmploymentsCount" Výraz, který se má použít, pokud je stav účtu založený na hodnotě emplStatus
    SuccessFactors to Active Directory User Provisioning accountDisabled Switch([activeEmploymentsCount], "False", "0", "True") Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")
    SuccessFactors pro zřizování uživatelů Microsoft Entra accountEnabled Switch([activeEmploymentsCount], "True", "0", "False") Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")
  12. Uložte provedené změny. 1.

  13. Otestujte konfiguraci pomocí zřizování na vyžádání.

  14. Po potvrzení, že synchronizace funguje podle očekávání, restartujte úlohu zřizování.

Zpracování scénáře globálního přiřazení

Když se uživatel v Centru zaměstnanců zpracuje pro globální přiřazení, SuccessFactors přidá novou entitu EmpEmployment a nastaví třídu assignmentClass na ga. Vytvoří také novou entitu User . Uživatel tedy nyní má:

  • Jedna entita uživatele EmpEmployment + , která odpovídá přiřazení domů s přiřazenou třídou assignmentClass nastavenou na "ST" a
  • Další entita uživatele EmpEmployment + , která odpovídá globálnímu přiřazení s atributem assignmentClass nastavenou na ga

Pokud chcete načíst atributy patřící do standardního uživatelského profilu přiřazení a globálního přiřazení, použijte uvedený postup:

  1. Otevřete okno mapování atributů vaší aplikace pro zřizování SuccessFactors.

  2. Posuňte se dolů a klikněte na Zobrazit upřesňující možnosti.

  3. Kliknutím na odkaz Zkontrolujte schéma sem a otevřete editor schématu.

  4. Před úpravami uložte kopii schématu kliknutím na odkaz Stáhnout .

  5. V editoru schémat otevřete stisknutím kláves Ctrl-H ovládací prvek find-replace.

  6. Do textového pole najít zkopírujte a vložte hodnotu. $.employmentNav.results[0]

  7. Do textového pole nahradit zkopírujte a vložte hodnotu $.employmentNav.results[?(@.assignmentClass == 'ST')]. Všimněte si prázdného znaku kolem operátoru == , který je důležitý pro úspěšné zpracování výrazu JSONPath.

  8. Kliknutím na možnost Nahradit vše aktualizujte schéma.

  9. Uložte schéma.

  10. Výše uvedený proces aktualizuje všechny výrazy JSONPath následujícím způsobem:

    • Stará cesta JSON: $.employmentNav.results[0].jobInfoNav.results[0].departmentNav.name_localized
    • Nová cesta JSON: $.employmentNav.results[?(@.assignmentClass == 'ST')].jobInfoNav.results[0].departmentNav.name_localized
  11. Znovu načtěte okno mapování atributů aplikace.

  12. Posuňte se dolů a klikněte na Zobrazit upřesňující možnosti.

  13. Klikněte na Upravit seznam atributů pro SuccessFactors.

  14. Přidejte nové atributy pro načtení globálních dat přiřazení. Například: Pokud chcete načíst název oddělení přidružený k globálnímu profilu přiřazení, můžete přidat atribut globalAssignmentDepartment s výrazem JSONPath nastaveným na $.employmentNav.results[?(@.assignmentClass == 'GA')].jobInfoNav.results[0].departmentNav.name_localized.

  15. Teď můžete buď tok obou hodnot oddělení do atributů služby Active Directory, nebo selektivně tok hodnoty pomocí mapování výrazů. Příklad: Výraz nastaví hodnotu atributu oddělení AD na globalAssignmentDepartment, pokud je k dispozici, jinak nastaví hodnotu na oddělení přidružené ke standardnímu přiřazení.

    • IIF(IsPresent([globalAssignmentDepartment]),[globalAssignmentDepartment],[department])
  16. Uložte mapování.

  17. Otestujte konfiguraci pomocí zřizování na vyžádání.

  18. Po potvrzení, že synchronizace funguje podle očekávání, restartujte úlohu zřizování.

Zpracování scénáře souběžných úloh

Pokud má uživatel v Centru zaměstnanců souběžné nebo více úloh, existují dvě entity EmpEmployment a User s přiřazenou třídou assignmentClass nastavenou na ST. Pokud chcete načíst atributy patřící do obou úloh, použijte uvedený postup:

  1. Otevřete okno mapování atributů vaší aplikace pro zřizování SuccessFactors.
  2. Posuňte se dolů a klikněte na Zobrazit upřesňující možnosti.
  3. Klikněte na Upravit seznam atributů pro SuccessFactors.
  4. Řekněme, že chcete získat oddělení přidružené k úloze 1 a 2. Předdefinované oddělení atributů už načte hodnotu oddělení pro první úlohu. Můžete definovat nový atribut s názvem secondJobDepartment a nastavit výraz JSONPath na $.employmentNav.results[1].jobInfoNav.results[0].departmentNav.name_localized
  5. Teď můžete buď tok obou hodnot oddělení do atributů služby Active Directory, nebo selektivně tok hodnoty pomocí mapování výrazů.
  6. Uložte mapování.
  7. Otestujte konfiguraci pomocí zřizování na vyžádání.
  8. Po potvrzení, že synchronizace funguje podle očekávání, restartujte úlohu zřizování.

Načítání podrobností o poloze

Konektor SuccessFactors podporuje rozšíření objektu pozice. Chcete-li rozbalit a načíst atributy objektu pozice, jako je úroveň úlohy nebo názvy pozic v určitém jazyce, můžete použít výrazy JSONPath, jak je znázorněno.

Název atributu Výraz JSONPath
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

Zřizování uživatelů v modulu onboardingu

Příchozí zřizování uživatelů ze SAP SuccessFactors do místní služby Active Directory a ID Microsoft Entra teď podporuje pokročilé zřizování předpřipravených uživatelů v modulu SAP SuccessFactors 2.0. Když služba zřizování Microsoft Entra narazí na nový profil pronájem s budoucím počátečním datem, dotazuje SAP SuccessFactors, aby získal nové zaměstnance s jedním z následujících stavových kódů: active, inactive, active_external_suite. Stavový kód active_external_suite odpovídá předpřipravením v modulu SAP SuccessFactors 2.0. Popis těchto stavových kódů najdete v poznámkovém 2736579 podpory SAP.

Výchozím chováním služby zřizování je zpracování předběžného nasazení v modulu onboardingu.

Pokud chcete vyloučit zpracování předzpracování v modulu onboardingu, aktualizujte konfiguraci úlohy zřizování následujícím způsobem:

  1. Otevřete okno mapování atributů vaší aplikace pro zřizování SuccessFactors.
  2. V části Zobrazit upřesňující možnosti upravte seznam atributů SuccessFactors a přidejte nový atribut s názvem userStatus.
  3. Nastavte výraz rozhraní JSONPath API pro tento atribut takto: $.employmentNav.results[0].userNav.status
  4. Uložte schéma a vraťte se zpět do okna mapování atributů.
  5. Úprava oboru zdrojového objektu pro použití filtru oborů userStatus NOT EQUALS
  6. Uložte mapování a ověřte, že filtr oborů funguje pomocí zřizování na vyžádání.

Povolení protokolů auditu rozhraní API OData v SuccessFactors

Konektor Microsoft Entra SuccessFactors používá k načtení změn a zřizování uživatelů rozhraní API OData SuccessFactors. Pokud zaznamenáte problémy se službou zřizování a chcete ověřit, jaká data se načetla z SuccessFactors, můžete v SuccessFactors povolit protokoly auditu rozhraní API OData. Načtěte datovou část požadavku odesílanou ID Microsoft Entra z protokolů auditu. Pokud chcete vyřešit potíže, můžete tuto datovou část požadavku zkopírovat v nástroji, jako je Postman, nastavit ho tak, aby používal stejného uživatele rozhraní API, který konektor používá, a zjistit, jestli vrací požadované změny z SuccessFactors.

Scénáře zpětného zápisu

Tato část popisuje různé scénáře zpětného zápisu. Doporučuje přístupy ke konfiguraci na základě nastavení e-mailu a telefonního čísla v SuccessFactors.

Podporované scénáře pro zpětný zápis z telefonu a e-mailu

# Požadavek na scénář Primární e-mail
Hodnota příznaku
Telefon do zaměstnání
Hodnota primárního příznaku
Mobilní telefon
Hodnota primárního příznaku
Telefon do zaměstnání
mapping
Mobilní telefon
mapping
0 * Nastavit jenom obchodní e-mail jako primární.
* Nenastavujte telefonní čísla.
true true false (nepravda) [Není nastaveno] [Není nastaveno]
2 * In SuccessFactors, business email and business phone is primary
* Vždy tok telefonního čísla Microsoft Entra do firemního telefonu a mobilního telefonu na mobilní telefon.
true true false (nepravda) telephoneNumber mobilní
3 * V SuccessFactors je obchodní e-mail a mobilní telefon primární
* Vždy flow Microsoft Entra telefonní číslo do obchodního telefonu a mobilního telefonu na mobilní telefon
true false (nepravda) true telephoneNumber mobilní
4 * Obchodní e-mail SuccessFactors je primární.
* V Microsoft Entra ID zkontrolujte, jestli je k dispozici pracovní telefonní číslo, pokud je k dispozici, a zkontrolujte, jestli je k dispozici i mobilní číslo. Pracovní telefonní číslo označte jako primární jenom v případě, že mobilní číslo není k dispozici.
true Použití mapování výrazů: IIF(IsPresent([telephoneNumber]), IIF(IsPresent([mobile]),"false", "true"), "false") Použití mapování výrazů: IIF(IsPresent([mobile]),"false", "true") telephoneNumber mobilní
5 * V obchodních e-mailech SuccessFactors a v obchodním telefonu je primární.
* V Microsoft Entra ID, pokud je mobilní zařízení k dispozici, pak ho nastavte jako pracovní telefon, jinak použijte telefonní číslo.
true true false (nepravda) IIF(IsPresent([mobile]), [mobile], [telephoneNumber]) [Není nastaveno]
  • Pokud v mapování atributů zpětného zápisu neexistuje žádné mapování telefonního čísla, zahrne se do zpětného zápisu jenom e-mail.
  • Během připojování nových zaměstnanců v Centru zaměstnanců nemusí být k dispozici firemní e-mail a telefonní číslo. Pokud je nastavení obchodního e-mailu a firemního telefonu povinné při připojování, můžete nastavit fiktivní hodnotu pro firemní telefon a e-mail během vytváření nových zaměstnanců. Po nějaké době aplikace pro zpětný zápis aktualizuje hodnotu.

Povolení zpětného zápisu pomocí ID uživatele

Aplikace SuccessFactors Writeback používá k aktualizaci atributů objektu User následující logiku:

  • V prvním kroku vyhledá atribut userId v sadě změn. Pokud je k dispozici, použije k volání rozhraní API SuccessFactors "UserId".
  • Pokud se userId nenajde, použije se výchozí hodnota atributu personIdExternal .

Hodnota atributu personIdExternal v SuccessFactors odpovídá hodnotě atributu userId . Ve scénářích, jako je například nábor a převod pracovních procesů, ale zaměstnanec v SuccessFactors může mít dva záznamy o zaměstnání, jednu aktivní a jednu neaktivní. V takových scénářích, aby se zajistilo, že zpětný zápis aktualizuje aktivní profil uživatele, aktualizujte konfiguraci zřizovacích aplikací SuccessFactors, jak je popsáno. Tato konfigurace zajišťuje, že id uživatele je vždy v sadě změn viditelné pro konektor a používá se ve volání rozhraní API SuccessFactors.

  1. Otevřete Aplikaci pro zřizování uživatelů Microsoft Entra pro místní aplikaci ad pro zřizování uživatelů v Microsoft Entra nebo SuccessFactors.
  2. Ujistěte se, že extensionAttribute[1-15] v MICROSOFT Entra ID vždy ukládá userId záznam o aktivním zaměstnání každého pracovníka. Záznam mapuje atribut SuccessFactors userId na extensionAttribute[1-15] v Microsoft Entra ID.

    Mapování příchozího atributu UserID

  3. Pokyny týkající se nastavení JSONPath najdete v části Zpracování scénářů převodu pracovních procesů a opětovného nabírání , abyste zajistili , že hodnota userId aktivního záznamu o zaměstnání přejde do Microsoft Entra ID.
  4. Uložte mapování.
  5. Spusťte úlohu zřizování, abyste měli jistotu, že hodnoty userId proudí do ID Microsoft Entra.

    Poznámka:

    Pokud k místní Active Directory zřizování uživatelů používáte SuccessFactors, nakonfigurujte Microsoft Entra Připojení tak, aby synchronizoval hodnotu atributu userId z místní Active Directory do Microsoft Entra ID.

  6. Otevřete aplikaci SuccessFactors Writeback na webu Azure Portal.
  7. Namapujte požadované rozšířeníAttribute obsahující hodnotu userId na atribut SuccessFactors userId .

    Mapování atributu UserID zpětného zápisu

  8. Uložte mapování.
  9. Přejděte na mapování atributů –> Upřesnit –> Zkontrolujte schéma a otevřete editor schématu JSON.
  10. Stáhněte kopii schématu jako zálohu.
  11. V editoru schématu stiskněte Ctrl-F a vyhledejte uzel JSON obsahující mapování userId, kde je namapovaný na zdrojový atribut Microsoft Entra.
  12. Aktualizujte atribut flowBehavior z flowWhenChanged na FlowAlways, jak je znázorněno.

    Aktualizace chování mapování toku

  13. Uložte mapování a otestujte scénář zpětného zápisu se zřizováním na vyžádání.

Nepodporované scénáře pro zpětný zápis z telefonu a e-mailu

  • V Centru zaměstnanců je během připojování osobního e-mailu a osobního telefonu nastavený jako primární. Aplikace pro zpětný zápis nemůže toto nastavení přepnout a nastavit obchodní e-mail a telefon do zaměstnání jako primární.
  • V Centru zaměstnanců je pracovní telefon nastavený jako primární. Aplikace pro zpětný zápis nemůže tuto možnost změnit a nastavit mobilní telefon jako primární.
  • Aplikace pro zpětný zápis nemůže číst aktuální nastavení primárního příznaku a používat stejné hodnoty pro operaci zápisu. Hodnoty příznaku nakonfigurované v mapování atributů se vždy používají.

Další kroky