Posted by Michael White, SR Technology Lead
With many customers migrating from an SAP on premise solution to an SAP and SuccessFactors talent hybrid solution we get a large number of questions around integration. SAP delivers an add-on that helps automate much of the data transfer between the two systems but it is only a framework for integration. There is still quite a bit of configuration and development required to send data back and forth between the two environments.
The add-on tool already has the output formats and web service definitions included as part of the delivered package. You do not need to hunt down the WSDL file to connect to SuccessFactors, nor do you need to worry about file formatting for a flat file integration. SAP delivers standard extractor programs to generate the expected SF file format or to call the correct web service via PI. Likewise, SAP has provided a number of standard BADI implementations and field definitions that map many of the SAP infotype fields to the corresponding SF fields most commonly associated with them. All of this together means that you can focus solely on what fields you want to transfer and what data should be sent in those fields without worrying about the medium of transport or the formatting of the file layout.
Almost any non-delivered SAP to SF field mapping requires Enhancement/BADI development and conversion of any date, number, or time zone type fields to the expected value in SuccessFactors. For the most part this just means setting a filter value and adjusting a method of the BADI to return the correct data in SF expected format. However, there are a number of files that are not delivered to send additional information over that you must build as a new interface program. These include the Extended Employee Information file, Employee Background information such as Work History, Job History, Education History, etc. and the Job architecture file for Job Functions/Families and the Jobs they contain. These will most likely be included in future releases of the SuccessFactors add-on, but until then they must be completely developed from scratch.
There are several gaps in the delivered functionality that are slowly being addressed by SAP as new releases of the add-on are made available. These include the following in no particular order.
- Additional fields on the Compensation web service call require an enhancement to be done in PI for the compensation data structure. This then requires that you regenerate the proxy in SAP to import the new fields and only after that can you create the BADI to fill the data and map those fields in the interface field set configuration.
- The recruiting interface logic for creating infotype 1107 from infotype 1007 changes relies on exact start and end date matches for the two records to change an existing 1107 record. This means that just changing the start of the vacancy does not necessarily generate a change to the requisition in SuccessFactors and can cause inconsistency in which positions are sent over to be recruited.
- The Originator field is locked down via the BADI filters to just the implementation that SAP delivers. Since this field defines who owns the requisition when it is sent over to SuccessFactors, this can cause problems getting the correct person access to that requisition. To change the originator, you must create an enhancement to the standard BADI method if you want to overwrite the standard value.
- Defaulting some of the fields for the new hire needs to be done conditionally, but the standard mapping only allows a set of static fields to be mapped to infotypes. This means you need to use a customer exit or enhancement to default any conditional fields for an Onboarding new hire and read the data from the staging table in that code.
- Multiple positions on a single requisition must be handled manually using the standard process. The hiring person must create the new position first and plug that position ID into the new hire. We have built solutions to automate this position copy as an enhancement for some of our customers.
- The integration for sending a requisition to SuccessFactors requires that each field being sent have its own BADI created with a single method for retrieving the data. Creating a brand new BADI for each field of the interface can be time consuming and burdensome depending on how much data you are interfacing.
In summary, SAP has done a good job of building a framework for pushing data from SAP to SuccessFactors and for pulling information back into SAP that can be tailored to your requirements. However, it still requires quite a bit of ABAP development work using BADIs and Enhancements in order to fully integrate the two systems. We can already see where SAP is working to make the integration more seamless. Most recently with the release of add-on 3.0 which includes updated onboarding integration for recruiting. Over time it has the potential to become a full integration toolkit encompassing all the files for each of the SF modules, but until then it must rely on ABAP developers to mold it to meet your requirements.