Summary

Application ID

SCPIINT14
MFTINT-43
Artefact(s)
  • Value Mapping(s)
    • ZHR_GDU_SF_TO_SOLWEB
      • VM_Time_Type_Solweb
      • Exception_Users
  • Integration Flow(s)
    • ZHR_GDU_SF_TO_SOLWEB  
      • ZHR_GDU_SF_TO_MAILJET_SCO
      • Send Employees from SuccessFactors to Syensqo Website

LeanIX Fact Sheet(s)
Service Pool / ProcessHR Data
Software Factory
Avg no of transactions per day50k
FrequencyDaily 07:00 PM CET
Daily 4:00 AM CET
Source System SAP SuccessFactors Employee Central 
Source ProtocolOData
Source Authentication mechanismBasic Authentication
Target System
  • Mailjet
  • Syensqo Website
Target protocolSFTP
Target Authentication mechanismBasic Authentication

Tech Pool Lead

Internal Tech Contact/Service Owner

Description of Interface

Extracting the Active and Inactive data of employees.

Document type (PO, SO, Sales/Vendor, invoice,Shipment, Bank Statement, Customs invoice, etc)

Employee details (both active and inactive employees)

Transformation rules followed in this flow?

NA

File drop method (Pull,Drop)

Drop


Integration Flow

Source System

Production

Pre Production

Syensqo Website Target

ZHR_GDU_SF_TO_SOLWEB_Confluence_PO2

Address: https://api2.successfactors.eu

Address: mftisprod:22

Address: mftispreprod:22

googlebucket: gudsis-confluence

Send Employees from SuccessFactors to Syensqo Website

Address: https://api2.successfactors.eu

Address: mftisprod:22

Address: mftispreprod:22

Googlebucket:

gudsis_file_upload

ZHR_GDU_SF_TO_SOLWEB_MailJet_PO2

Address: https://api2.successfactors.eu

Address: mftisprod:22

Address: mftispreprod:22

Googlebucket:

gudsisexport-cas-solvay-prod

Information

Requirement is to implement an integration flow which will retrieve relevant EC data Information from the Employee Central (SuccessFactors) system using SAP Cloud Platform middleware, transformed into the required format of the Target system to MFT folders from which it will be sent to Solweb Application.

                Employee Central (Success Factors) >> SCPI >> MFT >> Solweb

.csv file is generated daily of size nearly 50k and contains of both active and inactive employees data.

Functional Specification

The following user details will be updated:

Fields

Values

USER


FirstName


lastname


displayname


email


Entitycode


Entitytext


Entitygroupcode


Entitygrouptext


SiteCode


SiteText


Countrycode


Countrytext


Userstatus


Usertype


companycode


orgunit


orgunitcode


INTRANETSERVICE


FUNCTIONALAREAID


FUNCTIONALAREANAME


JOBFAMILYID


JOBFAMILYNAME


JVNOONE


LEADERSLIVE


SAPUSERTYPE


CADRE


IT_ACCESS


Technical Analysis

The interface works as a job, running periodically. At the end of the execution a CSV format data will be sent to the Syensqo Website.

Technical Specification

Send Employees from SuccessFactors to Syensqo Website

Start On Schedule (Timer Start)

Configurations to the execution periodicity are made here. This Interface runs daily Once on time in CET TimeZone.

Set Message Properties (Content Modifier)

Headers
HeaderPurpose
SAP_SenderFor Monitoring
SAP_ReceiverFor Monitoring
SAP_MessageType

For Monitoring

Exchange Properties
PropertyPurpose
ExcludedBusinessUnitsUsed to exclude business units in SuccessFactors Query
IncludedEmailsFromExcludedBusinessUnitsUsed to include users with provided email addresses from excluded business units in SuccessFactors Query

Escape URL Parameters (Groovy Script)

This Groovy Script escapes the exchange properties used in SuccessFactors URL. This is needed to overcome limitation of SuccessFactors Adapter that the Adapter fails to escape ampersand (&) character.

Query Users (Request Reply with SuccessFactors Adapter)

Please note, Connection Details will be maintained centrally on SuccessFactors page.

TabSectionParameterValue
ProcessingProcessing DetailsOperation DetailsQuery (GET)
ProcessingProcessing DetailsResource PathUser
ProcessingProcessing DetailsQuery Options

