In the SAP ERP HCM talent-hybrid model, the on-boarding process for an employee is done in the SuccessFactors HCM Suite and the hiring of the same employee is done in SAP ERP HCM. Data extraction and transfer of on-boarded employees from the SuccessFactors Onboarding module to SAP ERP HCM can be successfully implemented using the integration add-on 3.0 for SAP ERP HCM and SuccessFactors HCM Suite Support Package 4 (SP 4). This software contains the functionality to integrate the processes of the SAP ERP HCM solutions with the SuccessFactors HCM Suite. This add-on is a key element that you need to install to implement and configure the standard solution for the SAP HCM talent-hybrid deployment model.
Once the integration between the SuccessFactors HCM Suite and SAP ERP HCM is complete, companies can automatically extract and transfer on-boarded employee data from SuccessFactors Onboarding into the SAP ERP HCM system. They subsequently can perform personnel actions (e.g., for hiring, change in position, and transfers) based on the requirement. Companies can then transfer on-boarded employee data securely, avoiding a manual upload process. In addition, the SAP ERP HCM infotype data fields are defaulted based on the data from Onboarding when personnel actions are triggered for the record.
In this article, we focus on the integration scenarios delivered in the integration add-on 3.0, SP 4, for extracting and transferring on-boarded employee data from SuccessFactors Onboarding to SAP ERP HCM to perform personnel actions. We cover the details for consistently and efficiently pulling the on-boarded employee data from the SuccessFactors HCM suite after completing the Onboarding processes.
Transferring On-Boarded Employee Data from SuccessFactors into SAP ERP HCM
In this example scenario, the new candidate completes the Onboarding process in SuccessFactors Onboarding. All the personal, bank details, and other tax-related information that is captured in SuccessFactors Onboarding needs to be transferred to the SAP ERP HCM system. This transfer of data is achieved by implementing the standard interface that is released as part of the integration add-on 3.0 SP 4 for SAP ERP HCM and the SuccessFactors HCM Suite.
Data transferred from SuccessFactors Onboarding into SAP ERP HCM is initially stored in a staging table in SAP ERP HCM. Then the HR administrators can process the imported data to create SAP ERP HCM infotypes by executing the appropriate personnel actions.
In our business case example, MediaTech (a fictitious company), has implemented SAP ERP HCM with a talent-hybrid model. To see what happened, read on.
Business Case Overview
MediaTech is expanding and is hiring. A candidate is offered a sales representative job in the sales department. The candidate completes the on-boarding process as defined by MediaTech in its SuccessFactors Onboarding system. The on-boarding process captures the personal, bank, address, emergency contact, and tax-related information of the employee.
On the hiring date, the HR administrator needs to perform a hiring action in the SAP ERP HCM system to capture the details and create a personnel number in the system. Since most of the data is already captured during the on-boarding process in SuccessFactors Onboarding, the same information needs to be transferred to the SAP ERP HCM system. Therefore, the MediaTech IT department implements an SAP standard interface to transfer the candidate data from SuccessFactors Onboarding to SAP ERP HCM (Figure 1).
The SuccessFactors Onboarding and SAP ERP HCM integration scenario
The Integration Process
The candidate data transfer process from SuccessFactors Onboarding to SAP ERP HCM is depicted in Figure 2. This figure also shows the further processing of data to hire the candidate as an employee in SAP ERP HCM system.
The process for transferring Onboarding data into SAP ERP HCM from SuccessFactors
In this scenario, we show how to use SAP Process Integration (SAP PI, formerly called SAP NetWeaver PI) as the middleware for the interface. This integration scenario has two parts. The first step is to extract the required data from SuccessFactors Onboarding and to store it in a staging table in the SAP ERP HCM system. The second step is to process the transferred data to hire the candidate as an employee.
Table 1 shows the minimum system requirements and prerequisites.
System requirements for transferring candidate data from SuccessFactors Onboarding to SAP ERP HCM
High-Level Implementation Steps
To integrate the onboarding process, you need to complete the following steps:
- Check to make sure the minimum system requirements are installed, as outlined in Table 1.
- Make the required provisioning settings in the SuccessFactors HCM suite to enable the Onboarding system settings.
- Configure the SuccessFactors Onboarding system based on the requirements. (This is part of SuccessFactors configuration and is not discussed in this article.)
- Define the Application Programming Interface (API) user in the SuccessFactors HCM Suite and provide proper access rights for this user. (This is part of SuccessFactors configuration and is not discussed here).
- Implement the adapter settings in SAP PI to connect between the SAP ERP HCM system and the receiver determination for the SuccessFactors HCM Suite. There are two communication channels with SuccessFactors. One is a communication channel using the OData protocol and the other uses Simple Object Access Protocol (SOAP). We explain more details about these settings later in this article in the “Middleware Configuration and Deployment” section.
- Derive the Onboarding Data Dictionary (DDIC) XML from SuccessFactors Onboarding. (We provide more details about this step later in this article.)
- Store the user access credentials for SuccessFactors Onboarding in the SAP ERP HCM system.
- Implement the configuration steps in the SAP IMG, where all the field mappings and data derivations are defined. (We explain these configuration steps in more detail later in this article.)
- Schedule the data transfer (e.g., the ABAP program) to pull the data from SuccessFactors Onboarding into SAP ERP HCM (if required), or the program can be executed on an ad-hoc basis.
10. Execute transaction code HRSFI_ONB_HIRE to process the on-boarded applications to hire the candidates as employees.
Configuration Setup in SuccessFactors
In this section, we explain the configuration steps that you need to complete to implement the interface
Identify the User ID Credentials Required to Be Stored in ECC for Integration
You need to identify the userid and password used in SAP ERP HCM for the interface to work with your login credentials. Log on to the Provisioning account and select the company instance. In the screen that opens (Figure 3), click the Company Settings link.
Open PROVISIONING and go to Company Settings
Then navigate to the Onboarding/Offboarding settings screen (Figure 4). Note the Account ID (company ID), Username, and Password for KMS Web Services credentials. Usually, the username and password for KMS Web Services credentials and KMS Rest Web Services credentials are same. You use these noted values in the SAP IMG configuration steps, explained later in this article.
Note the storage credentials
Download the DDIC (Data Dictionary) XML
You need to mark the candidate fields that are expected to be transferred from SuccessFactors Onboarding into SAP ERP HCM. To complete this step, log in to the Onboarding instance as the administrative user. (You should be able to get the details for this from your SuccessFactors Onboarding consultant). After logging on, go to Settings and then Data Dictionary, as shown in Figure 5. In the screen that opens on the left, expand the Integrations folder and then double-click the SAPHCM-Onboarding folder. This action opens the screen shown in Figure 5.
Prepare the DDIC XML
To create the DDIC (Data Dictionary) XML, click the Fields folder highlighted in Figure 6.
Select the fields for integration
In the pop-up screen that appears in Figure 6, select the required fields from the Available Fields column. Then click the double-arrow (>>) icon to move the fields to be integrated to the right to the Fields attached to the Tag column. In this case, I select Address3 and Address4. After you make your selections, close the window by clicking the Close button and then click the Export button at the top of the screen. This action opens the pop-up screen in Figure 7 in which you export the Data Dictionary XML.
Export and download the DataDictionary.xml file
The pop-up screen displays the Namespace and Tag that you selected in the previous screen (Figure 6). After you click the Export button, the pop-up screen refreshes with the following message: Your file is ready for download: DataDictionary.xml (Figure 7). Double-click the DataDictionary.xml link to download the Data Dictionary XML to your desktop.
Configuration Setup in SAP ERP HCM
Now we explain a few configuration activities in more detail. Implement the following configuration steps in the SAP IMG: Personnel Management > Integration Add-On for SAP ERP HCM and SuccessFactors BizX > Integration Scenario for Onboarding Data > Basic Settings. In this section we explain the activities to be performed in each configuration node.
The standard role SAP_HR_SFI_ONBOARDING_2 is delivered. Copy the role, create a custom role, and create appropriate profiles as required. Assign the role to the users who are responsible for transferring Onboarding data from SuccessFactors Onboarding to SAP ERP HCM, and vice versa. You need to make sure that you create the required profiles and assign authorized users to the role.
Business Add-In (BAdI): Authorization Check for SuccessFactors Integration
This BAdI is used to implement custom logic for authorizations to display applicants after they are imported to SAP ERP HCM. Based on the field values in SuccessFactors Onboarding, you can implement custom logic so that users only see applicants that they are authorized to see.
You can also assign super-user authorization to users to delete entries from the list of imported data in the application. This way, the imported new hire data from SuccessFactors Onboarding (transaction code HRSFI_ONB_HIRE) can be processed further.
(Note: For your custom implementation, maintain the value HRSFI_ONB as filter parameter HRSFI_SCENARIO.)
Import Metadata from SuccessFactors Onboarding
In this configuration step, you run a report to import the Data Dictionary from SuccessFactors Onboarding into SAP ERP HCM. Before taking this step, make sure the Data Dictionary is downloaded from SuccessFactors Onboarding. (For more information about how to download the Data Dictionary, refer to the Data Dictionary XML file you downloaded previously.)
In the screen in Figure 8, make the following entries:
- Onboarding DDIC XML File: Enter the path to the DDIC file that you have downloaded from SuccessFactors Onboarding.
- Object ID: Specify any ID that identifies the Data Dictionary in SAP ERP HCM.
- Object Name: Enter any description of the object ID.
Import metadata from SuccessFactors Onboarding
Store Credentials for Transferring On-Boarding Data to Secure Storage
In this IMG activity you store the credentials for connecting to the SuccessFactors Onboarding API. (Refer to the “Identify the User ID Credentials Required for Integration” section for information about how to get the credentials to be stored.)
Map SuccessFactors HCM Suite Fields and SAP ERP HCM Fields
This step is required to map fields that are defined in the SuccessFactors Data Dictionary to the SAP ERP HCM infotype fields. To map the fields, follow IMG menu path Integration Add-On for SAP ERP HCM and SuccessFactors BizX > Integration Scenario for Onboarding Data > Basic Settings > Map SuccessFactors HCM Suite Fields and SAP ERP HCM Fields. This path takes you to the screen shown in Figure 9.
Create a field set
Click the New Entries button and in the screen that opens at the bottom, enter the data for your field set in the Field Set and Description fields. In the field under the SFSF Object ID column, select the Object ID using search help that is created in Figure 8.
In the next step, select the new field set from the list (displayed in the screen in Figure 9, but not shown in this screen print) and double-click the Fields and Mapping Modes folder on the left. A mapping screen appears on the right as shown in Figure 10. Click the New Entries button again to add fields from SuccessFactors Onboarding to the Fields and Mapping Modes section at the bottom.
The field-mapping field definitions
In the screen in Figure 10, enter the details for each field as follows:
- SFSF Field ID column: Enter the field name from SuccessFactors Onboarding. A value help (F4) is also provided for this column.
- Mapping Mode column: Here you define how this SuccessFactors Onboarding field is mapped to an SAP ERP HCM field. If the field value from SuccessFactors Onboarding doesn’t need any manipulation to be stored into the SAP ERP HCM infotype table, you select the Mapping Mode as Mapped via Table. If there a manipulation needed, then you select Mapping Mode as Mapped via BAdI.
- Ctry Dep. (country dependent) check box: If the field from SuccessFactors Onboarding needs to be mapped to different infotypes based on the country grouping, then select this check box.
- Required check box: Check this box if this field is mandatory for your import. During run time, if the field is not passed, the system reports an error for such applicants.
- No Update column: This field doesn’t have any impact during import of applicant data from SuccessFactors Onboarding to SAP ERP HCM. For the current scenario, you can ignore this column.
After you make your desired entries, click the save icon (not shown) to save the new mapping configuration.
For the fields that are mapped via a table, there is a second level of configuration required. Select one field at a time and click the Mapping to Infotype Fields folder (marked with 2 in Figure 10), which opens the screen in Figure 11. (Note that in the example shown in Figure 10, DateOfBirth is mapped via BAdI because the date format from SuccessFactors Onboarding could be different from that of SAP ERP HCM.)
Map to infotype fields via tables
In the figure, you can map a SuccessFactors Onboarding field to the desired infotype field. Value help (F4) is provided for infotype, subtype, and field name. If you have multiple records for one infotype, you can specify the record number (e.g., IT record no.) that is also in the infotype record number field.
After you make your entries in Figure 11, click the save icon to save the new mapping configuration. Follow these same steps for all the fields that are mapped via tables.
Assign SuccessFactors HCM Suite Objects to Field Sets
The next step is to assign the field set (created in Figure 9) to the object ID (created in Figure 8) in the IMG node.
BAdI: Mapping of SuccessFactors Fields to SAP ERP Infotype Fields
This BAdI is used to create implementation for fields that are mapped using the BAdI in Figure 10. (For more details on this and the other BAdIs discussed here, please refer to the “Important ABAP Developments” section later in this article.)
BAdI: Change of Mapping Result
This BAdI is used to map one SuccessFactors Onboarding field to multiple infotype fields on the SAP ERP HCM side.
BAdI: Determination of Further Data for Onboarding from SuccessFactors
This BAdI implementation is required to display the applicants’ basic details, such as first name, last name, date of birth, and country. There is a standard implementation, HRSFI_ONB_USR_DET_FROM_SFSF, provided by SAP to do this. If this implementation doesn’t meet your requirement (for example, if the field names in your SuccessFactors Onboarding Data Dictionary are different from the field names in the SAP ERP HCM system Dictionary, then you need to create your own implementation.
Additional Configuration Setup in SAP ERP HCM
Some additional configuration steps are found by following IMG menu path SAMP IMG > Personnel Management > Integration Add-On for SAP ERP HCM and SuccessFactors BizX > Integration Scenario for Onboarding Data > Transfer of Employee Data from SuccessFactors Onboarding to SAP ERP HCM. We describe these steps in this section.
Define Additional Display Fields
You can configure additional display fields on the screen for transaction code HRSFI_ONB_HIRE. To complete this step, execute IMG node Define Additional Display Fields, which opens the screen in Figure 12.
Display additional columns
Imported candidates’ data is processed (to hire/re-hire or transfer) via transaction code HRSFI_ONB_HIRE. When you execute transaction code HRSFI_ONB_HIRE, then, by default, certain columns are displayed. These columns contain basic information about the candidate. You can configure additional columns for display in the same way in the screen in Figure 12.
In this example we show how to configure three additional fields, Address1, Email, and CurrentStatus, to be shown on the screen that appears when transaction code HRSFI_ONB_HIRE is executed. As per the example, in Figure 12, maintain three custom columns as Address1, EMail, and CurrentStatus, and then click the execute icon to save them. This makes these three fields visible in transaction code HRSFI_ONB_HIRE. The Parameter Value column should contain the field name from SuccessFactors Onboarding that you want to display.
Define Names of SuccessFactors HCM Suite Fields
To complete this step, execute the IMG node Define Names of SuccessFactors HCM Suite Fields (Figure 13), to provide a header and label for each of the custom columns configured in Figure 12. When you execute transaction code HRSFI_ONB_HIRE, these header values appear as column names in the screen that appears.
Define headers and labels
After the configuration for the additional custom fields is done (as shown in Figures 12 and 13), when you execute transaction code HRSFI_ONB_HIRE, the screen that opens displays the additional columns (Figure 14).
Additional columns displayed in the Process Applications Imported from or Exported to Onboarding screen
Activate Additional Functions
In the IMG activity you can also configure whether a confirmation needs to be sent back to the SuccessFactors HCM Suite from SAP ERP HCM after processing the candidate records in the screen that appears after you execute transaction code HRSFI_ONB_HIRE.
Execute the IMG node Activate Additional Functions. In the screen that appears (Figure 15), set X as the Parameter Value and click the Save button (not shown) to save the record. Based on this setting, once candidates are hired via transaction code HRSFI_ONB_HIRE, two flags in SuccessFactors Onboarding are set as follows:
- The readyToHire flag is set to false.
- The hired flag is set to true.
Activate additional functions
Transaction Codes for Processing Candidate Data
In this section, we provide you with a brief overview of some of the transaction codes to use for processing candidate data.
Import Employee Data from SuccessFactors Onboarding
You use transaction code HRSFI_ONB_DATA_IMP (Import Onboarding Data from SuccessFactors HCM Suite) to import the candidate data from SuccessFactors Onboarding to SAP ERP HCM. To schedule the report, you need to create a variant for the Import Onboarding Data from SuccessFactors HCM Suite report (report RH_SFI_IMPORT_ONBOARDING_DATA). To create this variant, execute transaction code HRSFI_ONB_DATA_IMP. In the screen that opens (Figure 16), enter the object ID that you created earlier (in Figure 8) in the SFSF Object ID field (in this example, object ID onb_testing_sa check). The value of the SFSF Object ID can also be selected using the value help key (F4).
Execute transaction code HRSFI_ONB_DATA_IMP
The Applicant ID field is only used in cases where ad hoc reports are run. When you are scheduling this report, leave the Applicant ID field blank.
The Created in last (days) field is also only used when an ad-hoc report is being run. When you are scheduling this report, leave this field blank.
After you make your entries, click the save icon to create your new variant.
During runtime, this report imports applicant data and maps the fields from SuccessFactors Onboarding to SAP ERP HCM infotypes based on these field-set settings (Figures 9 and 10).
Delete Imported Data from SuccessFactors Onboarding in SAP ERP HCM
In this IMG activity, the Delete Onboarding/Offboarding Data from Staging Area in SAP ERP report (report RH_SFI_DELETE_ONB_APPLICATIONS) is provided to delete the onboarding data that you no longer need in SAP ERP HCM. Alternatively, to delete onboarding/offboarding data, execute transaction code HRSFI_ONB_DEL_APPLS (Figure 17).
Delete data in SAP ERP HCM that was imported from SuccessFactors Onboarding
After importing the applicant data from SuccessFactors Onboarding into SAP ERP HCM, you can perform actions on these imported applicants. This applicant data remains in a staging area and is no longer needed in the SAP ERP HCM system. You can run this report (by making the following entries in Figure 17), to delete any records for which action has already been taken.
In the Select the data to delete section, select the Onboarding check box.
Completed Applications: If you want to create a standard timeline for when old applications should be deleted—after a certain number of days—select the Completed Applications radio button. Then enter how many days old the applications have to be to be deleted (in this example, 365 days, which means that any applications that are a year or older are deleted).
Selected Applications: If you want to delete specific applications, select this radio button and provide the applicant ID for the application to be deleted. You can also specify more than one applicant or range to be deleted.
Selected Personnel Numbers: Once an applicant is hired, a personnel number is assigned to the applicant. You can select applications to be deleted based on the applicant personnel numbers using this radio button. You can also specify more than one personnel number or range to be deleted.
Test Run check box: Using this option, you can run the deletion report as a test, check the results, and then (once back in this screen) uncheck this check box and re-run the report again for real.
Middleware Configuration and Deployment
In this section we discuss how to use SAP PI (Process Integration) as the middleware for this interface. The standard package contains a service interface and message types with implemented logic. I discuss only those parts of SAP PI that are associated with integration with SuccessFactors Onboarding. Companies are expected to configure the integration configuration to connect with the SuccessFactors HCM suite by providing the appropriate credentials.
Here are the service interfaces used for integrating SuccessFactors Onboarding processes:
- SFSFOnboardingGetNewHireRecord_In or SFSFOnboardingGetNewHireRecordByExportId_In: There are two interfaces provided for importing Onboarding data. If you are using SuccessFactors integration add-on 3.0 SP 5 or above, it is recommended to use interface SFSFOnboardingGetNewHireRecordByExportId_In for importing applicant data; if you are using an older release, use interface SFSFOnboardingGetNewHireRecord_In. (To use interface SFSFOnboardingGetNewHireRecordByExportId_In, you need to export the Data Dictionary tag SAPHCM-Onboarding from SuccessFactors Onboarding and upload the same in SAP ERP HCM [Figure 8].)
The SFSFOnboardingUpdateNewHire_In and SFSFOnboardingUpdateNewHire_Out interfaces need to be configured only if you want to send confirmation back to SuccessFactors Onboarding after hiring an applicant in SAP ERP HCM. To activate this feature, refer to Figure 15. SAP recommends that you make these settings because this interface sets the Hired status in the on-boarding candidate InfoObject in SuccessFactors Onboarding.
To configure the SAP PI interface operations, follow these links to the SAP Service Market Place (log on with SAP Service Market credentials required): https://service.sap.com/~sapidb/012002523100004147712015E and https://service.sap.com/~sapidb/012002523100015855432015E. These links lead to configuration examples with SAP PI.
These SAP PI configuration examples explain how to configure the communication channels:
- SFSF_ONB_SOAP_ADAPTER: This communication channel needs to be configured only for Begin Session, Cancel Session, Get New Hire Record, and Delete New Hire Record.
- SFSF_ONB_ODATA_ADAPTER.: This communication channel needs to be configured for Onboarding Candidate Info (SFSFOnboardingCandidateInfo_In).
- SFSF_ONB_ODATA_ADAPTER_MERGE: This communication channel needs to be configured for Update New Hire (SFSFOnboardingUpdateNewHire_In).
SAP provides templates for all these communication channels.
(Note: Make sure that when configuring communication channels, you configure the SuccessFactors API server URL for OData adapter and SuccessFactors Onboarding API endpoint URL for SOAP adapter.)
Important ABAP Developments
Here is a list of the BAdIs provided to support these complex custom requirements, with their details.
- HRSFI_B_FIELD_MAPPING (mapping of SusccessFactors fields to SAP ERP infotype fields): This BAdI is used to write the custom logic to implement field derivation when simple table mapping could not suffice. For example, field mapping for gender. In SuccessFactors Onboarding, the gender code for male is M, and female is F. These need to be converted to 1 and 2, respectively, in SAP ERP HCM. This is achieved by using this BAdI.
- HRSFI_B_CHANGE_MAPPING_RESULT (mapping of SuccessFactors fields to ERP infotype fields change of mapping result): This BAdI is used to further process the results of mapping SuccessFactors fields to SAP ERP fields. For example, this BAdI is used to write custom code to map one field in SuccessFactors to multiple fields in SAP ERP HCM. In SAP ERP HCM the street name and house number are stored in two fields for the country grouping—Germany (01). In SuccessFactors, the street name and house number are contained in one field. This BAdI could be used to split the data from the one SuccessFactors field into the two SAP ERP fields (Street and House Number—STRAS) of the infotype Addresses (0006).
- HRSFI_B_USR_DET_FROM_SFSF_FLDS (determination of user details from SuccessFactors fields): This BAdI is used to derive the country grouping, one or more personnel action types, first name, last name, date of birth, and the hire-from-date data that is transferred from SuccessFactors. When importing data from SuccessFactors, the SAP ERP system runs through the implementation of this BAdI and attempts to determine the chosen information from the transferred SuccessFactors field contents. It then uses this information to map the field contents transferred from SuccessFactors to infotype fields in SAP ERP HCM.
(Note: You should not create multiple BAdI implementations with the same filter values as it creates inconsistencies.)