Abstract: This document describes how SAP SuccessFactors data can be brought into SAP Business Warehouse (BW) system through SAP Data Services as an interface.
Target Audience: BI Analysts, BI-Focused IT and SAP Professionals
Author: Mahendran Natarajan
Company: Cognizant Technology Solutions
Published: May 2018
Contents
- SAP SuccessFactors Overview
- SAP SuccessFactors Recruiting
- Objective
- Functional Design
- SAP SuccessFactors Connection through SAP Data Services
- SAP SuccessFactors Connection Troubleshooting
- SAP SuccessFactors Admin Settings
- Sample Data Load from SAP SuccessFactors to BW
SAP SuccessFactors Overview
SAP SuccessFactors (SF) is one of the cloud application featured by SAP as part of SAAS platform. SAP's SuccessFactors HCM suite includes core HR modules such as Payroll, Global Employee Benefits, Time Off and Record Keeping; Talent Management modules such as Recruiting, Onboarding, Employee Performance Management, Compensation Management, Succession Management, Learning, Workforce Planning and Workforce Analytics and Employee Engagement tools such as Collaboration and Social Media.
SAP SuccessFactors Recruiting
SAP SuccessFactors Recruiting is a new internal/external applicant tracking program which will be used to develop new requisitions, reviewing and rating candidates. The recruiter will work with the system from requisition creation to onboarding. It will allow the recruiter to follow the candidate through all the steps of recruitment process and they will be able to see what has been done and when each step is completed.
SAP SuccessFactors pre-delivers several standard reports for clients to meet their reporting needs. As part of standard tables, we have “adhoc_recruitingv2” is for Recruitment domain. It is a report schema that provides the details about all Recruiting data.
There are set of process will be involved in Recruiting procedure in SuccessFactors system. Below are the high level process summary that gives an idea of recruiting process in SF.
•
Requisition Creation and Posting: Hiring Manager initiates the Job Requisition creation process for vacant positions.
•
Active Talent Search: Requisition Creation and Publication by recruiter.
•
Application Management: Interested candidates (Internal/External) will start posting application against the job posting. Internal candidate application is processed through Job Bidding system.
•
Candidate Selection: Received Applications will be processed and shortlisted through various selection criteria/steps (Screening/Interviews/Assessments, etc...)
•
Closing: Identify applicable hiring process/policies and negotiation ranges to make an offer to the selected candidate. HR Administrator then initiates (optional) background check (with third party service provider) and creates offer.
•
Onboarding: Once, Offer is created onboarding process will start.
Objective
The main objective of this document is to explain how to extract the E-Recruitment data from SAP SuccessFactors and integrate with ECC-HCM in the analytical space and caters the same for the benefit of talent management team to effectively govern the recruitment life cycle process.
Functional Design
E-Recruitment information will be extracted from SAP SuccessFactors which is a cloud based SAP HCM Application into BW through SAP Data Services using SFAPI Adapter. All the information will be maintained at EDW Layer and further integrating different granularity of information (Requisition, Application and Candidate) as per the Business requirement at Transformation layer.
These information can be delivered to business through SAP Business Objects reports.
Below screenshot will explain the high level data flow of proposed architecture:
SAP SuccessFactors Connection through SAP Data Services
This section explains configuration steps required to connect SAP SuccessFactors from SAP Data Services 4.2 SP3 via SF API. We will leverage pre-packaged SuccessFactors adapter for this purpose. This adapter enables a direct connection to the SFAPI entities and allows data extraction. SAP Data Services uses the SAP SuccessFactors Query Language Specification to push down operations to source or target database.
Please identify which Cloud instance of SAP SuccessFactors you will use. It can be done via this URL:
https://sfapitoolsflms.hana.ondemand.com/SFIntegration/sfapitools.jsp
Please validate with the above URL that you are able to open the connection from the SAP Data Services Job Server. To achieve this you need to ask SuccessFactors administrator the following things:
- An API user with proper authorization and password
- Company ID
- Setup the data services IP address into the whitelist of SuccessFactors
- SAP Data Services Server Configuration
In the SAP Data Services Service Manager, make sure the “Support adapter and message broker communication” is enabled. This option can be found in the "Job Server Properties" window.
- SAP Data Services Adapter configuration
SAP Data Services platform offer predefined adapters that serve as a connection between data sources. One of these sources is SuccessFactors adapter available with SAP Data Services 4.2 SP3. This adapter connects to the SuccessFactors API (SFAPI) entities that contain the data.
The following image shows the job server with the established adapter for SuccessFactors:
As, SAP Data Services is running in your internal network, please pay attention to the proxy definition by adding the following parameters in the adapter web interface setup:
Parameters to be added:
-Dhttps.proxyHost=<proxy> -Dhttps.proxyPort=<8080>
- SAP Data Services Designer – Datastore Creation
Datastores are used to setup connection between an application and the database. Datastore allows an application/software to read or write metadata from an application or database and to write to a database or application.
There will be lot of options in Datastore type we need to select
Adapter and provide corresponding details in the following drop-downs. In, Adapter Options provide the corresponding Web service end point/Cloud Instance of SuccessFactors to be used, Company ID, Username & Password.
If, you face any issue while creating the Datastore like SSL certificates were not setup error as shown below. Make sure you download the required certificates for SF link using Chrome browser in the client network where you are going to design the job and place them in corresponding path.
Download certificates as base 64 X.509 format and place under
C:\Program Files (x86)\SAP BusinessObjects\Data Services\ssl\trusted_certs in SAP Data Services server.
- Certificate import commands – To be executed by SAP Data Services Administrator
keytool -importcert -alias sf_bodsdev -file /bosap/dataservices/ssl/trusted_certs/
sfsf_api.crt -keystore jssecacerts
keytool -importcert -alias successf_root -file /bosap/dataservices/ssl/trusted_certs/
DS_Root_CA_WSVDIPROSWA400_cert.cer -keystore jssecacerts
keytool -importcert -alias successf_CA -file /bosap/dataservices/ssl/trusted_certs/
DS_IntermediateCA_WSVDIPROSWA400_cert.cer -keystore jssecacerts
SAP SuccessFactors Connection Troubleshooting
To overcome 403 Forbidden error (shown in below screenshot), we have to download the below certificates of SF using Chrome browser outside client network. These certificates are visible only when accessing SF from outside client network.
- The root certificate is ‘VeriSignClass3PublicPrimaryCertificationAuthority-G5’
- The child certificate is ‘SymantecClass3SecureServerCA-G4’
- The grandchild certificate is ‘*.sapsf.com’
1) Place all the three certificates in SAP Data Services prepackaged SSL folder:
/bosap/dataservices/ssl/trusted_certs/
2) Locate JSSE Keystore:
jssecacerts and
sslks.key file
3) Print contents of sslks.key and copy it to a notepad. Keytool will prompt for the key when you are importing certificates
4) Import these 3 certificates into JSSE Keystore by following below mentioned steps:
- Open a Dos command and Type set JAVA_HOME=%LINK_DIR%\extand press Enter.
- Type set path=%LINK_DIR%\ext\jre\bin;%path%and press Enter.
- Type cd %link_dir%\ssl\trusted_certsand press Enter.
- Type notepad sslks.keyto view the keystore password.
- Type keytool -import -alias verisign_class3g5 -file “need full path to VeriSignClass3PublicPrimaryCertificationAuthority-G5.crt” -keystore jssecacertsand press Enter.
When ask ‘Enter keystore password:’, copy the password in step (d).
When ask ‘Trust this certificate? [no]:’, type yes
- Type keytool -import -alias symantec_g4 -file “need full path to SymantecClass3SecureServerCA-G4.crt” -keystore jssecacertsand press Enter.
When ask ‘Enter keystore password:’, copy the password in step (d).
When ask ‘Trust this certificate? [no]:’, type yes
- Typekeytool -import -alias sapsf_com -file “need full path to sap.sapsf.com.crt” -keystore jssecacerts and press Enter.
When ask ‘Enter keystore password:’, copy the password in step (d).
When ask ‘Trust this certificate? [no]:’, type yes
5) Restart SAP Data Services Job Server.
SAP SuccessFactors Admin Settings
Setup the SAP Data Services IP address into the whitelist of SuccessFactors as mentioned below:
- Goto Admin Center
- Tools Search type “Password & Login Policy Settings”
- Select Set API login Exceptions
- Add the range of IP’s which appears while configuring SAP Data Services SuccessFactors adapter in Datastore.
Sample Data Load from SAP SuccessFactors to BW
Once, all the issues has been sorted out data flows can be created in SAP Data Services Designer by importing the standard table (adhoc_recruitingv2) as a Source and select the columns required as an input and map it to the target (Data Sources) in BW. Data Sources needs to be created with the required fields in BW and import them in SAP Data Services Designer by creating a data store that act as a BW target. Data type conversions can be handled at Query transform layer if required.
The following image shows the sample job created to extract data from SAP SuccessFactors to SAP BW:
Conclusion
With this, i conclude that we can extract SAP SuccessFactors data into SAP BW system through SAP Data Services by following the above steps mentioned and by sorting out any connection issues.