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: 
arrouth
Participant

Dear Readers, in this blog we’ll check the tricky solution to one of the time management scenarios.

Business Requirement:

Employee has two shifts in a single day and it is required to detect late coming and early departure of each shift, based on Planned and Actual Working time of each shift.

Though this can be a rare requirement, but we may face this requirement for factory workers or some special seasons like Ramadan Months etc.

Challenge:

  1. How to assign double shift to the employee? Currently by standard, SuccessFactors does not support to assign to multiple work schedules on same day or specifically if I say it, multiple shifts in single day is not supported (even in Time Tracking features as well).
  2. If we manage to derive multiple shift, how to detect Late Coming/Early Departure of each shift?

In spite of having those challenges, we try to build the solution using standard features/configurations only, without any customization (i.e custom MDFs.).

Solution Design and Assumptions:

To maintain double shifts in a single day, we’ll create a day model with a long break in it. So, the planned working time before starting the break will be considered as First Shift of the day, and the planned working time after the end of the break will be considered as Second Shift of the day.

Example:

arrouth_0-1713200121573.png

But, here is a challenge: The regular single shift/work schedule can also have ‘Break’, so in that case, it will also wrongly treat those regular work schedules as double shifts (based on the above logic). So to overcome that, we need to set an assumption here. If the planned break is more than 1 hour, then only it will be treated as a ‘Shift Separator’ for double shifts, else it will be treated as a normal planned break.

After the double shifts are detected, we can use Time Valuations to determine the Late Coming/Early Departure hours for each shift.

Solution Architecture:

arrouth_9-1713201149559.pngarrouth_10-1713201160426.png

Configuration Steps:

Step1.A: Create a Day Model with a planned break longer than 1 hour. It will be treated as ‘Shift Separator’.

arrouth_11-1713201212558.png

Step1.B: Create a Work Schedule using that Day Model.

Picture1.png

Step2.A: Define time valuation to collect actual working time.

 

Step2.B: Define time valuation to filter and collect working time on Non-Holidays only.

Capture.PNG

Step3.A: Derive Planned working time deducting the break hours.

Capture.PNG

Step3.B: Check whether the break is more than 1 hour. If yes, then only, collect the actual working time.

Capture.PNG

Step3.C: By using valuation type ‘Filter Single Records from Input Groups’, we are splitting the shifts based on break, and collecting the planned start and end time of First Shift and Second Shift.

Capture.PNG

Step4.A: Collect the gaps between planned time and actual working time.

Capture.PNG

Step4.B: In previous step, we’ll get the gaps for each time slice of actual time. Now we need to find out the gap comparing to the earliest start time of shift, which is actually Late Coming for First Shift.

Capture.PNG

Step4.C: Now we need to find out, the gap comparing the latest end time slice of First Shift to get the Early Departure for First Shift.

Capture.PNG

Step4.D: The similar way we can find the Late Coming and Early Departure of Second Shift by collecting the gaps for Second Shift and filtering the earliest and latest time slice of those.

Capture.PNGCapture2.PNGCapture3.PNG

Step5.A: Define the Time Recording Profile having all time valuation that we have created above.

Capture.PNG

Step5.B: Assign the work Schedule and Time Recording Profile to Employee’s Job Information.

Capture.PNG

Testing: In this test example, we can see multiple time slices are booked as attendance for the employee and our solution is able to detect the Late Coming and Early Departure for each shift by valuating those time slices.

Capture.PNGCapture2.PNG

Here the Negative Testing (if the break is 1 hour or less than that, then it will not be counted as double shift) is not shown, but you can test it from your side.

 

Lets Analyze the Time Valuation Trace to understand how it works:

CLT-POS-Aggregated Input attendance & Absences (AGG_INPUT) - The First Time valuation is collecting the actual attendance hours as per attendance input.

1.PNG

CLT-POS-Aggregated Attendance & Absence on Non-Holidays (AGG_ATTND_ABS_NON_HOLIDAY) – This time valuation is filtering the Non-Holiday actual working time. Here, this particular day (1st April 2024) is not a Public Holiday as per system, so the all recorded hours are collected.

1.PNG

TEST-Derive Planned working time vs Break (TEST-1) – In this time valuation, the break is deducted and planned working time collected.

1.PNG

TEST-Detect multiple shift (if break more than 1 hr) (TEST-2) – In this time valuation, it is checked whether the Break time is more than 1 hour, then only the panned start and end time to be collected.

1.PNG

Test-Derive Shifts comparing with break (TEST-3) – In this time valuation, the planned working time is splitted into two shifts.

1.PNG

TEST-Collect Gaps for First Shift (TEST-4) – In this time valuation, the gaps are collected for First Shift, comparing the planned start and end time of First Shift with actual recorded time slices.

1.PNG

TEST-Late Coming for First Shift (TEST-5) – Among all the gaps that are collected in previous time valuation, we need to find the earliest one comparing the earliest start time of planned working time of the shift. This is how the Late Coming of First Shift is detected.

1.PNG

TEST-Early Departure for First Shift (TEST-6) – Now, among all the gaps that are collected in previous time valuation, we need to find the latest one comparing the latest end time of planned working time of the shift. This is how the Early Departure of First Shift is detected.

1.PNG

Similar way, Late Coming and Early departure are detected for Second Shift as well.

Conclusion:

Hope this solution will help you to meet such requirement without adding any customization in the system. Please help to put your thoughts and comments on this solution and follow my profile for my more upcoming topics.

Also, you can find more topics on SAP SuccessFactors Core Environment here: https://community.sap.com/topics/successfactors

You can also post question and answers on SuccessFactors Topics here: https://answers.sap.com/tags/67837800100800006332

5 Comments
Volker_Ruof
Product and Topic Expert
Product and Topic Expert

Wowow !

This is a very creative approach to indeed cover something that I was not expected to be able to be covered in SF !

Congratulations. And thanks for sharing.

 

arrouth
Participant
0 Kudos

Thanks a lot Volker! It is really encouraging to get a positive comment from you.

Bernardo_Santos
Participant
0 Kudos

Hi all
My question is if the employee arrives late, is it possible for the system to create an absence automatically?
thanks

Volker_Ruof
Product and Topic Expert
Product and Topic Expert
0 Kudos

Hi Bernardo,

I don´t see a connection of this to this wonderful blog.

In standard it is not possible to create an absence automatically.

However, you probably could maybe achieve via integration center, upon a trigger similar as described above. 

Best regards

Volker

nltlo2
Participant
0 Kudos

Impressive but I will have to read multiple times to grasp the entire Art in this very well documented solution !

Labels in this area