Human Capital Management Blogs by SAP
Get insider info on SAP SuccessFactors HCM suite for core HR and payroll, time and attendance, talent management, employee experience management, and more in this SAP blog.
cancel
Showing results for 
Search instead for 
Did you mean: 
Volker_Ruof
Product and Topic Expert
Product and Topic Expert
Time Community !

I am Volker Ruof from SF Time Product Management. As usual it is a pleasure presenting our SF Time Management enhancements in May 2023 Release with some business and configuration context.

There are again lots of good new features in this release. The copy feature in time sheet for example will reduce the time spend for time recording and increase usability tremendously. Public holiday enhancements enables a new customer segment using our solution and closes business gaps (those working / producing 24/7 on any day, even public holidays). The information dialog feature in time off and time sheet will reduce the work of your HR Admins in explaining rules and regulations, cause you can bring them into the application.

And all in all we listened to our customer: 25 enhancement requests from the influence.sap.com have been delivered. Plus we did lots of groundwork (like our new time containers) to enable the time valuation entering into a new dimension.

Until production release upgrade this blog comes for the time being under the same disclaimer as our What´s New Viewer.

As usual, let me first give an overview on the most important new features before explaining them from a business and configuration point of view in more detail.


Overview:


 

1. Time Off Features


1.1 Half public holidays for clock time recorders - day model variants



  • If there are half public holidays like in Germany you cannot simply say it is half of the planned working time for a clock time based employee. You need concrete start / end times - and not only for planned time but also for all other information in the work schedule day model. Day model variants allow to do so on half public holidays


1.2 Public holiday as normal working day - holiday work pattern



  • Allows to have a public holiday defined in the public holiday calendar which is not as usual an off-day but a normal working day. Needed to support manufacturing companies that produce 24x7, hospitals or specific employee groups like security, plant fire brigade and any other employee who needs to work regularly on a public holiday


1.3 Information dialog in time off and time sheet UI



  • Ever wanted to have more information for your employees on your business processes or regulations inside of the end user application? Ever wanted to reduce workload on HR side to explain leave policies to employees? The information dialog offers lots of flexibility to do so.


1.4 New workschedule tab in the time administration workbench



  • we redesigned completely the workschedule tab in the time administrator workbench. The usability and design improvements are tremendous !


1.5 Display of contingent workers in team absence calendar



  • Not only employees, but also contingent workers are now included in the team absence calendar. This facilitates vacation planning for the whole team


1.6 Multiple time account payouts with same posting date



  • allows to have for example in the termination process multiple time account payouts sharing the same pay component on the same day


1.7 Miscellaneous Time Off topics



  • From early adopter to general availability

    • effective dated time profile

    • reallocation of time account deduction

    • Time calendars for leave of absences with undetermined end date



  • New rule function "Get absence in days or hours for a period based on deduction quantity and timetype"

  • Take rule parameter to validate recurring absences in absence validation rules

  • Enhancements for automated "end of continous pay calculation" for sick leave Germany


 

2. Time Tracking Features


2.1 Copy possibility in time sheet UI



  • Lots of requests from customer for it: easy copy function in time sheet that facilitates and speeds up the process of time recording. This will boost the productivity in your company!


2.2 No extra submit needed anymore for single records that need an extra approval



  • big usability improvement based on customer feedback: single records that need an extra approval are now automatically submitted when saved


2.3 Rest period violation detection



  • is needed to cover regulations like for example European Working Time Directive according to which an employee needs at least 11h rest between end of work and start of work on the next day


2.4 Useful time valuation enhancement: Create time record out of nothing



  • usually you need an input to trigger a time valuation and to create a time valuation result. But this enhancement allows to create a time valuation result "out of nothing", without any time record. Example is a time bonification for transfer time from the entrance gate far away of your working place.


2.5 Time Event (clock in/ out punches) reporting possibility



  • gives you a detailed report on clock in/ out events - where time pairs are missing, need to be approved and many more


2.6 Time Event API for Export



  • some countries like Greece require clock in / events to be send to state authorities in real-time. With this API you can do so.


2.7 Rounding of start / end working time to flextime bandwidth



  • last release we shipped the rounding of start / end times to the work schedule planned working time. This is now enhanced to round to the work schedule flextime bandwidth


2.8 Minimum break block guarantee



  • many laws and regulations like for example the German Working time law stipulate that a break recorded less than 15 minutes ought not to be regarded as a break. With this enhancement you can cover this requirement


2.9 Time valuation filter on holiday work pattern



  • allows to differentiate in time valuation for work on public holidays that are paid off days or that are normal working days according the the employees holiday work pattern from the job info


2.10 Import of external time data for overtime recorders



  • import of external time data is currently only possible for positive time recorders. This is enhanced now for overtime recorders as well


2.11 Configurable auto-submit of time sheets for overtime recorders



  • allows an auto-submit of time sheets for overtime approvers according to specific conditions


2.12 Configurable Information dialog in Time Sheet UI



  • allows customer specific information text inside the time sheet application


2.13 New SAC report for Time Tracking usage analysis



  • new cleaner SAC report for customers to analyze the time tracking usage in their company


2.14 Miscellaneous Time Tracking features



  • Initialization rules for time sheet UI


 

3. Miscellaneous


3.1 Mobile enhancements



  • brief overview on time enhancements for mobile application


3.2 Transport Management



  • allows configuration transports from one system to another


3.3 Auto-acknowledge of Admin Alerts



  • define by alert type a days period after which the alerts are auto-acknowledged


3.4 Time forms (Early Adopter) - Create letters based on templates with actual absence and
master data



  • allows to generate letters based on templates with actual absence or time account data out of the time off application


3.5 SAP Best practice enhancements



  • learn on the preconfigured new content that you can download into your system


 

Now, as usual: deep dive. Fasten your seat belts and have fun:

 

1. Time Off Features


1.1 Half public holidays for clock time recorders - day model variant


