Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба подготовки пользователей Microsoft Entra интегрируется с SAP SuccessFactors Employee Central для управления жизненным циклом удостоверений пользователей. Идентификатор Microsoft Entra предлагает три предварительно созданных интеграции:
- SuccessFactors для локальной подготовки пользователей Active Directory
- SuccessFactors для подготовки пользователей Microsoft Entra
- Обратная запись SuccessFactors
В этой статье описывается, как работает интеграция и как настраивается логика подготовки для различных сценариев работы с кадрами.
Microsoft Entra также поддерживает единый вход в SuccessFactors. Дополнительные сведения см. в статье об интеграции единого входа Microsoft Entra с SuccessFactors.
Установка подключения
Служба подготовки Microsoft Entra использует базовую проверку подлинности для подключения к конечным точкам API OData Employee Central. При настройке приложения подготовки SuccessFactors используйте параметр URL-адреса клиента в разделе "Учетные данные администратора " для настройки URL-адреса центра обработки данных API.
Чтобы защитить подключение между службой подготовки Microsoft Entra и SuccessFactors, добавьте диапазоны IP-адресов Microsoft Entra в список разрешений IP-адресов SuccessFactors:
- Скачайте последние диапазоны IP-адресов для общедоступного облака Azure.
- Откройте файл и найдите тег
AzureActiveDirectory
. - Скопируйте все диапазоны IP-адресов, перечисленные в адресе элементаPrefixes , и используйте диапазон для создания списка ограничений IP-адресов.
- Преобразуйте значения CIDR в диапазоны IP-адресов.
- Войдите на портал администрирования SuccessFactors и добавьте эти диапазоны в список разрешенных IP-адресов. Обратитесь к заметке о поддержке SAP 2253200. Теперь вы можете ввести диапазоны IP-адресов в этом средстве.
Поддерживаемые сущности
Для каждого пользователя в SuccessFactors служба подготовки Microsoft Entra извлекает следующие сущности. Каждая сущность расширяется с помощью параметра запроса API OData $expand запроса, как описано в столбце правила извлечения . Одни сущности разворачиваются по умолчанию, а другие — только в том случае, если в сопоставлении присутствует определенный атрибут.
# | Сущность SuccessFactors | Узел OData | Правило извлечения |
---|---|---|---|
1 | PerPerson |
*root node* |
Всегда |
2 | PerPersonal |
personalInfoNav |
Всегда |
3 | PerPhone |
phoneNav |
Всегда |
4 | PerEmail |
emailNav |
Всегда |
5 | EmpEmployment |
employmentNav |
Всегда |
6 | User |
employmentNav/userNav |
Всегда |
7 | EmpJob |
employmentNav/jobInfoNav |
Всегда |
8 | EmpEmploymentTermination |
activeEmploymentsCount |
Всегда |
9 | User's manager |
employmentNav/userNav/manager/empInfo |
Всегда |
10 | FOCompany |
employmentNav/jobInfoNav/companyNav |
Только если сопоставление содержит атрибут company или companyId |
11 | FODepartment |
employmentNav/jobInfoNav/departmentNav |
Только если сопоставление содержит атрибут department или departmentId |
12 | FOBusinessUnit |
employmentNav/jobInfoNav/businessUnitNav |
Только если сопоставление содержит атрибут businessUnit или businessUnitId |
13 (тринадцать) | FOCostCenter |
employmentNav/jobInfoNav/costCenterNav |
Только если сопоставление содержит атрибут costCenter или costCenterId |
14 | FODivision |
employmentNav/jobInfoNav/divisionNav |
Только если сопоставление содержит атрибут division или divisionId |
15 | FOJobCode |
employmentNav/jobInfoNav/jobCodeNav |
Только если сопоставление содержит атрибут jobCode или jobCodeId |
16 | FOPayGrade |
employmentNav/jobInfoNav/payGradeNav |
Только если сопоставление содержит атрибут payGrade |
17 | FOLocation |
employmentNav/jobInfoNav/locationNav |
Только если сопоставление содержит атрибут location |
18 | FOCorporateAddressDEFLT |
employmentNav/jobInfoNav/addressNavDEFLT |
Только если сопоставление содержит один из следующих атрибутов: officeLocationAddress, officeLocationCity, officeLocationZipCode |
19 | FOEventReason |
employmentNav/jobInfoNav/eventReasonNav |
Только если сопоставление содержит атрибут eventReason |
20 | EmpGlobalAssignment |
employmentNav/empGlobalAssignmentNav |
Только если сопоставление содержит атрибут assignmentType |
двадцать один | EmploymentType Picklist |
employmentNav/jobInfoNav/employmentTypeNav |
Только если сопоставление содержит атрибут employmentType |
двадцать два | EmployeeClass Picklist |
employmentNav/jobInfoNav/employeeClassNav |
Только если сопоставление содержит атрибут employeeClass |
двадцать три | EmplStatus Picklist |
employmentNav/jobInfoNav/emplStatusNav |
Только если сопоставление содержит атрибут emplStatus |
двадцать четыре | AssignmentType Picklist |
employmentNav/empGlobalAssignmentNav/assignmentTypeNav |
Только если сопоставление содержит атрибут assignmentType |
25 | Position |
employmentNav/jobInfoNav/positionNav |
Только если сопоставление содержит атрибут positioNav |
26 | Manager User |
employmentNav/jobInfoNav/managerUserNav |
Только если сопоставление содержит атрибут managerUserNav |
Как работает полная синхронизация
На основе сопоставления атрибутов во время полной синхронизации службы подготовки Microsoft Entra отправляет следующий запрос API OData GET для получения эффективных данных всех активных и завершенных рабочих ролей.
Параметр | Описание |
---|---|
Узел API OData | Добавляет https к URL-адресу клиента. Пример: https://api4.successfactors.com |
Конечная точка API OData | /odata/v2/PerPerson |
Параметр запроса $format OData | json |
Параметр запроса $filter OData | (personEmpTerminationInfoNav/activeEmploymentsCount ne null) and (lastModifiedDateTime le <CurrentExecutionTime>) |
Параметр запроса $expand OData | Значение этого параметра зависит от сопоставленных атрибутов. Пример: employmentNav/userNav,employmentNav/jobInfoNav,personalInfoNav,personEmpTerminationInfoNav,phoneNav,emailNav,employmentNav/jobInfoNav/companyNav/countryOfRegistrationNav,employmentNav/jobInfoNav/divisionNav,employmentNav/jobInfoNav/departmentNav |
Параметр запроса customPageSize OData | 100 |
Примечание.
Во время полной начальной синхронизации извлекаются активные и завершенные рабочие роли из SAP SuccessFactors.
Для каждого пользователя SuccessFactors служба подготовки ищет учетную запись в целевом объекте (идентификатор Microsoft Entra ID/локальная служба Active Directory) с помощью соответствующего атрибута, определенного в сопоставлении. Например, если personIdExternal сопоставляется с employeeId и задается в качестве соответствующего атрибута, служба подготовки использует значение personIdExternal для поиска пользователя с фильтром employeeId . Если найден совпадающий пользователь, целевые атрибуты обновляются. Если совпадений не найдено, соответствующая запись в создается целевом объекте.
Чтобы проверить данные, возвращаемые конечной точкой API OData для определенной personIdExternal
точки, обновите SuccessFactorsAPIEndpoint
запрос API с URL-адресом сервера центра обработки данных API и используйте средство, например cURL или Graph Explorer, для вызова запроса. Если фильтр in не работает, можно попробовать фильтр 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
Как работает добавочная синхронизация
После полной синхронизации служба подготовки Microsoft Entra поддерживает LastExecutionTimestamp
и использует ее для создания разностных запросов для получения добавочных изменений. Для атрибутов метки времени, присутствующих в каждой сущности SuccessFactors (например lastModifiedDateTime
, startDate
, endDate
и latestTerminationDate
), проверяется, попадает ли рассматриваемое изменение в диапазон от LastExecutionTimestamp
до CurrentExecutionTime
. Если да, до запись об этом изменении считается действующей и обрабатывается для синхронизации.
Ниже приведен шаблон запроса API OData, который идентификатор Microsoft Entra id использует для запроса SuccessFactors для добавочных изменений. Переменные SuccessFactorsAPIEndpoint
можно обновить, LastExecutionTimestamp
а CurrentExecutionTime
в шаблоне запроса используйте средство, например cURL или Graph Explorer, чтобы проверить, какие данные возвращаются. Кроме того, можно получить фактические полезные данные запроса из SuccessFactors, включив журналы аудита 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
Как работает обработка предварительного найма
В этом разделе объясняется, как соединитель SAP SuccessFactors обрабатывает предварительно нанимаемые записи (рабочие с датой найма и датой начала в будущем).
Предположим, что в SuccessFactors Employee Central с датой начала 1-го июня 2023 года есть предварительная дата найма с помощью employeeId "1234". Предположим, что эта предварительная запись была создана либо в Employee Central, либо в модуле подключения 15-мая 2023 года. Когда служба подготовки сначала наблюдает эту запись 15-май-2023 (как часть полной синхронизации или добавочной синхронизации), эта запись по-прежнему находится в состоянии предварительного найма. Из-за этого SuccessFactors не отправляет службе подготовки все атрибуты (например, userNav/username), связанные с пользователем. Доступны только минимальные данные о пользователе, например companyName
, personIdExternal
и firstname
lastname
startDate
доступны. Для успешной обработки предварительного найма необходимо выполнить следующие предварительные требования:
- Атрибут
personIdExternal
должен быть задан в качестве основного идентификатора сопоставления (присоединение свойства). Если вы настроите другой атрибут (например, userName) в качестве свойства присоединения, служба подготовки не сможет получить сведения о предварительной работе. - Атрибут
startDate
должен быть доступен, и его JSONPath должен иметь значение$.employmentNav.results[0].startDate
или$.employmentNav.results[-1:].startDate
. - Запись предварительного найма должна находиться в одном из следующих состояний в Employee Central: "активный" (t), "неактивный" (f) или "active_external_suite" (e). Дополнительные сведения об этих состояниях см. в заметке о поддержке SAP 2736579.
Примечание.
Для предварительного найма, у которого нет истории с организацией, индекс [0] и [-1:] будет работать для startDate
. Для предварительного найма, который является повторно нанимать или преобразовать, мы не можем детерминированно сообщить заказу, и это может привести к тому, что некоторые повторное получение или преобразованные работники обрабатываются по фактической дате начала. Это известное ограничение в соединителе.
Во время полной синхронизации или добавочной синхронизации или подготовки по запросу, когда служба подготовки сталкивается с записью предварительного найма, она отправляет следующий запрос OData в SuccessFactors с фильтром asOfDate, заданным для запускаDate пользователя (например,OfDate=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/
Если вы наблюдаете проблемы с предварительной обработкой, вы можете использовать приведенный выше формат запроса OData для запроса экземпляра SuccessFactors, заменив конечную точку API, personIdExternal
и asOfDate
отфильтровать значения, соответствующие вашему сценарию тестирования.
Чтение данных атрибутов
Когда служба подготовки Microsoft Entra запрашивает SuccessFactors, она извлекает результирующий набор JSON. Результирующий набор JSON содержит множество атрибутов, хранящихся в Employee Central. По умолчанию схема подготовки настроена для получения лишь некоторого подмножества этих атрибутов.
Чтобы получить дополнительные атрибуты, выполните указанные ниже действия.
Перейдите настраницу сопоставления атрибутов для корпоративных приложенийSuccessFactorsДляподготовки>> приложений>>.
Прокрутите вниз и нажмите кнопку "Показать дополнительные параметры".
Щелкните "Изменить список атрибутов" для SuccessFactors.
Примечание.
Если параметр "Изменить атрибут" для SuccessFactors не отображается в Центре администрирования Microsoft Entra, используйте URL-адрес https://portal.azure.com/?Microsoft_AAD_IAM_forceSchemaEditorEnabled=true для доступа к странице.
В столбце выражений API в этом представлении отображаются выражения JSONPath, используемые соединителем.
Можно либо изменить существующее значение JSONPath, либо добавить в схему атрибут с допустимым выражением JSONPath.
В следующем разделе приведен список распространенных сценариев, предполагающих изменение значений JSONPath.
Сценарии работы с кадрами
JSONPath — это язык запросов для JSON, похожий на XPath для XML. Как и XPath, JSONPath позволяет извлекать данные из структуры JSON и фильтровать их.
С помощью преобразования JSONPath можно настроить поведение приложения подготовки Microsoft Entra для получения пользовательских атрибутов и обработки таких сценариев, как повторное получение, преобразование рабочей роли и глобальное назначение.
В этом разделе описывается, как настроить приложение для подготовки в расчете на следующие сценарии работы с кадрами:
- Получение дополнительных атрибутов
- Получение настраиваемых атрибутов
- Сопоставление состояния занятости с состоянием учетной записи
- Обработка сценариев преобразования и повторного подбора рабочих ролей
- Получение текущей активной записи о занятости
- Обработка сценария глобального назначения
- Обработка сценария параллельных заданий
- Получение сведений о позиции
- Подготовка пользователей в модуле подключения
- Включение журналов аудита API OData в SuccessFactors
Получение дополнительных атрибутов
Схема приложения подготовки Microsoft Entra SuccessFactors по умолчанию поставляется с 90+ предопределенными атрибутами. Чтобы добавить дополнительные атрибуты SuccessFactors в схему подготовки, выполните указанные ниже действия.
Используйте запрос OData для получения данных для допустимого тестового пользователя из 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
Определите, какая сущность Employee Central связана с нужным атрибутом:
- Если атрибут является частью сущности EmpEmployment , найдите атрибут в узле employmentNav .
- Если атрибут является частью сущности User , найдите атрибут в узле employmentNav/userNav .
- Если атрибут является частью сущности EmpJob , найдите атрибут в узле jobNav/jobInfoNav .
Сконструируйте выражение JSONPath для этого нового атрибута и добавьте его в список атрибутов SuccessFactors.
- Пример 1. Предположим, что вы хотите добавить атрибут
okToRehire
, который является частью сущностиemploymentNav
, а затем использовать JSONPath$.employmentNav.results[0].okToRehire
- Пример 2. Предположим, что вы хотите добавить часовой пояс атрибута, который является частью сущности userNav , а затем использовать JSONPath
$.employmentNav.results[0].userNav.timeZone
- Пример 3. Предположим, что вы хотите добавить атрибут flsaStatus, который является частью сущности jobInfoNav , а затем использовать JSONPath
$.employmentNav.results[0].jobInfoNav.results[0].flsaStatus
- Пример 1. Предположим, что вы хотите добавить атрибут
Сохраните схему.
Перезапустите подготовку.
Получение настраиваемых атрибутов
По умолчанию в приложении подготовки Microsoft Entra SuccessFactors предопределяются следующие настраиваемые атрибуты:
- custom01-custom15 из сущности User (userNav)
- customString1-customString15 из сущности EmpEmployment ( employmentNav) с именем empNavCustomString1-empNavCustomString15
- customString1-customString15 из сущности EmpJobInfo (jobInfoNav) с именем empJobNavCustomString1-empNavJobCustomString15
Предположим, что в экземпляре Employee Central атрибут customString35 в EmpJobInfo хранит описание расположения. Вы хотите передавать это значение в атрибут Active Directory physicalDeliveryOfficeName . Чтобы настроить сопоставление атрибутов для этого сценария, выполните следующие действия.
- Измените список атрибутов SuccessFactors, чтобы добавить новый атрибут с именем empJobNavCustomString35.
- Задайте для этого атрибута следующее выражение API JSONPath:
$.employmentNav.results[0].jobInfoNav.results[0].customString35
. - Сохраните и перезагрузите изменение сопоставления в Центре администрирования Microsoft Entra.
- В колонке сопоставления атрибутов сопоставьте empJobNavCustomString35 с physicalDeliveryOfficeName.
- Сохраните сопоставление.
Расширим этот сценарий.
- Если вы хотите сопоставить настраиваемый атрибут35 из сущности user , используйте JSONPath
$.employmentNav.results[0].userNav.custom35
- Если вы хотите сопоставить атрибут customString35 из сущности EmpEmployment , используйте JSONPath
$.employmentNav.results[0].customString35
Сопоставление состояния занятности с состоянием учетной записи
По умолчанию соединитель Microsoft Entra SuccessFactors использует activeEmploymentsCount
поле объекта для задания состояния учетной PersonEmpTerminationInfo
записи. С этим атрибутом может возникнуть одна из следующих проблем.
- Существует известная проблема, из-за которой соединитель может отключить учетную запись завершенной рабочей роли один день до окончания последнего дня работы.
-
PersonEmpTerminationInfo
Если объект получает значение NULL, во время завершения учетная запись AD отключена, так как подсистема подготовки фильтрует записи, в которыхpersonEmpTerminationInfoNav
объект имеет значение NULL.
Если вы работаете с любым из этих проблем или предпочитаете сопоставление состояния занятости с состоянием учетной записи, можно обновить сопоставление, чтобы развернуть emplStatus
поле и использовать код состояния занятости, представленный в поле emplStatus.externalCode
. На основе заметки о поддержке SAP 2505526 ниже приведен список кодов состояния занятости, которые можно получить в приложении подготовки.
- A = активный
- D = бездействующий
- U = неоплачиваемый отпуск
- P = оплачиваемый отпуск
- S = отстранен
- F = отпуск
- O = запись удалена
- R = на пенсии
- T = уволен
Чтобы получить эти коды, выполните действия по обновлению сопоставления.
Откройте колонку сопоставления атрибутов в приложении для подготовки SuccessFactors.
В разделе "Показать дополнительные параметры" щелкните список атрибутов Edit SuccessFactors.
Найдите атрибут
emplStatus
и измените JSONPath на$.employmentNav.results[0].jobInfoNav.results[0].emplStatusNav.externalCode
. Обновление делает соединитель получать коды состояния занятости в таблице.Сохраните изменения.
В колонке сопоставления атрибутов обновите сопоставление выражений для флага состояния учетной записи.
Задание подготовки Атрибут состояния учетной записи Выражение сопоставления Подготовка пользователей из SuccessFactors в Active Directory accountDisabled
Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")
SuccessFactors для подготовки пользователей Microsoft Entra accountEnabled
Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")
Сохраните изменения.
Проверьте конфигурацию с помощью подготовки по запросу.
Убедившись, что синхронизация работает должным образом, перезапустите задание подготовки.
Обработка сценариев преобразования и повторного подбора рабочих ролей
О сценарии преобразования рабочих ролей: Преобразование рабочей роли — это процесс преобразования существующего сотрудника полного времени в подрядчика или подрядчика в полный рабочий день сотрудника. В этом сценарии Employee Central добавляет новую сущность EmpEmployment вместе с новой сущностью User для той же сущности Person . Сущность User , вложенная в предыдущую сущность EmpEmployment , имеет значение NULL.
О сценариях повторного подбора: В SuccessFactors существует два варианта обработки повторного подбора сотрудников:
- Вариант 1. Создание нового профиля пользователя в Employee Central.
- Вариант 2. Повторное использование профиля пользователя в Employee Central.
Если ваш кадровый регламент предполагает использование варианта 1, то схема подготовки не требует изменений. Если в процессе управления персоналом используется вариант 2, Employee Central добавляет новую сущность EmpEmployment вместе с новой сущностью User для той же сущности Person .
Вы можете обрабатывать оба сценария, чтобы новые данные о занятости отображались при преобразовании или повторном образовании. Массовое обновление схемы приложения подготовки с помощью перечисленных действий.
Откройте колонку сопоставления атрибутов в приложении для подготовки SuccessFactors.
Прокрутите вниз и нажмите кнопку "Показать дополнительные параметры".
Щелкните ссылку Проверить схему здесь , чтобы открыть редактор схем.
Щелкните ссылку "Скачать ", чтобы сохранить копию схемы перед редактированием.
В редакторе схемы нажмите клавиши CTRL+H, чтобы открыть элемент управления для поиска и замены.
Скопируйте значение
$.employmentNav.results[0]
и вставьте его в текстовое поле "Найти".Скопируйте значение
$.employmentNav.results[-1:]
и вставьте его в текстовое поле "Заменить". Это выражение JSONPath возвращает последнюю запись EmpEmployment .Нажмите "заменить все", чтобы обновить схему.
Сохраните схему.
В результате описанных выше действий все выражения JSONPath изменяются следующим образом:
- Старое выражение JSONPath:
$.employmentNav.results[0].jobInfoNav.results[0].departmentNav.name_localized
. - Новое выражение JSONPath:
$.employmentNav.results[-1:].jobInfoNav.results[0].departmentNav.name_localized
.
- Старое выражение JSONPath:
Проверьте конфигурацию с помощью подготовки по запросу.
Убедившись, что синхронизация работает должным образом, перезапустите задание подготовки.
Примечание.
Описанный выше подход работает только в том случае, если SAP SuccessFactors возвращает объекты занятости в порядке возрастания, где последняя запись о занятости всегда является последней записью в массиве результатов employmentNav . Порядок возврата нескольких записей о занятости не гарантируется SuccessFactors. Если экземпляр SuccessFactors содержит несколько записей о занятости одного сотрудника и вы хотите всегда получать атрибуты, связанные с активной записью о занятости, выполните действия, описанные в следующем разделе.
Получение активной записи о занятости
Для получения записей о занятости в большинстве сценариев и простоты настройки можно использовать корень JSONPath $.employmentNav.results[0]
или $.employmentNav.results[-1:]
. Но в зависимости от настройки экземпляра SuccessFactors может потребоваться обновить эту конфигурацию, чтобы соединитель получал последнюю активную запись о занятости.
В этом разделе описывается, как обновить параметры JSONPath, чтобы гарантированно получить активную запись о занятости пользователя. Он также обрабатывает сценарии преобразования и повторного подбора рабочих ролей.
Откройте колонку сопоставления атрибутов в приложении для подготовки SuccessFactors.
Прокрутите вниз и нажмите кнопку "Показать дополнительные параметры".
Щелкните ссылку Проверить схему здесь , чтобы открыть редактор схем.
Щелкните ссылку "Скачать ", чтобы сохранить копию схемы перед редактированием.
В редакторе схемы нажмите клавиши CTRL+H, чтобы открыть элемент управления для поиска и замены.
Выполните следующие операции поиска и замены. Убедитесь, что при выполнении операций поиска и замены нет места в начале или в конечных местах. Если вместо индекса используется
[-1:]
индекс[0]
, обновите поле для поиска строки соответствующим образом.Строка для поиска Строка, используемая для замены Цель $.employmentNav.results[0].jobInfoNav.results[0].emplStatus
$.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P' )].emplStatusNav.externalCode
С помощью этой функции find-replace мы добавляем возможность расширения объекта emplStatusNav OData. $.employmentNav.results[0].jobInfoNav.results[0]
$.employmentNav..jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')]
С помощью этой функции поиска и замены мы укажем соединителю всегда получать атрибуты, связанные с активной записью EmpJobInfo в SuccessFactors. Атрибуты, связанные с прерванными или неактивными записями в SuccessFactors, игнорируются. $.employmentNav.results[0]
$.employmentNav..results[?(@.jobInfoNav..results[?(@.emplStatusNav.externalCode == 'A' || @.emplStatusNav.externalCode == 'U' || @.emplStatusNav.externalCode == 'P')])]
С помощью этой функции поиска и замены мы укажем соединителю всегда получать атрибуты, связанные с активной записью Employment в SuccessFactors. Атрибуты, связанные с прерванными или неактивными записями в SuccessFactors, игнорируются. Сохраните схему.
В результате описанных выше действий все выражения JSONPath будут обновлены.
Для предварительной обработки для работы JSONPath, связанного с
startDate
атрибутом, должен использовать либо[0]
[-1:]
индекс. В разделе "Показать дополнительные параметры" щелкните список атрибутов Edit SuccessFactors. Найдите атрибутstartDate
и присвойте ему значение$.employmentNav.results[-1:].startDate
.Сохраните схему.
Чтобы убедиться, что завершения обрабатываются должным образом, вы можете использовать один из следующих параметров в разделе сопоставления атрибутов.
Задание подготовки Атрибут состояния учетной записи Выражение, используемое в случае, если состояние учетной записи основано на activeEmploymentsCount Выражение, используемое в случае, если состояние учетной записи основано на значении emplStatus Подготовка пользователей из SuccessFactors в Active Directory accountDisabled
Switch([activeEmploymentsCount], "False", "0", "True")
Switch([emplStatus], "True", "A", "False", "U", "False", "P", "False")
SuccessFactors для подготовки пользователей Microsoft Entra accountEnabled
Switch([activeEmploymentsCount], "True", "0", "False")
Switch([emplStatus], "False", "A", "True", "U", "True", "P", "True")
Сохранение изменений. 1.
Проверьте конфигурацию с помощью подготовки по запросу.
Убедившись, что синхронизация работает должным образом, перезапустите задание подготовки.
Обработка сценария с зарубежным назначением
Когда пользователь в Employee Central обрабатывается для глобального назначения, SuccessFactors добавляет новую сущность EmpEmployment и задает класс присвоения "GA". Он также создает новую сущность пользователя . Таким образом, у пользователя теперь есть:
- Одна сущность пользователя EmpEmployment + , соответствующая домашнему назначению с присвоением класса присваивания , для параметра ST и
- Другая сущность пользователя EmpEmployment + , соответствующая глобальному назначению с присвоением класса " GA"
Чтобы получить атрибуты, принадлежащие к стандартному назначению и профилю пользователя глобального назначения, выполните указанные ниже действия.
Откройте колонку сопоставления атрибутов в приложении для подготовки SuccessFactors.
Прокрутите вниз и нажмите кнопку "Показать дополнительные параметры".
Щелкните ссылку Проверить схему здесь , чтобы открыть редактор схем.
Щелкните ссылку "Скачать ", чтобы сохранить копию схемы перед редактированием.
В редакторе схемы нажмите клавиши CTRL+H, чтобы открыть элемент управления для поиска и замены.
Скопируйте значение
$.employmentNav.results[0]
и вставьте его в текстовое поле "Найти".Скопируйте значение
$.employmentNav.results[?(@.assignmentClass == 'ST')]
и вставьте его в текстовое поле "Заменить". Обратите внимание на пробелы, окружающие оператор "==", так как они важны для успешной обработки выражения JSONPath.Нажмите "заменить все", чтобы обновить схему.
Сохраните схему.
В результате описанных выше действий все выражения JSONPath изменяются следующим образом:
- Старое выражение JSONPath:
$.employmentNav.results[0].jobInfoNav.results[0].departmentNav.name_localized
. - Новое выражение JSONPath:
$.employmentNav.results[?(@.assignmentClass == 'ST')].jobInfoNav.results[0].departmentNav.name_localized
.
- Старое выражение JSONPath:
Перезагрузите колонку сопоставления атрибутов в приложении.
Прокрутите вниз и нажмите кнопку "Показать дополнительные параметры".
Щелкните "Изменить список атрибутов" для SuccessFactors.
Добавьте атрибуты для выборки данных о зарубежном назначении. Например, если вы хотите получить имя отдела, связанное с глобальным профилем назначения, можно добавить атрибут globalAssignmentDepartmentDepartment с набором
$.employmentNav.results[?(@.assignmentClass == 'GA')].jobInfoNav.results[0].departmentNav.name_localized
выражений JSONPath.Теперь можно либо передать оба значения названия отдела в атрибуты Active Directory, либо выборочно перенести значение, используя сопоставляющее выражение. Пример: выражение задает значение атрибута отдела AD для globalAssignmentDepartment, если оно присутствует, в противном случае оно задает значение для отдела, связанного со стандартным назначением.
IIF(IsPresent([globalAssignmentDepartment]),[globalAssignmentDepartment],[department])
Сохраните сопоставление.
Проверьте конфигурацию с помощью подготовки по запросу.
Убедившись, что синхронизация работает должным образом, перезапустите задание подготовки.
Обработка сценария с совмещением должностей
Если пользователь в Employee Central имеет одновременное или несколько заданий, существует два сущности EmpEmployment и User с присвоением класса " ST". Чтобы получить атрибуты, принадлежащие обоим заданиям, выполните указанные ниже действия.
- Откройте колонку сопоставления атрибутов в приложении для подготовки SuccessFactors.
- Прокрутите вниз и нажмите кнопку "Показать дополнительные параметры".
- Щелкните "Изменить список атрибутов" для SuccessFactors.
- Пускай требуется получить название отдела, относящегося к должности 1 и должности 2. Предварительно определенный отдел атрибутов уже получает значение отдела для первого задания. Можно определить новый атрибут , называемый secondJobDepartment , и задать для выражения JSONPath значение
$.employmentNav.results[1].jobInfoNav.results[0].departmentNav.name_localized
- Теперь можно либо передать оба значения названия отдела в атрибуты Active Directory, либо выборочно перенести значение, используя сопоставляющее выражение.
- Сохраните сопоставление.
- Проверьте конфигурацию с помощью подготовки по запросу.
- Убедившись, что синхронизация работает должным образом, перезапустите задание подготовки.
Получение сведений о позиции
Соединитель SuccessFactors поддерживает развертывание объекта позиции. Чтобы развернуть и получить атрибуты объекта позиции, такие как уровень задания или имена позиций на определенном языке, можно использовать выражения JSONPath, как показано ниже.
Имя атрибута | Выражение JSONPath |
---|---|
positionJobLevel | $.jobNav.results[0].jobInfoNav.results[0].positionNav.jobLevel |
positionNameFR | $.jobNav.results[0].jobInfoNav.results[0].positionNav.externalName_fr_FR |
positionNameDE | $.jobNav.results[0].jobInfoNav.results[0].positionNav.externalName_de_DE |
Подготовка пользователей в модуле Onboarding
Подготовка входящих пользователей из SAP SuccessFactors в локальную среду Active Directory и идентификатор Microsoft Entra ТЕПЕРЬ поддерживает предварительную подготовку предустановок, присутствующих в модуле SAP SuccessFactors Onboarding 2.0. Когда служба подготовки Microsoft Entra встречает новый профиль найма с будущей датой начала, он запрашивает SAP SuccessFactors, чтобы получить новых сотрудников с одним из следующих кодов состояния: active
, , inactive
. active_external_suite
Код active_external_suite
состояния соответствует предварительным представлениям в модуле SAP SuccessFactors Onboarding 2.0. Описание этих кодов состояния см. в заметке о поддержке SAP 2736579.
Поведение службы подготовки по умолчанию — обработка предварительных выборок в модуле подключения.
Если вы хотите исключить обработку предустановок в модуле подключения, обновите конфигурацию задания подготовки следующим образом:
- Откройте колонку сопоставления атрибутов в приложении для подготовки SuccessFactors.
- В разделе дополнительных параметров измените список атрибутов SuccessFactors, добавив в него новый атрибут с именем
userStatus
. - Задайте для этого атрибута следующее выражение API JSONPath:
$.employmentNav.results[0].userNav.status
. - Сохраните схему, чтобы вернуться в колонку сопоставления атрибутов.
- Измените область исходного объекта (Source Object), чтобы применить фильтр области
userStatus NOT EQUALS
. - Сохраните сопоставление и убедитесь, что фильтр области применяется для подготовки по запросу.
Включение журналов аудита API OData в SuccessFactors
Соединитель Microsoft Entra SuccessFactors использует API OData SuccessFactors для получения изменений и подготовки пользователей. Если вы наблюдаете проблемы со службой подготовки и хотите подтвердить, какие данные были получены из SuccessFactors, можно включить журналы аудита API OData в SuccessFactors. Получение полезных данных запроса, отправляемых идентификатором Microsoft Entra, из журналов аудита. Чтобы устранить неполадки, можно скопировать полезные данные этого запроса в инструменте, например cURL или Graph Explorer, настроить его для использования того же пользователя API, который используется соединителем, и узнать, возвращает ли он нужные изменения из SuccessFactors.
Сценарии с обратной записью
В этом разделе рассматриваются различные сценарии с обратной записью и приводятся рекомендации по настройке в зависимости от того, как заданы электронный адрес и номер телефона в SuccessFactors.
Поддерживаемые сценарии с обратной записью номера телефона и электронного адреса
# | Требования сценария | Основной адрес электронной почты является основным (значение флага) |
Бизнес-телефон является основным (значение флага) |
Сотовый телефон является основным (значение флага) |
Бизнес-телефон картирование |
Сотовый телефон картирование |
---|---|---|---|---|---|---|
1 | * Задавать в качестве основного только рабочий электронный адрес. * Не задавать номера телефонов. |
правда | правда | неправда | [Не задано] | [Не задано] |
2 | * В SuccessFactors, бизнес-электронная почта и бизнес-телефон являются основными * Всегда поток телефонного номера Microsoft Entra для бизнеса и мобильного телефона на мобильный телефон. |
правда | правда | неправда | телефонный номер | мобильный |
3 | * В SuccessFactors, бизнес-электронная почта и мобильный телефон являются основными * Всегда поток телефонного номера Microsoft Entra для бизнеса и мобильного телефона на мобильный телефон |
правда | неправда | правда | телефонный номер | мобильный |
4 | * В бизнес-сообщении SuccessFactors основной. * В идентификаторе Microsoft Entra проверьте, присутствует ли рабочий номер телефона, если он присутствует, а затем проверьте, присутствует ли номер мобильного телефона. Помечайте рабочий номер телефона в качестве основного, только если номер мобильного телефона отсутствует. |
правда | Использовать сопоставляющее выражение: IIF(IsPresent([telephoneNumber]), IIF(IsPresent([mobile]),"false", "true"), "false") |
Использовать сопоставляющее выражение: IIF(IsPresent([mobile]),"false", "true") |
телефонный номер | мобильный |
5 | * В SuccessFactors основными являются рабочий электронный адрес и рабочий номер телефона. * В идентификаторе Microsoft Entra, если мобильные устройства доступны, а затем задайте его в качестве бизнес-телефона, а затем используйте номер телефона. |
правда | правда | неправда | IIF(IsPresent([mobile]), [mobile], [telephoneNumber]) |
[Не задано] |
- Если в сопоставлении атрибутов обратной записи нет сопоставления телефонов, в обратной записи будет включена только электронная почта.
- На этапе введения в должность нового сотрудника в Employee Central могут отсутствовать электронный адрес и номер телефона. Если настройка бизнес-электронной почты и бизнес-телефона в качестве основного является обязательным во время подключения, вы можете задать фиктивное значение для бизнес-телефона и электронной почты во время создания нового найма. Через некоторое время приложение обратной записи обновляет значение.
Включение обратной записи с помощью UserID
Приложение SuccessFactors Writeback использует следующую логику для обновления атрибутов объекта User:
- В качестве первого шага он ищет атрибут userId в наборе изменений. Если он присутствует, он использует UserId для вызова API SuccessFactors.
- Если идентификатор пользователя не найден, по умолчанию используется значение атрибута PersonIdExternal .
Обычно значение атрибута personIdExternal в SuccessFactors соответствует значению атрибута userId . Однако в таких сценариях, как повторное получение и преобразование рабочей роли, сотрудник в SuccessFactors может иметь две записи о занятости, один активный и один неактивный. В таких сценариях, чтобы обеспечить обновление активного профиля пользователя для обратной записи, обновите конфигурацию приложений для подготовки SuccessFactors, как описано. Эта конфигурация гарантирует, что идентификатор пользователя всегда присутствует в наборе изменений, видимом соединителю, и используется в вызове API SuccessFactors.
- Откройте приложение подготовки пользователей SuccessFactors к Microsoft Entra или SuccessFactors в локальном приложении подготовки пользователей AD.
- Убедитесь, что
extensionAttribute[1-15]
в идентификаторе Microsoft Entra всегда хранитсяuserId
активная запись о занятости каждого работника. Запись сопоставляет атрибут SuccessFactorsuserId
сextensionAttribute[1-15]
идентификатором Microsoft Entra. - Инструкции по параметрам JSONPath см. в разделе "Обработка рабочих преобразований и повторного подбора рабочих элементов ", чтобы убедиться, что значение userId активной записи о занятости передается в идентификатор Microsoft Entra.
- Сохраните сопоставление.
- Запустите задание подготовки, чтобы убедиться, что значения userId будут передаваться в идентификатор Microsoft Entra.
Примечание.
Если вы используете SuccessFactors для локальной подготовки пользователей Active Directory, настройте Microsoft Entra Connect для синхронизации значения атрибута userId из локальной службы Active Directory с идентификатором Microsoft Entra.
- Откройте приложение SuccessFactors Writeback на портале Azure.
- Сопоставляйте требуемое расширениеAttribute , содержащее значение userId с атрибутом SuccessFactors userId .
- Сохраните сопоставление.
- Перейдите к сопоставлению атрибутов —> расширенная> проверка схемы , чтобы открыть редактор схем JSON.
- Скачайте копию схемы в виде резервной копии.
- В редакторе схем нажмите клавиши CTRL-F и найдите узел JSON, содержащий сопоставление userId, где он сопоставлен с исходным атрибутом Microsoft Entra.
- Обновите атрибут flowBehavior от FlowWhenChanged до FlowAlways, как показано ниже.
- Сохраните сопоставление и протестируйте сценарий обратной записи с помощью подготовки по запросу.
Неподдерживаемые сценарии с обратной записью номера телефона и электронного адреса
- При введении в должность личный электронный адрес и личный телефон сотрудника устанавливаются в качестве основных в Employee Central. Приложение обратной записи не может переключить этот параметр и задать бизнес-электронную почту и бизнес-телефон в качестве основного.
- Рабочий телефон установлен как основной в Employee Central. Приложение обратной записи не может изменить это и задать мобильный телефон в качестве основного.
- Приложение обратной записи не может считывать текущие параметры основного флага и использовать те же значения для операции записи. Значения флагов, настроенные в сопоставлении атрибутов, всегда используются.