Trying SAP Integration add-on for SAP HCM and SFSF interface using SAP PI was great learning for us, being so new in the market implementation had its own challenges which were well reinforced by SAP. One of the ideas was to understand nitty-gritty of the integration between SFSF and SAP HCM. My blog is to complement Harish Sreedher’s blog with SAP PI setup to provide complete picture of the solution.
Interface solution overview
Above figure depicts the integration aspect of this solution. All calls are synchronous in nature with SAP HCM being source. HCM and PI systems are connected through proxy implemented in integration add-on provided by SAP. SAP PI and SFSF integrated through SOAP (axis) adapter.
Important points to consider for environment setup
- Opening firewall unidirectional port 443 from SAP PI to SFSF
- SFSF is service based and HCM system is always a consumer of the service for both data update to SFSF as well as compensation data retrieval from SFSF. In the figure data upload to SFSF marked in blue and data retrieval marked in orange
- Being HTTPs call this would need server certificate installation on java stack and same needs to be configured in SOAP channel
- Proxy Server configuration required depending on environment
- Good to have “XPI Inspector” installed on SAP PI system to resolve any connection issue
SAP PI Environment used in this scenario
SAP NetWeaver 7.3 Dual Stack
Download “SFIHCM01 600” from marketplace and import to ESR, this pre-delivered package contains all required ESR objects for “Compensation Planning Process”
Configure standard ID objects with HCM (Business System) as source and SFSF (Business Component) as target. A single communication channel can be used for all SFSF calls. Configuration details provided below.
dcreq handler.type java:com.sap.aii.axis.xi.XI30DynamicConfigurationHandler
dcreq key.b write http://sap.com/xi/System/HTTP Cookie
dcreq location.b header
dcreq value.b Cookie
rem handler.type java:com.sap.aii.axis.soap.HeaderRemovalHandler
rem namespace http://sap.com/xi/XI/Message/30
trp handler.type java:com.sap.aii.adapter.axis.ra.transport.http.HTTPSender
trp http.proxyHost XXXX
trp http.proxyPort XXXX
trp module.pivot true
xireq handler.type java:com.sap.aii.axis.xi.XI30OutboundHandler
xires handler.type java:com.sap.aii.axis.xi.XI30OutboundHandler
Each call from HCM starts with login request and ends with logout request. This implies for each business transaction it makes three calls to SFSF. We tested with low volume scenario which worked fine, need to see how it would perform in high volume/multi user scenario.