This is enhancement was desperately awaited by many customers in Germany. Up to now it was only possible to have half public holidays (like in Germany for 24th and 31st december) for duration based employees, but not for clock time based recorder. The reason was quite simple: how to define planned working time with clock times on a half public holidays? Half public holiday means (usually) the first half of the working day is normal working day, the other half is an paid off day, but for those who need to work there is a higher premium in this time slot. But how is this split into normal working day and half public holiday done in real life? Is for any employee at 12:00 end of working time? How is this for employees who are scheduled to start work at 11:00? Or at 06:00? Or part time employees whose normal working hours start only at 10:00 on this day? How to handle shift employees that got a late shift on this day starting at 14:00? As soon as you have clocktimes you cannot simply assume half of the duration of the day model - you need concrete start and end clocktimes for the planned working time. And then it gets tricky. As always in Time Management: when you look a bit into the details there are many questions to be answered.

Our answer to this question is: flexibility.

This means in detail: we use a similar concept as the SAP HCM colleagues know from the SAP HCM Time world: day model variants.

You can now define for any day model a day model variant which gets automatically choosen on half public holidays. And you can define this day model variant as you like. If for example the day model is a normal working day from 08:00 - 17:00 and a flextime bandwidth from 06:00 - 18:00 and a break from 12:00 - 13:00, you can define in the variant that the planned working time is only 08:00 - 12:00, no break and flextime bandwidth only from 06:00 - 12:00.

We have created a new object to cover this requirement: the work schedule day model identifier and and we have adjusted the day model object to differentiate between a "regular" day model and a "variant".

Sounds complicated, but isn´t. Lets look on this step by step.

First you need to define your day model variant. This is done by creating a day model with different values like for example planned working time from 08:00 - 12:00. And very important: you need to declare this day model as a variant. This is done via a new field in the day model:


 

But how is the variant linked to the regular day model? This is done with the new assignment fields in the regular day model:


Means: A regular day model contains now a reference to the day model variant. Hence when an employee has got in his workschedule this day model assigned, than on half public holidays the day model variant is used instead of the regular day model.

You might now ask: does this mean that I need to edit all existing day models and choose "regular day model" if you want to use this feature? No, of course not. We have created a migration script that automatically sets all your existing day models to "regular day models", so you don´t have to do anything here. Only if you create new day models, you need to decide if this is a regular model or a variant.

But wait - where is now the configuration that on half public holidays the variant instead of the regular model shall be used? This link is missing.

Let´s have a look on the very first field in the section "variant assignment" of the day model screenshot above. You can find here a "work schedule day model variant identifier". What´s that? Well, this is more or less the rule that steers that on half public holidays the variant is read instead of the regular model. It is only a technical link, without any further business context:


Sounds a bit complicated- but if you once do the configuration it is quite self-evident.

And comparing to SAP HCM Time: the endresult of this configuration is more or less the same like the content of this table Q550X:


I estimate this configuration table to determine the day model variant in SAP HCM Time is nearly 40 years old and still active - not really understable at a glance and has for sure deficits in usability. I at least had my problems in the past to place the X in the right field ;-).

I think our concept is more easy to understand.

But coming back from this old fashioned R/3 table to our world:

How is this identifier used to link to the half public holiday? Pretty easy. You assign this identifier as seen in the screenshot above to the regular day model. And you need to assign it as well in the new "holiday planned working time determination" object:


(and please notice that this configuration object comes already with effective dating - so, whenever there are changes in the future needed, you simply create a new time slice. No need to create the object new).

Choose the half public holiday category and assign your identifier:


 

Side note: In order to use this feature overall you need to set the corresponding permissions:


 

I hear in my office in Sankt-Leon Rot already the big sighs from customers that this gap is closed. However, there is a small limitation (but we are working on this): the planned time segment of the day model variant needs to "inside" the orignal day model planned time segments. So, if the day models planned time is for example 08:00 - 17:00, the variants planned time needs to be inside this time frame for this release. Virginie Klein has written an excellent blog with step-by-step configuration details on the the half...c - see next chapter. Please consult this blog for more details on the public holiday topics.

 

1.2 Public holiday as normal working day - holiday work pattern


Up to now a defined public holiday in the public holiday calendar was simply an off-day for the employee. The employee was not expected to come to work, planned working time was set to zero. If the employee took vacation across this public holiday there was no time account deduction. 

But many customers do have employee groups that need to work regularly on a public holiday. Companies with 24x7 manufacturing or operating services, hospitals, security, police...Even if not the whole company needs to work on a public holiday but specific employee groups might need to do so.

You might say now: can´t this be solved by simply not having any public holiday in the calendars of those employees? No, this won´t work properly. Cause if these employees work their normal shift on a public holiday, there is most often a different payment compared to work on non-public holidays. Very often this employees get a public holiday premium pay, but it is not dedicated overtime, so no additional base hours payment, cause the public holiday is at least for salaried employees included in the salary. And if you don´t mark this day as a public holiday, then you cannot sort this constellation out in time valuation where these kind of premium pay generation is done.

The solution that closes this gap is our new "holiday work pattern". This allows for specific employees to configure that there is a public holiday - but with the meaning of a normal regular working day. For SAP HCM Time Management gurus this is more or less what in SAP was called "day types". But our configuration is much more flexible and transparent as it is in SAP HCMTime. For example: the "day type rules" in SAP are intransparent configured and assigned to the SAP workschedule in a configuration table - which led to the fact of doubling some work schedules only because of different rules to work on public holidays. In EC the holiday work pattern is assigned directly in the employees job info. This is more transparent and more flexible.

This feature comes within the Time Off module (cause this has also an influence on absence counting). However, if you want to use this feature for time valuation in our time records filters, cause you need to generate specific payments on public holidays that are normal working days, you need to have Time Tracking subscriptions. This is explained further down in the Time Tracking section.

