Since point to point (PTP) replication was released as the integration-of-choice for moving data from SuccessFactors Employee Central to Employee Central Payroll, the primary focus of customers and integrators has been on replicating employee master data. For more information on employee master data replication, you can check some of my previous blogs. However, a slightly different aspect of PTP Replication that I have not covered is time replication, including both employee absence and employee working time data.
Time replication shares some configuration steps with employee master data replication, however it uses Employee Central’s OData API instead of the Compound Employee SFAPI and is a separate program (two separate programs, technically).
In this blog, I hope to give a high-level overview of PTP Time Replication, how to set it up, and a few things to look out for.
Two Types of Employee Time Replication
There are two separate types of time replication that are covered via PTP replication from EC to ECP. Both replications work similarly from an architecture standpoint. However, they are two separate ABAP reports and work completely independently from one another. Your specific business requirements can determine if you need both of these reports to be scheduled, or only one of them.
- Employee Working Time Replication to IT2010 – This replication sends all approved employee working time as submitted in the EC Time Sheet to ECP. It creates corresponding records with the desired Wage Type in Infotype 2010.
- Employee Absence Replication to IT2001 – This replication sends only the approved employee absences to ECP. It creates corresponding records in Infotype 2001.
This blog covers both scenarios, as they work very similarly, and are often used in conjunction.
High Level Architecture
I put together the below diagram to show a high level overview of the replication architecture. Hey, it’s PowerPoint. Be gentle…
At a high level, the replication revolves around MDF objects stored in Employee Central called DataReplicationProxy objects. When a time sheet is approved in EC, EC generates a DataReplicationProxy object for every day that they worked (or were absent, for the absence replication). The MDF object includes a status field, which generally can be “IN SYNC”, “OUT OF SYNC”, or “DELETED”. These MDF objects are completely behind-the-scenes, though they can be exported via Import / Export Data and viewed via Manage Data. Their purpose is only to keep the time records in sync with external systems such as Employee Central Payroll.
As you can imagine, over time, this is a lot of DataReplicationProxy objects. Luckily you should never need to manually manage these objects. It is all taken care of on the back-end by Employee Central. And any time you resubmit a timesheet, it will regenerate the object, and will overwrite the existing record in Employee Central Payroll.
Since the DataReplicationProxy objects exist on the EC side, the only job for ECP to do is to pull the objects periodically, map the records to the correct wage types, and update the infotype records. This is performed through two separate ABAP programs in ECP.
In addition to pulling the time records from SuccessFactors and updating the infotype tables, these programs also send a confirmation message back to Employee Central with the status of replication. This allows Employee Central to update the status of the DataReplicationProxy object so that it does not replicate again, and also shows the result in the Data Replication Monitor.
Initial Set Up of Time Replication
Now that you have a high level overview, we can do a quick setup to get your replication started.
Prerequisite – Ensure you have set up the PTP connection from EC to ECP. If you are already using PTP replication for employee data, this step is done. If not, follow the instructions here: https://blogs.sap.com/2018/05/23/getting-started-setting-up-ptp-replication-to-employee-central-payroll/
Below are the high level steps required to set up time replication from EC to ECP.
1. Create Data Replication Configuration object(s) in Employee Central
In Employee Central, there is an MDF object called DataReplicationConfiguration that is used to configure the creation of future DataReplicationProxy objects. To set it up, do the following:
A. In Employee Central, go to Manage Data.
B. You will now create a Data Replication Configuration object for Time Pay Component and / or Employee Absence replication. Please note if you are replicating both to ECP, you will need to create two separate Data Replication Configuration objects, so repeat this step twice.
Under Create New to the top right, select Data Replication Configuration.
- External Code: Can be any unique name, such as TimePayReplicationConfig or AbsenceReplicationConfig for example.
- Replication Target System: The Replication Target System linked to your ECP system, as mentioned during the prerequisite connection setup.
- Replication Content Type: Time Pay Components OR Employee Absence Data
- Earliest Selection Date: Put the “Go Live Date” / earliest effective date in which you want time data to be replicated from EC to ECP
- Correction Phase Indicator: If you select Yes, employee time sheets will be able to be submitted even while the payroll control record in Employee Central Payroll is in the status “Released for Correction”. If you select No, replication will throw an error during “Released for Correction” and will not allow successful replication until the Payroll Control Record is changed. Select depending on your requirements and expectations.
- Execute Proxy Creation Job (Important!): If your system already has approved time sheets, which were created before this DataReplicationConfiguration object was created, and you want those timesheets to replicate to ECP, select Yes. This will trigger a job which will generate all of the missing DataReplicationProxy objects based on your new configuration. If you do not have any submitted time sheets in your system, you can leave this at No.
- Exclude Contingent Workers: Set to Yes if you don’t want to replicate any time data for contingent workers.
- Country Assignment, Company Assignment, Pay Group Assignment, Employee Class Assignment, and Time Type Assignment: These fields are optional filters which can be used to limit which time components get replicated. For example, if you put a country in the country assignment filter it will only replicate time entries for employees assigned to that country code. If you leave these filters blank, all employees will be included. The Time Type Assignment field is useful for Absence Replication only.
C. Click Save. If you selected “Execute Proxy Creation Job”, saving this configuration will kick off a backend job that will generate all proxy objects. This job can be viewed in provisioning to track its progress. Depending on the amount of existing time sheets, this can take a few hours.
Below are a few example completed Data Replication Configuration objects.
2. (Optional) Map the Time Pay Types in Employee Central Payroll
If the Time Types differ in Employee Central from the Wage Types you wish to create in Infotype 2010 in ECP, you will need to do a mapping between the values in Employee Central Payroll. If they are in sync between the two systems, you can skip this step.
This mapping can be performed in Employee Central Payroll by going to
3. (Optional) Map the Absence Types in Employee Central Payroll
Similar to Step 2, you can map the absence types from Employee Central to Employee Central Payroll. Repeat Step 2, except use Data Type TIME_TYPE rather than TIME_PAY_TYPE for absence mappings.
4. (Optional) Add TIME_TYPE and TIME_PAY_TYPE to be mapped via customer table
If you completed steps 2 or 3 above, you’ll need to configure the corresponding data type to be mapped via customer table or identical mapping.
This can be completed at
5. Run Replication!
If you have made it this far, you should be ready to replicate. Before replicating, be sure there are actually submitted time sheets in EC and that the Data Replication Proxy generation job in step 1 has finished running. Otherwise there will not be anything to replicate from EC yet.
To run replication in ECP go to transaction SE38. Run the following reports with your Replication Target System selected:
- Employee Working Time Replication to IT2010 – RP_HRSFEC_PTP_EE_TIMEPAYCOMP_REPL
- Employee Absence Replication to IT2001 – RP_HRSFEC_PTP_EE_ABSENCE_REPL
The first time you run replication, it may take up to an hour if you have a lot of time sheet records in EC waiting to replicate. Once the replication is successful, any future runs of the report will only retrieve DataReplicationProxy objects which have either been changed or not yet replicated. That means future runs will typically take under a minute.
Any errors generated from the report can be viewed in transaction SLG1.
6. Schedule replication to run on a scheduled basis
Once the initial setup is completed and the time replication has worked as expected, the two ABAP reports should be scheduled to run regularly.
Create a variant for both reports. Then schedule a job using transaction SM36 that contains one or both of the reports on a recurring basis. Most of my clients have them run every 5 minutes, but it can be backed to every 15 minutes or even every hour depending on your requirement. I would avoid trying to run it more frequently than every 5 minutes – it may create a situation where multiple jobs overlap and create unnecessary confusion.
I typically bundle the Time Replication Reports with the PTP Employee Master Data report so that they all run in one sequential job, every 5-15 minutes, as shown below.
Additional Questions and Resources
I hope this blog gave you a solid introduction to how time components can be replicated from Employee Central to Employee Central Payroll. If you have additional questions that I did not cover, feel free to leave them in the comments.
For more detailed configuration steps, you can find more information in the SAP Implementation guides linked below:
- Absence Replication: https://help.sap.com/viewer/0377d826832f445e82d09fdac7228f34/1905/en-US/096fa4617fc142b88ed61adb39ccc4ae.html
- Time Pay Component Replication: https://help.sap.com/viewer/542d82a01af34800a7d947ae15906197/1905/en-US/759462a58fbb48b6b3aeb6c7166d02ff.html