$select=country,custom06,email,firstName,lastName,teamMembersSize,username,empInfo/isContingentWorker,empInfo/jobInfoNav/businessUnit,empInfo/jobInfoNav/customString4,empInfo/jobInfoNav/emplStatus,empInfo/jobInfoNav/businessUnitNav/externalCode,empInfo/jobInfoNav/businessUnitNav/name,empInfo/jobInfoNav/companyNav/externalCode,empInfo/jobInfoNav/companyNav/name,empInfo/jobInfoNav/customString5Nav/externalCode,empInfo/jobInfoNav/departmentNav/externalCode,empInfo/jobInfoNav/departmentNav/name,empInfo/jobInfoNav/divisionNav/externalCode,empInfo/jobInfoNav/divisionNav/name,empInfo/jobInfoNav/emplStatusNav/localeLabel,empInfo/jobInfoNav/jobCodeNav/externalCode,empInfo/jobInfoNav/jobCodeNav/name,empInfo/jobInfoNav/jobCodeNav/name_en_US,empInfo/jobInfoNav/locationNav/externalCode,empInfo/jobInfoNav/locationNav/name,empInfo/jobInfoNav/locationNav/locationGroupFlxNav/externalCode,empInfo/jobInfoNav/locationNav/locationGroupFlxNav/name,userIdOfEmployeeTimeNav/approvalStatus,userIdOfEmployeeTimeNav/loaActualReturnDate,userIdOfEmployeeTimeNav/startDate,userIdOfEmployeeTimeNav/timeType&$expand=empInfo,empInfo/jobInfoNav,empInfo/jobInfoNav/businessUnitNav,empInfo/jobInfoNav/companyNav,empInfo/jobInfoNav/customString5Nav,empInfo/jobInfoNav/departmentNav,empInfo/jobInfoNav/divisionNav,empInfo/jobInfoNav/emplStatusNav,empInfo/jobInfoNav/jobCodeNav,empInfo/jobInfoNav/locationNav,empInfo/jobInfoNav/locationNav/locationGroupFlxNav,userIdOfEmployeeTimeNav&
$filter=username ne empInfo/userId and empInfo/jobInfoNav/customString7 in 'S','TSAS' and ( not ( empInfo/jobInfoNav/businessUnit in ${property.ExcludedBusinessUnits} ) or email in ${property.IncludedEmailsFromExcludedBusinessUnits} ) and ( ( status eq 'active' and empInfo/customString2 eq '33959' ) or ( status eq 'inactive' and empInfo/assignmentClass ne 'GA' ) )&
$orderby=status

ProcessingProcessing DetailsCustom Query Options
ProcessingProcessing DetailsPaginationServer Snapshot-Based
ProcessingProcessing DetailsPage Size
ProcessingProcessing DetailsRetry on Failure
ProcessingProcessing DetailsProcess in Pages
ProcessingProcessing DetailsTimeout (in min)1
ProcessingHeader DetailsRequest Headers
ProcessingHeader DetailsResponse Headers

Map (Message Mapping)

Convert to CSV (XML To CSV Converter)

End (End Message with SFTP Adapter)

SFTP Adapter is used to put the file in webMethods MFT.

TabSectionParameterValue












2.PackageName: ZHR_GDU_SF_TO_SOLWEB

ArtifactName: ZHR_GDU_SF_TO_SOLWEB_PO2_Syensqo

This Integration is designed to update the Active and Inactive EC users into the SOLWEB.

Start Timer 1

Configurations to the execution periodicity are made here. This Interface runs daily Once on time in CET TimeZone.

Request-Reply with SuccessFactors Adapter:

To get the EC data and filter out the Active users in EC.

Message Mapping 1

The Message Mapping is used to map two different structures and getting the output in desired format.  Here, we’re doing one to one mapping with our target data structure. Comparing the EC data with SOLWEB data.

Added new mapping expression for Intranet service to differentiate users with syensqo, solvay and solvay-zout.

Message Mapping for IT Access Checking

XML to CSV Converter

Converting the xml payload into the csv format by giving the xpath and separating them by Semicolon.

Message Mapping 2

One to One Mapping of required fields.

Message Mapping for IT Access Checking:

XML to CSV Converter

Converting the xml payload into the csv format by giving the xpath and separating them by Semicolon.

Parallel Multicast

To send message to multiple routes simultaneously.

By using parallel Multicast, we’re sending the data to the SOLWEB Application directory.

Reference Documents