Since this feature is only needed for specific customers and else this blog would become to big, I stop explaining it here. The main message is: it is possible now. Check out Virginie Kleins excellent blog post on this and on the configuration and handling of half public holidays:

Step-by-Step configuration information on public holiday enhancements

So, with this two enhancements on the public holiday handling we made big steps. But we did not yet reach the finish line with public holiday enhancements. There is more to come - like for example the possibility to include public holiday category into the absence counting rule to provide a more sophisticated absence counting on various public holidays - or the possibility to move public holidays via a temporary change of workschedule per employee, for those cases where employees travel in a country where the guest countries public holiday calendar is applicable of where in some countries public holidays are announced / moved on a short term notice.

 

1.3 Information dialog in time off and time sheet UI


This new feature allows to bring a leave policy description into the absence request UI and/ or information on overtime regulations or break deduction regulations into the time sheet UI.

This is useful if you want to provide your employees within the application more information on the companies leave policies that apply to them or on help texts how to use the application. Leave policies can be quite complicated - from when to when vacation accounts are valid, how many days entitlement for this and that leave type per year, accrual policies, sick leave policies and many more. Employees now can easily access this information with just one click - and not somewhere in the company portal, but right in the leave request application.

Now you might say - yes, this is fine, but we have time off in several countries, and in this countries multiple employee groups having different policies. How is this handled via a central button in the application?

Quite easy: the instruction texts are configured for a time profile or a time recording profile. And remember: these objects are assigned to the employees in the job information. And with this you easily can differentiate on a very fine granular level what information to show to which employees.

And the good thing is: the information dialogue uses BB code technology. With this generic technique you even can add links that refer to an external page or a portal page that contains more information and you can use html formatting to give the information dialog a nice look and feel. This is how an information dialog could look like:


 

You have got 4000 characters to put into this box - if you need to more you can place a link to a further page.

This is how the configuration looks like - as you see, you configure it in the time profile for time off:


For the configuration we use the generic BB Code technology - you need to have a bit of understanding of it, but this can easily be obtained via this page for example: BB Codes

You might now say - cool. Very useful. Less mails and enquiries to the time admins or HR admins cause employees can read now directly in the leave request application on the detailed regulations and leave policies - but it would be even cooler if this is also provided for the time sheet UI. Cause here it is the same: lots of different overtime and break and premium pay regulations that no employee understands or know by heart. Lots of enquiries to the HR administration folks on why is this break on top deducted, why did I get this and not that premium pay on Sunday work?

Okay. Good point. No problem, lets provide this feature also for the time tracking time sheet UI. ;-).

This is how the information dialog appears in the time tracking time sheet UI:



Similar to the information dialog configuration in the time profile the configuration of the time sheet information dialog is done in the time recording profile (this is where all configuration for the time sheet and time valuation is bundled).

The configuration in the time recording profile looks like this:


 

Overall very good way to pass additional information on the usage of the UI or on time recording policies, laws and so on to employees in the UI that they use and to reduce the workload of your HR or Time Admin offices.

Please note that instructions texts for time sheet UI are only available within the time tracking subscription. The instructions texts for the time off UI are available for every customer.

 

1.4 New workschedule tab in the time administration workbench


We are modernizing and improving the usability of our time administration workbench. This is the place for the time administrator to get detailed information on an employees absences and time account details, to perform time account adjustments and payouts and to get insights in the employees workschedule.

In this release we replace the "work schedule" tab with the new "planned working time" tab. You will see that this is a big win for you with respect to design, content and usability.

Not only do we now visualize in detail the employees planned working time (including public holiday calendar information) but we also provide a guided activity process to record a deviation from the job information workschedule, our so-called temporary change of workschedule.

As an entry point on the new planned working time tab you get a history list of assigned workschedules (from the job information) plus - depending on the filter- recorded temporary changes. Small recap: temporary changes of workschedule overwrite for a day or a period the information of the job info workschedule. This is used when your employee wants to swap a day shift with a night shift, or if he temporarily works according to a different workschedule pattern without any contractual or job information data change.


 

From here you not only see the history of assigned job information workschedules or temporary changes, but also edit an already existing temporary change, start the guided activity to create a new one or visualize the detailed planned working time in a calendar list view:


If you click on the right corner to switch to the calendar list view you get in a list for the selected period details on the planned working time, plus public holiday calendar information and recorded temporary changes of workschedules.

I have selected a year and you can paginate in the "more" section to see the subsequent days.

If there is a public holiday in the period it looks like this:


 

Those who are familiar with SAP Time will see from content point of view similarities with the transaction PT63 - personell workschedule.

This new view helps time administrators to get an overview on the shifts of an employee and to explain questions on for example overtime pay or time account deduction results.

Second nice enhancment is the guided activity for temporary change of workschedules. If you need to assign for a day or a period a different day model or workschedule cause the employee needs to swap a shift or wants to work for a limited time according to a different work pattern - you will be guided now in this activity step by step when you click on "create temporary change". This is how the review screen of the guided activity looks like:


Thats it - this feature is universal push, so prepare your time admins that the look and feel and especially the usability of the previous "work schedule" tab has now improved tremendously. I hope you like it same way as I do.

 

1.5 Contingent workers displayed in team absence calendar


Besides hired "real" employees customers can have also contingent workers. You can assign a workschedule and a time profile to contingent workers so that they can record absences also in SF Time. This is necessary if you have for example a production team and you need to ensure that for each shift 5 workers are in the team available. In order to do the correct planning, employees and managers need to know on the planned absences of contingent workers. And to visualize this, we have included for web and mobile the contingents into the team absence calendar. There is a dedicated checkbox in the managers team absence calendar to include or exclude contingent workers:


If the manager checks the team absence calendar in the approval process then contingents are shown there by default (if they have absences during this period).

And in the employees team absence calendar the contingents are shown as well of course.

 

1.6 Multiple time account payouts with same posting date


