This blog post is a continuation of part 1 of my blog post on General Ledger posting integration from Successfactors Employee Central Payroll to SAP ERP On-Premise or SAP ERP in Hana Enterprise Cloud. In this blog post we will see how the simulation and live posting integration can be achieved with a middleware like SAP Cloud Platform Integration or SAP Process Orchestration.In this blog post I am going to show how this integration has been achieved using SAP Cloud Platform Integration.
RFC (via VPN) approach gives flexibility to configure which checks and validation can happen locally i.e within Successfactors Employee Central Payroll and other checks, posting can happen in remote system i.e SAP ERP Financials but below options are only to be used if the VPN approach could not be achieved due to whatever reasons.
I will explain two options that can be used to achieve this integration via SAP Cloud Platform Integration:
Option 1: Using Service Group Configuration. This approach will perform posting, checks, get details like accounts, vendor, customer etc from the remote system i.e ERP Financials.
Option 2: Using Custom Program (copy of RPCIPE00) to only perform certain checks in remote system and rest of the master data is fetched or validated locally in Successfactors Employee Central Payroll.
Option 1: Using SAP S/4HANA Cloud for Service Group Conf.
(no customization needed in Successfactors Employee Central Payroll)
This option will need access to a SAP S/4HANA Cloud System just to generate configurations for Service Group.I understand this may not be possible for all customers to have access to a SAP S/4HANA Cloud System but this is really needed only for one time set up, so even if you have a demo system access , that should be fine.
It might be confusing that we are making use of SAP S/4HANA Cloud System for integration between Successfactors Employee Central Payroll and On-Premise SAP ERP Financials but this option will make use of standard services available in both Successfactors Employee Central Payroll and On-Premise SAP ERP Financials.
- Configuration in Successfactors Employee Central Payroll
During Posting Simulation or during document creation, a number of synchronous BAPI calls are made to SAP ERP Financials and below are few of the key BAPI’s that are used depending on whether customer/vendor postings are being used or not.
- Create logical system for SAP ERP Financials via BD54 ex: DR1CLNT100
- Enable the integration: Set the entry POST S4CLD to ‘X’ in T77S0 (via SM30)
- Create Profile: Open SOAMANAGER, navigate to Technical Administration and open Profiles to create one with required authentication mechanism.
- Create Communication System in SAP S/4HANA Cloud: Ensure the Business System Name is same as the logical system name created in Successfactors Employee Central Payroll.
- Create a new user ECP_USER for Inbound Communication and assign a S or P user for Outbound Communication authentication to SAP Cloud Platform Integration.
- New Communication Arrangement in SAP S/4HANA Cloud system: Create Communication Arrangement SAP_COM_0028 with the communication system created in previous step.
Make sure to note down the last part of the service url’s within the communication arrangement ex: bapi_acc_employee_exp_check .These are the service definition names that will need to be configured in SAP ERP Financials at a later stage.
- Create Provider System: Open SOAMANAGER, navigate to Technical Administration and open Provider Systems to create one. Name should be same the logical system name created in previous steps.
Before proceeding to the next step, make sure the WSIL check is working.
Now retrieve business applications and click Finish.
- Logon Data Management : In SOAMANAGER under Service Administration, create and assign logon data for SAP S/4HANA Cloud application with the credentials assigned in the Communication System in SAP S/4HANA Cloud.
Now assign this logon data to the Provider system DR1CLNT100 created earlier.
- Local Integration Scenario Configuration: In SOAMANAGER under Service Administration, create local integration scenario configuration with name for ex: IS_ECPFI.
Skip the next step of selecting Service Definitions and move on to Service Groups and select the Service group HRPP_POST_SFIN_CLOUD and then click on Assign IBC reference and in the pop-up select DR1CLNT100.
In the next step, assign the logon data to the Integration scenario and then Finish.
Now click on Pending Tasks to open the task list .
If the communication user details are correctly maintained in previous steps, then this step should be successful.
Now logical ports for all services in the service group are created but pointing to SAP S/4HANA Cloud endpoints, so for the BAPI requests to be re-directed to SAP Cloud Platform Integration, fallback ports have to be created for all services needed, below is an example.
- Logical Receiver Determination: In SOAMANAGER under Service Administration, create logical receiver determination. This is a key step in the process as the posting programs utilize the logical receiver determined for the company codes configured in this step.
- Create Fallback Logical Ports to SAP Cloud Platform Integration: In SOAMANAGER under Service Administration, navigate to WebService Configuration and open the service group below.
Navigate to Configurations within the service group and all the generated logical ports which are created as part of the pending tasks processing will be visible. Now fallback logical ports need to be created for the services as below:
Click on create Fallback logical port and select Manual configuration and proceed with the next steps in the wizard.
Once the user Id/password is maintained, in the next step maintain SAP Cloud platform Integration runtime url and then click on finish.Same steps to be repeated for all the proxies within the service group.
Download WSDL’s from SE80 (all proxies can be found in the package PCP0_WS) for later use in mapping in SAP Cloud Platform Integration.The WSDL’s are needed only if a graphical mapping will be used in SAP Cloud Platform Integration.If a generic XSLT is used, the WSDL’s need not be downloaded.
- Configuration in SAP ERP Financials
If SAP Cloud Connector is being used for connecting SAP Cloud Platform Integration to SAP ERP Financials, then RFC Adapter can be used directly and below SOAMANAGER configuration is not needed.
In ERP Financials, access SOAMANAGER and configure all the services/BAPI’s which are part of the Communication arrangement (Inbound). The names of the service definitions can be taken from the last part of the service url in the communication arrangement in SAP S/4HANA Cloud.
In case any of the service definitions are not available in SOAMANAGER , then service definition can be created for the BAPI’s or RFC’s involved and then proceed with the SOAMANAGER configuration for the customer services generated.
Note that simplified web service configuration also can be used.
Download all the WSDL’s from the configured web-services in SOAMANAGER by opening the document using the Open Binding WSDL icon below and then download the WSDL.
The WSDL’s are needed only if a graphical mapping will be used in SAP Cloud Platform Integration.If a generic XSLT is used, the WSDL’s need not be downloaded.
Then make a note of all the endpoint details in the WSDL(can be found at the very end of the wsdl document ) from SAP ERP Financials which will need to be eventually maintained in SAP Cloud Platform Integration later.
- IFlow Development in SAP Cloud Platform Integration
Now create one Iflow with a router step to determine the receiver based on the source message coming from Successfactors Employee Central Payroll or create one separate iflow for each consumer proxy in Successfactors Employee Central Payroll.
Since the namespaces or root tags of the XML document generated in Successfactors Employee Central Payroll does not match with the root tags / namespaces in ERP Financials WSDL, an additional mapping step will be needed to take care of this.
So either perform a 1:1 mapping using graphical mapping or create a generic XSLT which can handle the namespaces and root tag differences.
In our case we had to use mapping as we had to disable few fields from Successfactors Employee Central Payroll to ERP Financials.
Option 2: Using Custom Program (copy of RPCIPE00)
This approach involves Custom program development and can be used if part of the checks/validations need to happen within Successfactors Employee Central Payroll and other checks, posting in SAP ERP Financials.
ex: Get Vendor, customer(bapi_customer_find), account details etc will use master data in Successfactors Employee Central Payroll and Simulation (bapi_acc_employee_exp_check) and Posting (bapi_acc_employee_exp_post) to happen with ERP Financials.
This approach is almost same as Option-1 but will not need access to SAP S/4HANA Cloud or Service Group Configuration but remember since this is Custom report, any future updates will need to be manually applied wherever applicable.
- Configuration in Successfactors Employee Central Payroll
Make Copy of following objects and adapt the required step to be executed in ERP Financials.
Classes: CL_HRPP_ITEM, CL_HRPP_BUKRS, CL_HRPAY99_POSTING_ENGINE_PP, CL_HRPP_WS_SERVICE_MANAGER
In below example see how to perform determination of account details from SAP ERP Financials remotely.Here comment out the check for cloud posting and determination of service group logical receiver determination.Activate the consumer proxies in SOAMANAGER to pass this information to SAP Cloud Platform Integration.(no configuration needed for Service group, only requirement is to activate the consumer proxies where remote requests to ERP Financials need to be made).
Similarly all methods which need to be executed remotely in SAP ERP Financials need to be adapted.
Now for Payroll posting to SAP ERP Financials, IDOC approach can be used for which ALE Configuration is needed.(Distribution Model, Destination, Partner profile).
In BD64, maintain distribution model for all services which need to be executed in ERP Financials i.e Object is AcctngEmployeeExpnses and Method is Post.
For a list of objects and methods as well as details on the procedures, see Customizing under Cross-Application Components Predefined ALE Processes Human Resources HR <-> AC Posting Payroll Results to Accounting Set Up ‘HR and AC from Release 4.0A’ Scenario .
Partner profile and port to be created for passing IDOC over SOAP.This is already explained in many blogs , refer to one below which has step by step information.
The steps to be followed in SAP Cloud Platform Integration and SAP ERP Financials is already explained in Option-1 but with the Option-2, only the services relevant for remote execution need to be configured.
Conclusion:I would still recommend to follow the standard VPN approach using RFC connections as a first step but in certain circumstances where VPN approach cannot be implemented, the approach detailed here may suit the purpose.