Human Capital Management Blogs by Members
Gain valuable knowledge and tips on SAP SuccessFactors HCM suite and human capital management market from member blog posts. Share your insights with a post of your own.
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member113361
Participant
8,642
Context/Background

Employee data can be deleted by employee themselves, their managers or HR Ops in Employee Central based on the permission granted to them.This blog explains data for which portlets can be deleted and how those deleted data records can be retrieved for cases where there is a requirement to sync those deleted records in the downstream systems.The permission to delete these portlets is mostly driven by RBP and its organization specific settings.

Deletion use cases

There are various scenarios where an employee can delete personal data. For example, consider a scenario where the employee has updated his/her personal email id and personal cell number in the morning, these data sent down to a downstream system via an automated interface which picks only "delta" data( i.e employee data changes since last interface run).However, the employee later realizes that the data he/she maintained earlier is NOT correct, so instead of correcting it, he/she deletes the entire personal email/phone row and enters a new record with correct information this time. So next time when the interface runs, it should send both the deleted email/cell as well as new email/cell detail.

Another example is, the employee enters a "home" address which is sent to the downstream system. But then the employee realizes that the address should be "mailing" address instead.employee deletes the home address and inserts a new record for mailing address.So in SF database, 2 records would exist, home address tagged as DELETED and mailing as "INSERT".

The below table gives a generalized view whether data for a portlet can be deleted or not ( please note, for some of the portlets it depends upon the EC permission/configuration used)



Data for foundation table are generally not deleted instead delimited. Also as of 2017 Q3 release, I don't think there is any API which can extract deleted foundation table records.

How the deleted records can be retrieved?

Deleted records from SAP can be retrieved either by audit report ( not part of this blog) or by using SF API CompoundEmployee ( in Delta mode).Check SAP Help to know more about "Compound Employee API - Delta Transmission.

In order to extract deleted data, in the CompoundEmployee API query, one needs to use queryMode = Delta along with other parameters like "last_modified_on", "fromDate" and "toDate" as shown below ( one can use the query mode "periodDelta" as well but this is not explained in this blog)



When queryMode is set at delta or periodDelta, the API adds an ACTION field in the  XML output to signify if the record is an INSERT, CHANGE, DELETE or NO CHANGE.More details about each action code is given below



Deletion of noneffective dated data:-

An employee enters a new national ID card (PAN for India), the below diagram shows how the data will look like in the CompoundEmployee API delta mode XML output.



Compound Employee API output XML shows the inserted record.



 

The below diagram shows the data after deletion of PAN number. The ACTION flag has been changed from "INSERT" to "DELETE"



Compound Employee API output XML shows the inserted record.



Please note, for the portlets email information and phone information, if one amends an existing record by changing the phone type ( or email type) - for example, personal mobile changed to business mobile ( or personal email type changed to business email) - SF deletes the old record and creates a new record for the changed phone type and email type. So after the change, in the query 2 records will appear one with action "DELETE" and one with action as "INSERT".

 

Deletion of effective dated data:-

As mentioned in the beginning, there are multiple effective dated portlets for which record can be deleted. I have considered the address portlet in this example.

An employee can have different address type ( for e.g home address, permanent address, mailing address),

When a new Home address is inserted, data in SF screen appears as below.



Compound Employee API in delta mode return the data as below

 

Now let's delete the home address record and see how the data appears in the API output XML



 



 

There are few other scenarios where manager/HR ops can delete records ( e.g global assignment, termination record), for those scenarios as well it is possible to retrieve the deleted data using the compound employee API in delta mode.

*Update*

If any record is inserted and deleted after the lastRun, during the next run API won't detect this insertion/Deletion. For example, lets assume lastRun = 10/11/2017

User enters a new personal phone number  on 12/11/2017

User decides to delete this record due to some reason on 15/11/2017

On next run ( 18/11/2017) , API wont report this insertion or deletion.
2 Comments
Labels in this area