If employees got terminated and they had more than 1 time account balance of the same time account type (because for example due to remaining balance from previous periods) a payout on the same payout date was not possible. Cause it was a payout for the same time account type using the same pay component.
This has now changed. It is now possible to create multiple time account payouts for the same user, pay component, and posting date. And it does not matter if the payout is triggered via the termination process or if it is a payout from the time admin workbench.

 

1.7 Miscellaneous Time Off topics


We have furthermore a couple of enhancement I only want to briefly touch open:

From early adopter to general availability:

Our previous early adopter features

  • effective dated time profile

  • reallocation of time account deduction

  • Employee Time calendar generation for reporting on leave of absence time types and time types with undetermined end date


are now released for general availability. Please check my previous blogs to get more information on this features. Please check also Steffen Dubetz` very informative blog on effective dating for time profile for more information.

 

New rule function "Get absence in days or hours for a period based on deduction quantity and timetype"

This allows in accrual rules to prorate time account accruals based on the time account deduction quantity of absences taken in a specific period.

Or in absence validation rules to limit the number of absences on the basis of the time account deduction quantity.

The rule can look like this:


 

Take rule parameter for recurring absences in absence validation rules

We have enhanced the take rule parameters in the Absence Validation Rule to include the "Is Recurring Absence" parameter.


You can use this parameter to raise a validation error if you do not want to allow creation of recurring absence for certain time types. Note that it can only be used in the IF- condition.


You can also use this parameter when editing or canceling recurring absences. For example, you can raise a validation error if an employee cancels leave because you want only admins to cancel recurring absences.


 

End of continuos pay calculation for sick leave enhancement for Germany

Provides automated end of continuos pay calculation not only for single illness records, but now also for the illness records that are linked together because of the same illness cause. SAP Time experts know this linking fields as "Kenn1" and "Kenn2". With this we have feature parity with the corresponding logic in SAP ERP infotype 2001. The dates calculated on EC side are replicated with our standard absence replication into the IT2001.

 

2. Time Tracking Features


Important: If you want to use a feature listed in this section you need the Successfactors Time Tracking subscriptionYou don´t need this subscription for all of your employees, but only for the number of employees using the time tracking features.

 

2.1 Copy possibility in time sheet UI


This one has a long history of customer requests and there are many votes in influence.sap.com on this requirement. And I am really happy to announce this features, cause to quote a very valuated customer: "this is a game changer for time recording".

Let me proudly present the Copy functionality in the time sheet.

This enhancement will dramatically improve the usability of time sheet recording and it will also speed up the time recording process so that your employees can spend more time on productive work instead of mandatory time recording.

Let me explain the functionality: you see in the time sheet UI 2 new buttons - one for "copy" and one for "paste". You see also checkboxes on day level in the time sheet UI:


The usage is simple: you mark a day or the whole week via the checkboxes on the left side on day level. Click on copy. Navigate to the week / day you want to insert. Click on paste. Done.

Supereasy, isn´t it? And how fast and efficient time recording can now be done. This is dramatically reducing number of clicks and a cumbersome navigation.

You might say now: okay, that´s good, but that is not suitable for this and that employee group or country cause there are clock in / out recorders or there is the legal need of accurate actual time recording and no employee works exactly like last week. So, can I switch this function off for selected employee groups? Yes, you can.

And if you take a closer look on this "simple" feature there is even more complicated things under the hood were product management, user experience and engineering team had to find good answers for. Let´s do a short question and answer game to explore those:


Question: What time types are copied?
Answer: Basically any records of categorie attendance, on call, break and allowance (and extra time type) record is copied when they are set to copyable and ESS enabled. But absence records are NOT copied, generated times (like for negativ time recorders) are also not copied. Imported times are not copied neither - cause here we assume that these are mainly clock in / out records coming from terminals and it would not make much sense to copy these.

Q: How do I know if the copy was successful?
A: There is a success message in the UI:


 

Q: What if there is already an existing record where I want to paste some records to?
A: This record is kept and the others pasted if there is no collision. If there are however collisions (cause you want to copy an attendance record to a day where a full-day absence already exists), then you get a collision error:


 

Q: What if I copy the whole week and paste to a different week and 1 day triggers a collision?
A: The whole copy process is aborted if there is a collision or any other error from for example configured validation rules

Q: What if there are errors on that day in the time sheet that I want to copy?
A: A copy can only be done with saved records. An error on a day prevents the save, hence it cannot be copied

Q: What if there is a day with an alert that I want to copy - like an alert for more than 10 hours recorded?
A: 
Due to the fact that it is only an alert you can save the records on this day. This means also you can copy it and paste it on a different day. The alert gets than triggered for this day as well.

Q: What if I copy a day to another day and there exists already an entry and this constellation leads to an alert or error?
A: 
Then the error or alert gets triggered. The copy is more or less nothing else as if you would manually record this data record. All subsequent processes like triggering of time valuation, alerts, approvals are not changed.

Q: What about custom fields, are they copied as well?
A: 
Yes. An exception is however a custom field of type attachment. Attachments cannot be copied, but the content of other custom field types are copied.

Q: What if there is a record copied and pasted that uses single record approval? Do I need to manually submit this record than once more?
A: 
No, in this case there is an auto-submit of this record.

Q: Can I configure which time types are allowed to be copied?
A: 
Yes, and this is really cool. In the time profile you can decide on time type level which time type is allowed to be copied. So, this is not a one fits all solution, but you can configure for each attendance, on call, break and allowance timetype if the copy for users with the assigned time profile is allowed or not:


So, in a nutshell: you can have employees with a time profile where no copy is allowed at all, you can have employees with time profile where all time types are allowed to be copied and others where only some dedicated time types are allowed for copy. Super flexible and you can choose what you want to provide for any employee group.

If no time type is set to copy allowed, then you don´t even have got the copy / paste buttons in the time sheet.

Q: Can I  differentiate between roles like a manager is allowed to copy and an employee not?
A: 
Yes, even this is possible. We use here the already established concept of ESS enabled timetypes. You can set these timetypes to not allowed to copy, but the non-ESS flagged time types  to copied allowed. Then these timetypes can be copied in the on behalf scenario from managers or time admins.

Q: Can I redo the paste once I have copied?
A: Yes, all copied entries remain in the clipboard, so you can paste them multiple times.

So, that´s it. I hope you agree that this is a really cool feature that will ease the process of time recording. Lets come to the next topic that improves usability to a great extent:

 

2.2 No submit needed anymore for single records that need an extra approval


You most probably know the approval process in our time sheet. There is the submit and the approval of the whole time sheet as such. And, for special attendance time types like overtime, home office, on-call or business travel, you can configure an extra approval for these timetypes, cause it might be that you don´t want to have an approval for the overall time sheet, but only for those times that the employee records as home office or overtime.

Up to this release you had to submit separetly those time types that need an extra approval. This was an unnecessary and cumbersome extra-step and this has been improved now.

Employees recording time that requires an extra approval no longer need to worry about the submission. Instead, the submission is done automatically when the record is saved.


Big usability improvement based on the feedback of many customers.


Now lets move from usability improvements to rather legal topics:

 

2.3 Rest period violation detection


There are many laws and regulations that stipulate an employee needs to have specific rest rule time slots before starting work on the next day. In the EU this is for example 11 hours. So, when you finished work on tuesday at 19:00 you are not allowed to start work on next day before 06:00. Else, this is a rest rule violation.

This kind of regulations are implemented to ensure an employee has sufficient rest time to recover from work. You cannot force an employee to work a late shift and on the next day an early shift for example.

Customers interpretate this regulations however very differently, even the consequences for a rest rule violation is different.This can reach from an alert up to a talk with the manager if this happens often or even to a salary deduction.

But in any case, you first need to detect the rest period violation in the time valuation before actions are taken. And this is possible with this release.

To cover this requirement we have introduced our new so-called time container object (see next chapter). This allows to persist on a daily basis time valuation results and to use it as input even days after for another time valuation - exactly what you need to do to check rest rule violations.

The configuration is done via the time valuation. To not make this blog too big please check the concrete configuration steps and details in our implementation guide. It is listed step by step what you need to do. Click here for detailed documentation of rest rule violation detection.

Or:

There is also a SAP Best Practices solution with all the necessary configuration planned that you can download into your system. At the time of writing this blog it is not yet finished but should be in May/June. See also the very last chapter of this blog on our SAP Best Practice solutions.

But let me give some background on the enhancements we did for this requirement - cause this comes with a new architectural design and a new valuation type that opens us new doors and dimensions for future time valuation enhancements. Lets first elaborate on the new architectural design and new object:

 

2.4 Time Containers


We have invested lots in the last 2 releases to prepare the ground for a new architectural direction in our time valuation. We did this to be able to get away from our rather strict daily, weekly and monthly time valuation periods. Our architects call this new approach the "2nd level time valuation". In this release we provide the basic elements for it. Future enhancements of our time valuation will build upon this and enable entering into a new dimension of time valuation. Let me explain a bit the time containers and give a future outlook.

What we deliver in this release is the new object "time containers". This is a new important object. These time containers store daily time valuation results on the database. Right now it is used for the above mentioned rest period violation detection - cause here start / end times of working time needs to be stored and on the next day or even days after used as input for a time valuation.

Time containers are similar like time collectors - but will be much more flexible and the way to go forward. So, if you are in an implementation project and you think of using collectors - don´t do it. Use the time containers instead.

If there are day results persisted on the database then it is only a question of future enhancements to read this day containers not only for a week or a month, but for whatever period you need it. Of course there need to be new valuation methods developed that enable for one day container to collect the values for a quarter, a year, half-year or even rolling periods. This is then possible when we have aggregated data stored on a daily basis. So, this is from an architectural point of view a big step in our time valuation that will make us more flexible to cover requirements that up to now could not be covered.

This is going to be a powerful future tool for time valuation - groundwork is done with this object that contains persisted time valuation results. You can be assured that you will read more on time containers in my future blogs ;-).

But how to create a time container? Quite easy.

You can use any time type group to define it as a time container by just setting the checkbox to yes:


And of course you need to build time valuations that create this time type group - but this is known business.

The rest rule violation requirement made it also necessary to create a new valuation type. But this valuation type is not only for this scenario, but it can be used to cover other use cases as well:

 

2.4 Useful time valuation enhancement: Create time record out of nothing


Let me introduce a new time valuation type that was build to cover the rest rule violation scenario (see chapter above). A side effect of covering this scenario is that this new valuation type has lots of potential for future enhancements making our time valuation even more flexible. And you can use it right now for specific scenarios beside the rest rule violation scenario that might help you in many use cases were up to now a workaround was needed.

The new valuation type is called "Create time record". What is this doing?

Think on how currently time type groups are created. You always need an input time type group (like attendance records, planned working time....) to apply an aggregate and split valuation, route valuation type or any other valuation type. But often there is a requirement like: if an employee has a working day he gets by default 10 minutes transfer time (in German "Wegezeit") generated. This might be because the entrance gate of the company is far away from the time recording terminal, and when the employee enters the companies entrance gate he still needs to walk 10 minutes to his building where he performs the clock in. And then some customers "grant" this extra 10 minutes as paid time or book it on top to the flextime account.

Another example is "washing time" or "cloth change time". An employee is scheduled to start his work at 08:00, but he needs to dress specific clothes to perform his work (like for example in chip manufacturing sites). Often a couple of minutes are added to the paid time of the employee.

With this new valuation type you can exactly achieve this.

You create a new valuation with the valuation type "create time record". As you can see from the screenshot, there is no input time type group field. You need to enter start / end time and choose the time type group that shall be generated and the system generates then for each day the time type group with the defined start / end times. And this can then be used in all subsequent time valuations and you also can apply filters for it so that an employee for example receives this additional paid time only when he has recorded an attendance time, or only if it is on normal working days or whatever condition you may have.

This is how the configuration looks like:


There is also the option to use as "starttype" and "endtype" not only a fixed clocktime value, but you can also choose "timetype group" here and set the start of this time record to the earliest start time of the choosen time type group and the endtime to the latest endtime. This option is especially needed for the rest time violation scenario (see chapter above). But there is currently no other scenario in my mind where this would be applicable - but it is a very good starting point to build in the future very flexible enhancements. Like for example providing the option of a duration plus start time = end time of another timetype group. For the experts in the German metal trade union contract this would be useful to cover the so-called "Ausgleich 3. Schicht", a time bonification for night shifts which is paid with same premiums as if the employee would work. And for this a "fake" time record of a specific duration needs to be created automatically with clocktimes after the end of the employees working time. This is needed to calculate the correct night shift premiums.

Another current limitation is that this time valuation type can only be used for time recording method "clocktime". You cannot use it for duration based recorders. But as said, there are plenty of options to enhance this valuation type in the future to make it a very powerful one. But it is a very good start and this makes many workarounds that consultants have applied to achieve the same result outdated and your configuration simpler.

 

2.5 Time Event (clock in/ out punches) reporting possibility 


Again, another useful enhancement. Many customers asked for reporting possibilities on time events (clock in / out data). Now they are delivered: Time events have been made available for reporting. Please note: in 1H there is no standard report delivery, this is planned for 2H release. However, you can create your own report using the reporting center.

Let´s have a look how the report can look like:


You can see by default lots of information, like whether the time event comes from a terminal or mobile or manual recording, you can see the approval status for manual recorded time punches, you see also the manager who needs to approve. You see the pairing status and even the reason in case of a manual time event recording and many more important information.

The filters on this full data list can then be used to drill down into specific business scenario - like for example if you want to see only the time events that are not paired - this can be used for the time being as a workaround to detect not paired times (we are already planning an alerts functionality). You simply set the filter on pairing status and "not paired":


 

Or if you want to find out the manual recorded time punches which are not yet approved - you use the filter on the approval status:


 

Another example: you want to find out the location where an employee entered the building - you use the filter on time recording terminal. Or if an employee clocked in via the mobile device you can see the Location where he did this (if the location tracking is enabled - see my previous blog on this feature):


 

I think the principle is clear - just explore the filter options in this report and you see that there are several other use cases you can cover:


 

And of course overall there are the role based permissions behind this report. This means that you can define that a manager sees only reporting results for his own direct reports.

 

2.6 Time Events API for Export


Some countries require for legal compliance a send of clock in /out events to legal authorities on near real-time basis. Like for the "Ergali" regulations in Greece for banking and supermarket sectors where within 15 minutes the clock in / outs of employees need to be send to this authorities.  But also some customers and partners asked if we can provide the time events for export purpose to build other services on top of it. We created an Odata API for this.

The new odata API gives you following time events for a selected period:

  • that resulted in attention required (not paired time events)

  • were punched via terminal along with the terminal ID information

  • were punched via our web UI

  • manual recorded time events (cause employees might have forgotten to punch) with reason code and comments

  • all time events


For details please consult the corresponding help document.

 

2.7 Rounding of start / end working time to flextime bandwidth


In my H2 2022 release blog I described how to configure rounding of first start and latest end time to the start/end time of the workschedule planned working time. This allows you for example to not immediately generate overtime or warnings / alerts when there is a clock in / out a couple of minutes before / after the start/end of planned time because of a queue at the time recording terminal at shift start. You can define a time span for the start and end time in which a record can be rounded to the start / end time of the planned working time.

However, for customers using the flextime concept based on our flextime bandwidth a rounding to the planned working time does not make much sense. Cause here the flextime bandwidth is the more important work schedule information. Hence, we enabled the existing feature and you can now round to the start / end time of the flextime bandwidth as well.

How is this achieved? Pretty simple: In the rounding rule you can choose via the field "rounding base" if the rounding shall be applied to the workschedule flextime bandwidth or the workschedule planned working time.

Here you can see the new field in the rounding rule object:


And this is already all you need to do.

If you don´t select anything here the standard rounding is on the "Scheduled Working Time".

 

2.8 Minimum break check


Another enhancement for the complex topic of break handling.

In the European Union Working time directive (and in many countries working time laws) there are paragraphs on break handling. This is to ensure that employees take the breaks that are needed to retain in physical and mental health. There are lots of regulations on how long and when the break needs to be taken. The most famous is the dynamic minimum break that says that at least 30 minute break needs to be taken after 6 hours of working time (and at least 45 minutes after 9 hours of working time). This is covered with our dynamic break configuration.

However, the European Working Time Directive does not in detail say anything on the minimum block duration of a break (it just says a bit generic: it needs to be long enough). So, the question is: how long does a recorded break needs to be to be regarded as a break?

Many country laws have passages in which it is clearly defines how long a break ought to be to be regarded as a break. In Germany for example it is stated that breaks can be divided into blocks of 15 minutes at minimum. So, according to this if an employee clocks in / out for a 10 minute break then this break does not really count as a break. And when we apply the dynamic break deduction this 10minute break needs to be disregarded and a full 30 minute break generated to be compliant.

With the new feature you can now achieve the disregard of recorded breaks below a configurable minimum threshold.

Let´s look on a concrete example:


Assume you configured a dynamic break deduction of 30minutes after 6 hours of working time (according to EU directive). Employee did sleep a bit too long and started work at 10:00, but he realized he is still terribly tired cause he was out dancing and he needs a coffee and clocked out for a break for 10 minutes from 10:30 - 10:40. If you just use the dynamic break deduction an additional break would be generated at 16:00 (after 6hours of working time). The duration of the generated break would then be only 20 minutes, cause the employee has recorded already 10 minutes so only 20 minutes are missing to generate to meet the 30 minute break regulation.

But if you use the new feature, this 10 minute recorded break is not regarded for the break calculation. And it is not a recorded working time - so the start of the generated break is "after 6 hours of working time", so the break starts at 16:10. And the duration is not 20 minutes, but 30 minutes cause the 10 min recorded break do not count when you use the minimum break block feature.

All you need to configure is to fill a new field in the dynamic break configuration object. In this field you can state how many minutes the minimum break shall be:


That´s it, you don´t need to do more. The rest is hard coded and checks if the employee has recorded breaks that are less than the minutes you enter in this field. If so, it is not regarded for the auto-break generation calculation.

There can be much more sophisticated scenarios, with recorded breaks, gaps in the working time, full or partial break deduction, but I spare you details on this. This short introduction is only to facilitate the understanding of the main mechanism of this new feature.

 

2.9 Time valuation filter on public holiday pattern


You know already our time valuation filters with which you can filter on a specific public holiday category, weekday or even clocktime period.

If you want to utilize our new holiday work pattern that I described in the time off section also in our time valuation, then you just need to create new filters (or enhance existing ones) with the new option to filter on a holiday work pattern:


Of course you need then apply this filter also in a "filter input groups" time valuation:


and with this you can generate a specific premium pay for recorded working time on a public holiday, which is not an off-day for the employee but a regular working day.

Why do you might want to use it? Cause if you have employees for which public holidays are normal working days the whole premium pay generation for them is different on those days. Work on a public holiday which is a non-working day is overtime, whereas work on a public holiday which is a regular working day is just regular work. It might be that this is paid differently, cause there might nevertheless be a public holiday premium be paid, but for sure no base hours for a salaried employee. Cause the paid public holiday is already included in the salary.

In the overtime scenario there might be the public holiday premium AND base hours paid - but some customers have special regulations. Like in Germany usually when the work is performed inside the usual shift hours you just get the public holiday premium, outside on top base hours.

But in any case - you need to differentiate these two scenarios (work on public holiday which is a off-day vs. work on public holiday which is a regular working day) in time valuation. And with the time records filter you can do so.

Yes, this topics adds complexity to the time valuation - but time management is as payroll: it can always get more complex 😉

 

2.10 Import of external time data for overtime recorders


Many of you know our external time data API. With this you can send time data from external sources into an employees time sheet. And we use this API as well to send time types derived from the clock in / out scenario into the time sheet.

However, this external time data API was available only for employees having a "positive time recording method" assigned in the job information.

The new enhancement is that this external time data API can now also be used for "overtime recorders". It works exactly the same as for the positive time recorders. So, if you want you can now send external time data for an overtime recorder.

And we already plan to further enhance this possibility for negative time recorder as well. However, here some further logic is needed that´s why we need a little bit more time to enable it for negative time recorders.

 

2.11 Configurable auto-submit of time sheets for overtime recorders


You know this: employees forgot to submit their time sheets before the payroll run. Consequence might be that this data does not flow to payroll, hence the employee is not getting paid correct.

For some specific data constellations we already provide an auto-submit (negative time recording, positive time recording with time sheets full of absences or external time data for example) but this was not provided for overtime recorders.

But this feature is not only a catch up, but it is the first step into more to come.

Let me explain this feature: for overtime time recorders there was no option so far for auto-submit. This was especially painful if for the overtime the single record approval was used, so all recorded overtime was already approved. Why should the employee then submit again his time sheet with overtime when all single records have already been approved?

The new enhancement allows a more sophisticated configuration for an auto-submit process for employees with the time recording method "overtime recorders". How does the configuration look like?

First you need to add to the time recording profile the new configuration object "time recording submission configuration":


 

In this new object you can assign a so called "submission rule". We deliver a dedicated rule scenario for this business rule. Hence, you can create your own business rule to trigger an auto-submit:


 

In the business rule you can choose following parameters:

  • full workschedule covered ?
    This is equal to: did the employee cover the planned working time with his time recordings.

  • has absences?
    This is equal to: is there any absence record in the week?

  • has generated entries?
    This is relevant for negative time recorders especially - cause here the planned working time gets converted into generated actual times if the employee did not record any deviation

  • has imported entries?
    This is if the time sheet contains any imported times

  • has manuel entries?
    This is set to yes if there is at least one manual recorded time data (attendance, on-call, break or extra time type)

  • All entries have single record approval?
    This is a new delivered parameter. It can be used to check if the time sheet consists of time records that need single record approval and all are in the status "approved"


 

Please note that this feature is only on the process of submit of a time sheet. Not on the process of approval of time sheets. For time sheet auto approval (or if an approval workflow is triggered at all) you can use the Employee Time Sheet save rules.

And why is this a first step into more - and what more? Cause we laid with the new submission object configuration and the possibility to use business rules the foundation for further enhancements. We plan for example to access via the business rules an object where customers can define for example their payroll dates. Or time sheet submission dates. Or time sheet approval dates. Stay tuned to my blogs, the developments for this enhancements did already start.

 

2.12 Configurable Information dialog in Time Sheet UI


This is just a heading for completeness purpose. Instructions texts for the time sheet are described in the corresponding time off chapter. Please check there, configuration is the same except that time sheet instruction texts are assigned to the time recording profile. The instruction texts for time sheet is provided for time tracking customers.

 

2.13 New SAC report for Time Tracking usage analysis


With H1 we provide an improved and better designed SAC report for time tracking usage reporting. As you know, all Time Tracking features delivered in previous releases and in this release require time tracking subscriptions. However, in big companies with deployments in many countries it is not often clear how many employees have configurations assigned that contains time tracking features. To get an overview on this we provide a SAC report. This report has now been improved and of course the new H1 features like

  • minimum break block gurantee

  • create time record valuation type

  • copy in time sheet


are included as well.

But let´s just see how the old report looked like:


For each time tracking feature there was an own reporting page - which was a bit cumbersome. The new report comes with only 2 pages.

The first gives you an overview on the time tracking features and the usage in total:


And upon clicking on the legal entity (or any other parameter you choose here) you get a drill down into the details of this entity:


If you want more information on this report, please consult the documentation on help.sap.com

 

2.14 Miscellaneous Time Tracking Features



  • Initializes rules for time sheet


Initialization rules for new time sheet UI

This feature covers a gap between the new time sheet UI and the old time sheet UI. For the new time sheet UI it is now enabled to utilize so-called Initialization rules. It is a business rule that delivers upon recording of attendance, on-call or allowance types default values for custom fields and cost center.

 

 

3. Miscellaneous


3.1 Mobile enhancements


Just a brief overview on the enhancements from mobile for time features:

  • Cross midnight time recording

  • Single record approval

  • Support of half public holidays

  • Display leave balance in the time off manager approval workflow

  • Display of contingent workers in team absence calendar

  • Sorting of custom fields in mobile timesheet similar to web time sheet

  • Editing of approved leaves through the mobile app

  • Support of bigger list of cost centers in mobile time sheet


3.2 Transport Management System


Really good news: Our platform team has worked on a transport management system similar like the transport management capabilities in our SAP ERP solution. Up to now you could move configuration from development or test instance into the production system only via export / import of MDF objects. This was cumbersome. And customers complaint as well on the necessary permissions for MDF import in the production system to do this job. Now you can use this very comfortable new transport management tool and get rid of unnecessary permissions in the production landscape.

You need to create in the configuration center first a transport bundle:


 

This is kind of collector for all the configuration object you want to transport.

If you then go into a time object like the time profile you have via the action menu the option to assign this object to a transport bundle:


 

This object has now been added to your transport bundle. You can verify this again in the configuration center:


Of course you can add multiple objects to this transport bundle. And if you are done with the configuration and happy you press "Initiate transport". In the subsequent screen you need then to choose data center, environment and company ID and you are done.

This is the current list of time objects that are included in the transport management:









































































































Absence Counting Method
Absence Pay Policy
Absence Pay Scheme
Accrual Lookup By Seniority
Allowance Type
Dynamic Break Configuration
Electronic Sickness Certificate Exclusion Reason DEU
Holiday
Holiday Calendar
Holiday Category
Holiday Planned Working Time Determination
Holiday Work Pattern
Periodic Time Account Update Profile
Rounding Based On Work Schedule Information
Shift Classification
Time Account Payout Profile
Time Account Purchase Profile
Time Account Type
Time Management Collision Resolution
Time Management Configuration
Time Management Retention Group
Time Management Termination End Handling Configuration
Time Management Termination End Handling Exclusion
Time Profile
Time Recording Admissibility
Time Recording Profile
Time Records Filter
Time Type
Time Type Collision Grouping
Time Type Group
Time Valuation
Time Valuation Period
Work ScheduleDay Model
Work Schedule Day Model Variant Identifier

 

 

3.4 Auto-acknowledge of Admin Alerts


You know the Admin Alert application. All alerts created from time valuation and some errors are send to the Admin Alerts. An admins task is to review the alerts - and if he want to confirm the alerts in a way that he documentate that he has read it he needs to manually acknowledge the alerts - and they are moved to the acknowledge tab.

This is how an time management alert looks like in the Admin Alerts tool:


There is now the possibility to have this alerts "auto-acknowledged". You can define by alert type a days period after which the alerts are auto-acknowledged. This can be done from the Admin Alert UI via the "Configure Alert Type" button in the upper right corner. In the subsequent pop up you can set the days after which an auto-acknowledge shall be applied:


 

Please note that there is a new default setting for all time management alerts: by default there is an auto-acknowledge period of 365 days set. If you want to prolong this, you have to set in the above field the number of days you want to have - or switch the auto-acknowledge off completely.

 

3.4 Time forms (Early Adopter)- Create letters based on templates with actual absence and master data


"Time forms" allow to generate documents with absence related data out of the time management application. This is needed for some countries. Time Administrators can define (country dependent) templates and assign time data and master data information to it. In the time administration workbench this letters can then be generated with actual absence data. The form can be downloaded as pdf or word-document. For this a new permission controlled tab is introduced in the time admin workbench:


This tab contains all created time forms and provide the possibility to create new ones. When you click on the "generate form" button you get the template selection:


The result can look like this:


Opening in the word application:


In this example you see how master data like the pay grade is merged with recorded paid absence data:


 

There will be more enhancements in this area in the future - like for example direct mailing of a time form to employees.

This feature is in H1 only in Early adopter mode, we have to switch it on for you upon request. If you want to use this feature and participate as an Early Adopter customer, reply to this post.

 

3.5 SAP Best Practices delivery in H1 release


You hopefully know our SAP Best Practices services. These cover common country specific business scenarios and you can download standardized configuration that covers legal or common used business scenarios. Hence you don´t need to start implementation from a green field, but use what this guys preconfigured for you (special thanks to neelesh.kamath).

This are the topics delivered:

  • Sample holiday categories, holiday work patterns (planned)

  • Germany time tracking

    • §3b tax freedom handling of core night, work on sunday and public holiday

    • Filtering of cost center based on legal entity

    • sample grace rule rounding on planned working time

    • sample rest rule violation detection (planned for May/June)



  • France time off:  vacation rules (CP), Payout and RTT

  • Oman time off: new time off localization containing various time types and accrual / take rules

  • Hungary time off: new time off localization containing various time types and accrual / take rules

  • Mexico time off: law change in seniority days for accruals

  • Malaysia time off: law change in hospitalization and maternity rules


 

That´s it for this release. Again nearly 11.000 words - but you managed it. Although I always plan not to write to detailed the sheer amount of features we deliver lead to the size of this blog. I hope nevertheless that you find this blog useful and that you like the new features we delivered. Feel free to give feedback.

Best regards

Volker Ruof

SF Time Product Management

 
24 Comments