Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
former_member113361
Participant
In most of the employee data interfaces there are  requirements  where the downstream application(specially Payroll systems) require employees termination details. Also it is a common scenario, where employee withdraw his/her resignation for whatever reason.

In this blog i will explain

  1. Logic to find out terminated employees

  2. Logic to find out employees whose termination record has been deleted


Terminated employee

Once a termination action is initiated the data in successfactor will look like below.



Job Information data looks like below



Employee is always terminated in Home Employment.And only once the employee is terminated ( does not matter past dated,current dated or future dated) the field end date is populated.

However it is NOT recommended to use the employment information end date ( i.e /person/employment_information/end_date) to determine if the employee is current terminated or Not. The employment Information portlet is NOT effective dated and hence if there is a future re-hire record the end_date is overwritten ( blank) eventhough the employee is currently terminated/inactive.

So in this example employee is active till 15th Dec 2017, however from 16th Dec employee will be in inactive status.The CompoundEmployee API extract will show the latest job information as below



Logic to check if the employee is currently Terminated:

Look for the job where below criteria is matched.

{

  1. /person/employment_information/job_information/start_date<= current_date && /person/employment_information/job_information/end_date>= current_date   AND

  2. /person/employment_information/job_information/emplStatus = T


}

Termination Date/person/employment_information/job_information/start_date - 1 Day.

P.S -This check needs to be performed for the parent employment information where the employee is currently ( i.e either Home or host).

Deletion of termination Record:

Due to various reasons employees termination can be revoked ( e.g employee decides to withdraw resignation). As of today ( as far as i know), the only way to delete a termination record is to go to Job history of the employee and then manually delete the termination record.



The compound Employee *Does Not* report the deleted job. So there is no easy way to find out the deleted termination Job. The latest job record appears as below. The values for the highlighted fields are reverted with values of Job record prior to termination.

(Compound employee need to run in queryMode = Delta or periodDelta)



Also note, the termination deletion event is captured by the node "<job_event_information>"



So now if the Interface need to determine if any termination record has been deleted or not look for "<job_event_information>" where action = DELETE and even = 26

 
7 Comments
Labels in this area