SAP Knowledge Base Article - Public

2784576 - Compound Employee API Change to Last Modified On & Snapshot Date – Q1 2020

Symptom

In this document we shall discuss the Compound Employee API (CE) and upcoming changes to the Last Modified field relative to the structure of API queries.

The Compound Employee API is a service used to extract employee data out of Employee Central. This API replicates employee master data from Employee Central to SAP systems, payroll systems and benefits systems.

Environment

  • CE
  • BizX
  • Boomi/CPI

Cause

  • Currently the Compound Employee API allows the field last_modified_on and snapshot_date to be older than 3 months.
  • As of Q1 2020 release, the Compound Employee API threshold will be restricted to 3 months. Any date further in the past will be excluded.

Resolution

1. How to Migrate: 

   Customers will need to adjust the field(s) last_modified_on  and snapshot_date in current integrations to be at most 3 months back in time.     
   This limitation is for every Compound Employee API mode (Full Transmission, Delta and Snapshot Mode). 
   The configuration effort to make this change is minimal, but it will require thorough testing to your downstream systems.

2. Example Queries:

   2.1. Example of a Compound Employee API query with last_modified_on filter:

   <urn:query>
                <urn:queryString>
                                select    person,

                                                employment_information,

                                                job_information 
                                                from      CompoundEmployee
                                                where   last_modified_on > to_DateTime('2019-01-07T06:28:29Z') 
                </urn:queryString>
   </urn:query>

   2.2. Example of a Compound Employee API query with snapshot_date filter:

   <urn:query>
                <urn:queryString>
                                select    person,

                                                employment_information,

                                                job_information 
                                                from      CompoundEmployee
                                                where   snapshot_date > to_DateTime('2019-01-07T06:28:29Z') 
                </urn:queryString>

         <urn: param>

            <urn:name>queryMode</urn:name>

            <urn:value>snapshot</urn:value>

         </urn: param>
   </urn:query>

   2.3. Example of a Compound Employee API query in Delta mode:

   <urn:query>
                <urn:queryString>
                                select    person,

                                                employment_information,

                                                job_information 
                                                from      CompoundEmployee
                                                where last_modified_on> to_DateTime('2019-01-07T06:28:29Z') 
                </urn:queryString>

         <urn: param>

            <urn:name>queryMode</urn:name>

            <urn:value>delta</urn:value>

         </urn: param>
   </urn:query>

   For integrations with a middleware, please adapt in the middleware the schedule time.
   For more information on this topic, view this help.sap.com guide.

   Troubleshooting: For more information on how Compound Employee API is working, view this help.sap.com guide.

3. Will it be possible to get Employees records even if they have not been changed between now and 3 months back?

   Yes, this will be still possible. You can call Compound Employee API without the last_modifed_on filter and get all Employees.

4. What should I do if I want to get only employee data that is active since a certain date(for example 1 Year)?

   You can use Compound Employee API with the effective_end_date filter.  With this filter you get only the employee records that are active in the system from this date onwards.

5. How is the best practice to use Compound Employee API?

   Best Practice is to use the initial load to replicate all employees to the target system (here you don’t need the last_modified_on filter).
   After the successfully run you will only replicate the changes periodically (for example every day). For the subsequent replication of changes, the last_modified_on filter is used.

6. Why will the last_modified_on date be restricted to 3 months?

   The last_modified_on is designed to keep the EC system and the target system in sync. This will happen periodically. Most use cases require a synchronization between 1 day and 1 months.
   To date, we have found no use cases where a last_modified_on needs to be more than 3 months in the past.

7. I am using the last_modified_on filter with a date that is more than 3 months in the past, what should I do?

   You can reduce the last_modified_on, so that the synchronization between EC and your target system will happen more often.
   If you replicate daily, the last_modified_on needs to go back only 1 day. If you replicate monthly, the last_modified_on needs to go back 1 month.

8. Will any changes be lost if I reduce the last_modified_on?

   No. For example if you run a daily job, you will then replicate all the changes that have been done since the last job.
   If you use then the execution_timestamp from the previous Compound Employee API call for your next call, you will not lose any information.

See Also

For further questions or queries on this Compound Employee change, kindly post the same on the Community Forum dedicated to this enhancement here: Innovation Alert - Compound Employee API Change to Last Modified On & Snapshot Date – Q1 2020

Keywords

  • Compound Employee
  • CE
  • last_modified_on 
  • snapshot_date 
, KBA , LOD-SF-INT-CE , Compound Employee API , LOD-SF-INT , SF Integrations - EC Payroll, Boomi/ HCI, API , Product Enhancement

Product

SAP SuccessFactors HCM Core all versions