Beruflich Dokumente
Kultur Dokumente
Rules
Introduction
This knowledge artifact is an attempt from my side to share my learnings on Public Holiday Calendar and Work
Schedule Rules. I was fortunate to have worked in a SAP HR Support project for a leading mining company
based out of Australia. And while supporting the solution and resolving tickets there, I learned quite a few
things about time management.
The good part of the solution implemented there was that it had used every bit of standard functionality
available to fulfill customer requirements.
I should have ideally written this knowledge artifact at least a couple of year back. However, its
better late than never! And yes, my artifact will be limited to things I know and have expertise
about.
Public Holiday Calendar
A Public Holiday Calendar is a collection of public holidays valid for a location (Personnel Area
and Personnel Subarea). Hence, a company having operations from Hyderabad and Chandigarh
will ideally have two different public holiday calendars. Because some public holidays valid for
Hyderabad employees wont be applicable for Chandigarh employees.
The transaction code to access Public Holiday Calendar in SAP is SCAL. The below screen comes up when
we execute TCode SCAL.
We first create a list of public holidays valid for a country and then assign all these public
holidays to public holiday calendars for various locations within the country. What this means
is that we can definitely re-use common public holidays in multiple public holiday calendars
for different locations within the same country. Hence, if public holiday New Year is valid for
Chandigarh and Hyderabad locations, we just need to create one public holiday New Year and
assign it to the public holiday calendars for Hyderabad and Chandigarh.
Let us select the radio button for Public Holidays shown in the previous screenshot and then click on change
icon. You will be brought to the below screen.
Use in Holiday Cal. - Helps us know if the public holiday is being used in any public
holiday calendar or not. You cant edit a public holiday if it is being used in any public
holiday calendar. You need to first remove it from all public holiday calendars where it is
being used and then make the necessary changes and again re-assign the public holiday
to the relevant public holiday calendars.
Helps to group together all public holidays valid for a country. It is a 3
Sort Key
character key and I recommend its naming convention to be Znn where nn stands for country
grouping. Hence, the sort keys for public holidays for Australia, India, New Zealand will be as shown
below:
Australia
India
New Zealand -
Z13
Z40
Z43
Let me try to change public holiday Deepavali which is currently being used in some public
holiday calendar. If you see the below screenshot, it appears in display mode only.
If you click on the Where-Used List icon, you will come to know the holiday calendars where
this public holiday is being used. Hence, the public holiday Deepavali is being used in the below
holiday calendars:
If you try to edit a public holiday which is not being used in any holiday calendar, it will open in editable mode
as shown in the screenshot below:
Please refer the above screenshot. There are 5 types of public holidays:
With Fixed Date
st
With a fixed day from date If there is a requirement that 1 Monday from 01-Nov will be
declared as Family Day, then we should select this option.
Distance to Easter
Easter Sunday
It is meant for public holidays for which dates vary with every year
Day
Month
Sort Criterion
Religious Denomination
particular religion.
3-9
Weekday
Day
Month
Hence, it means that the first Monday from 01-Nov will be treated as a public holiday. In the year 2014, the first
Monday from 01-Nov-14 will be 03-Nov-14.
The remaining attributes are similar to fixed date public holiday.
Distance to Easter
Let us look into the configuration details of public holiday with distance to Easter.
Can specify the no. of days before Easter this public holiday has to
Can specify the no. of days after Easter this public holiday has to
You dont have anything to configure here. The remaining attributes are similar to fixed date
public holiday.
Floating Public Holiday
A floating public holiday is one which occurs on a different date each year. It can also not occur in a particular
year. Examples of floating holidays are holidays based on lunar calendar like Holi, Diwali, Id and so on.
Let us look into the configuration details of Floating Public Holiday.
Year
Month
Date
Holiday Calendar
Valid From
Valid To
Used in Factory Calendar
Let me display the Public Holiday Calendar Australia by clicking on the change icon.
Each public holiday calendar has a validity period. Hence, Public Holiday Calendar AU is valid from 2000 to
2098.
Please have a look at the public holidays assigned to calendar id AU. These holidays are valid from 2000 to
2050. Hence, the validity of public holidays within public holiday calendar is different from the validity of holiday
calendar, thereby giving a lot of flexibility to configure and delimit public holidays in a calendar.
The buttons Assign Holiday and Delete Assignment help to assign and delete public holidays
from a calendar. This is needed to make changes in public holiday especially floating public
holidays.
Please note that if a floating public holiday is being used in multiple holiday calendars, then you would have
to first delete the floating public holiday from each calendar and then make changes. After the changes have
been made to the floating public holiday, then you need to assign them to all the public holiday calendars
where this was being used.
Once a public holiday has been used in a calendar, it should never be deleted permanently. If the public
holiday is not required from a particular year onwards, we should delimit the validity of the public holiday within
the public holiday calendar but not delete it.
If you would like to display the dates of public holidays in a particular year in a public holiday calendar, please
select the public holiday calendar and click on Calendar display icon.
Let me display the calendar for the year 2014 by clicking on the Year display icon. The below screen comes
up.
You will see that the fixed date public holiday Australia Day has been moved from Sunday 26Jan-14 to Monday 27-Jan-14. Both the dates will have public holiday class 1.
Below is the configuration for Australia Day public holiday for your reference.
So, this is all I have here to share about public holidays, public holiday classes and public holiday
calendar. I am not going into factory calendar as I didnt get a chance to work on this concept. Let
us now move over to Day Types.
Day Types
What is a day type and how is it different from public holiday class?
A day type helps us to determine if an employee is eligible for a public holiday or not and whether he should be
working on a day or not and how should he get paid for the given day.
What should be the public holiday class and day type for a DWS if the employee is supposed to
work on public holiday Independence Day as per planned work schedule? The employee wont
get paid if he doesnt work on the public holiday. For such a scenario, the public holiday class will
be 1 to indicate that the day is a public holiday and the day type will be blank to indicate that the
employee has to work on this day.
Blank
Blank
Blank
Please refer the below screenshots. This configuration will ensure that the employee is eligible for
only two public holidays New Year and Christmas.
I hope the concept of public holiday class and day type is clear now. Let us now move to the next concept of
Work Schedule Rule.
Work Schedule Rule
A work schedule rule specifies the working pattern and rules for an employee. The beauty of work schedule
rule in SAP is that it is highly module in nature. As a result of this, it promotes reusability of the components
involved in the work schedule rule.
Before we move further into this, let us understand few key things like groupings.
Groupings
Personnel Subarea Grouping for Daily Work Schedule: This is used to group daily work schedules
and then the personnel subarea grouping for daily work schedule is assigned to personnel subarea
grouping for work schedules. Let us assume that a company has operations in Hyderabad, Bangalore
and Mangalore.
Let us assume that employees in locations Bangalore and Mangalore have been assigned to personnel
subarea grouping for work schedules 01. Employees in location Hyderabad have been assigned to grouping
02. All three locations are to use the same daily work schedules. Hence, we can assign personnel subarea
grouping for daily work schedules 01 to personnel subarea groupings for work schedules 01 and 02.
I havent come across any client where the personnel subarea grouping for daily work schedule is
being shared across multiple personnel subarea grouping for work schedules. I have always found
one to one mapping in all the clients I have worked for.
Please refer the below screenshot of table V_T508Z. The first column represents the personnel subarea
grouping for work schedule rule and the second column represents the personnel subarea grouping for daily
work schedules.
Personnel Subarea Grouping for Work Schedule Rule: This is used to group personnel area and
personnel subarea for work schedules. It requires you to specify country grouping. Please refer the
below screenshot from Table V_001P_All.
The first column represents the personnel area, third column represents the personnel subarea and the last
column represents the
personnel subarea grouping for work schedule rules.
Public Holiday Calendar for Personnel Area and Personnel Subarea: This is used to assign public
holiday calendar to personnel area and personnel subarea in table V_001P_All. It requires you to
specify country grouping. Please refer the below screenshot:
Employee Subgroup Grouping for Work Schedule Rule: This is used to group employee group and
employee subgroup for work schedule rules. Please refer the below screenshot from table V_503_All.
The first column represents the employee group, third column represents the employee subgroup and the
last column represents
the employee subgroup grouping for work schedule rules.
As mentioned earlier, a work schedule rule is highly modular in nature and is comprised of work break
schedule, daily work schedule
and period work schedule.
Work Break Schedule
Work Break Schedule (WBS) is maintained in table V_T550P. Please refer the below screenshot:
Let us understand the different fields for a DWS from the above screenshot.
DWS Grouping
End
It helps to determine the DWS variant. I will talk about it in more detail later
Working times can be fixed working hours and flextime working hours.
Fixed Working Hours It is applicable if the employee has to work fixed working times.
Planned Working Time
It represents the start time and end time of the daily work schedule.
Flextime Working Hours It is applicable if the employee has to work flexible working times.
Core Times 1 and 2 If an employee is working flexible working hours, then you can specify the
core times during which he must be at work. Two core times can be defined and they shouldnt
overlap with breaks.
Work Break Schedule - You can assign a break schedule to the daily work schedule here.
Tolerance Time
If an employee comes during this period, it is assumed that the
Begin Tolerance Time employee has come at the planned shift start time. If the tolerance is after planned shift start time,
it allows an employee to come late without being considered late. If the tolerance is before planned
shift start time, it helps to prevent the system from considering this period as overtime. Tolerances
are processed in the schema by function DPTOL.
Daily Work Schedule Class It can be used as a parameter to define overtime rules in table V_T510S,
define rules for quota deduction in Table V_T556C. It can also be referenced in PCR to define various time
related scenarios. The values of DWS Class are from 0 to 9. DWS Class 0 stands for OFF day.
Automatic Overtime
If this checkbox is checked, then any time outside the planned working hours
gets calculated as overtime. This happens in PCR TO15 in time schema TM00.
Let us now go back to DWS Selection rule and DWS variant.
DWS variant is used in two scenarios:
Scenario 1: When we want another DWS to be called in based on certain conditions
getting satisfied If there is a requirement that whenever Friday is a public holiday, then
the planned working hours for Thursday should get reduced to 4 hours from 8 hours.
Below is the detailed explanation of the two scenarios of variants for DWS.
Scenario 1: Rules to determine variant for monthly WS rule generation (Table V_T550X)
Let us try to understand the rule 01. It has two sub-rules 01 and 02. The 2
executed only when the first sub-rule fails. If the first sub-rule passes, then 2
nd
nd
sub-rule gets
Holiday Class - It comprises 10 spaces representing the 10 public holiday classes from 0
9. It represents the holiday class for the current day. X represents the holiday class in scope.
Rule 01 Sub-rule 01 gets executed and the variant B is called in if the holiday class of the current
day is 2, if the holiday class of the next day is anything from 0 9 and the weekday can be
anything from Mon Sun. If the rule 01 sub-rule 01 is successfully executed, then the original
DWS is replaced by its variant B.
If the rule 01 sub-rule 01 fails, then the rule 01 sub-rule 02 gets executed and the variant B
is called in if the holiday class of the current day is anything except 2, if the holiday class of
the next day is anything from 0 9 and the weekday is Friday. If the rule 01 sub-rule 02 is
successfully executed, then the original DWS is replaced by its variant B. If the rule 01 sub-rule
02 fails, then the variant B is not called in and the original DWS is used.
Apart from defining the DWS Selection rule, you also need to create a DWS with the variant B and define the
planned working hours for the DWS with variant B.
Scenario 2: Determine Daily Work Schedule Variants for Absence
Let us try to understand the rule 01. It has only one sub-rule 01
Holiday Class - It comprises 10 spaces representing the 10 public holiday classes from
0 9. It represents the holiday class for the current day. X represents the holiday class in scope.
HolClNext Day - It comprises 10 spaces representing the 10 public holiday classes from
0 9. It represents the holiday class for the next day. X represents the holiday class in scope.
GrpAtt/Abs - It represents the absence grouping of the absence which is defined in
Table T554S. It comprises 10 spaces representing absence grouping from 0 9. X represents the
absence grouping in scope.
Weekday
It represents the weekday and has seven spaces ranging from Mon to Sun. X
represents the weekday in scope.
Variant
Rule 01 Sub-rule 01 gets executed and the variant A is called in if the holiday class of the current
day is anything from 0 - 9, if the holiday class of the next day is anything from 0 9, if the
absence grouping of the absence applied is 1 and the weekday can be anything from Mon Sun.
If the rule 01 sub-rule 01 is successfully executed, then the original DWS is replaced by its variant
A. If the rule fails, then the original DWS is called in for absence hours.
When an absence type with absence grouping 01 is applied, the DWS selection rule 01 assigned to the DWS
will get executed. If the rule execution is successful, the original DWS gets replaced with DWS variant A and
the no. of hours mentioned in the DWS Variant A gets deducted for absences.
Let us now move on to Period Work Schedule.
Period Work Schedule
A period work schedule is a group of daily work schedules which gets repeated to form a working pattern. It is
defined in table V_T551A.
Please refer the below screenshot which has 3 PWS displayed:
Grpg
PWS
Period WS Text
Week
Grpg
PWS
Start Date
End Date
Cntg Class Counting Class is used to count absence and attendance by specifying different methods of
counting according to the period work schedule.
Let us now move over to Work Schedule Rule configuration.
Work Schedule Rule
A work schedule rule specifies the working pattern, public holidays and working hours for an employee.
Configuration of work schedule rule is done in Table V_T508A. Please refer the below screenshot.
ES Grouping
Holiday Calendar ID
PS Grouping
Start
End
Weekly Workdays
Please find below the recommended co-relation between weekly working hours, monthly working hours and
annual working hours.
Annual Working Hours
You can specify the rule for specifying the day types for days.
DWS Grouping
Let me explain you the importance of WSR Start Date and Ref Date for PWS.
WSR start date is the date from which the WSR is created. Ref Date is the date based on which
the WSR is generated. If the ref date is 11-Mar-14, then the WSR gets generated from Mar14
onwards.
Let me give you a real time situation. A new employee has been hired and he is going to be placed on a new
WSR effective 01-Mar-14.
What should be the WSR start date and ref date in such a case and month of generation?
I recommend the WSR start date to be effective at least 2 years before the month of generation. The month of
generation should be at least a month before the employee needs to work on the WSR. Why is this so?
In our example, since the employee has to start work on 01-Mar-14 on the new WSR, I would generate the
WSR effective 01-Feb-14 and I will create the WSR from 01-Feb-12.
The generation has to be at least one month before the month employee gets placed on the
WSR because in case of time evaluation, it checks for the generated DWS on the last day of the
previous time evaluation period. If we generate the WSR from Mar14, there wont be any DWS
generated for 28-Feb-14 and this will give a configuration error during time evaluation run.
Let me give you another scenario. Let us say that there are two shifts in which employees have to work. Group
A employees have to work as per pattern A and Group B employees have to work as per pattern B. Please
refer below patterns A and B.
Pattern A
Week
Mon
Tue
Wed
Thu
Fri
Sat
Sun
001
Day
Day
Day
Day
Day
OFF
OFF
002
Night
Night
Night
Night
Night
OFF
OFF
Pattern B
Week
Mon
Tue
Wed
Thu
Fri
Sat
Sun
001
Night
Night
Night
Night
Night
OFF
OFF
002
Day
Day
Day
Day
Day
OFF
OFF
You can generate more than one WSR at the same time.
Enter the details of the WSR and the period for which you wish to generate the WSR and enter E in field BTCI
and execute. This will do mass generation of WSR for the period requested.
The generated WSR is saved in Table T552A.
Every time that you add, delete, change or update a public holiday in a calendar, you would need to generate
all the impacted WSRs for the given months for which the change has been made.
Sometimes there may be a need to change the generated DWS for a particular day. Let us
say that the employees are working 5 days 2 OFFs in shift 9 am 6 pm from Mon Sun on a
particular WSR.
Now, you would like all your employees on this WSR to work only on a particular Thursday from
9 am 1 pm. In such a case, we should substitute the existing DWS with another DWS (having
timings 9 am 1 pm) in the generated WSR using TCode PT02. This will ensure that the shift for
that Thursday will change for all employees on this WSR.
However, if there is a request to change the shift timings only for selected employees, then we should do shift
substitution in IT2003 for the selected employees.
Infotype 0007
Infotype 0007 contains the planned working time for an employee. Please refer the below screenshot from
IT0007.
Time Management Status Specifies the time management status for the employee which goes on to
determine whether time evaluation happens or not and if it is positive or negative time evaluation. You can
default time management status using feature TMSTA.
Working Week
In some clients, the start of week can be different compared to the standard
and the start of week can also be dependent on timings. In such cases, we need this concept of working week
to specify the start and end of the week. Working week concept in standard SAP is used for weekly overtime
calculation in sub schema TW30 in time schema TM04. You can default working week using feature WWEEK.
Part Time Employee
If you check this checkbox, the part time functionality will get enabled.
As per the current full time WSR, an employee has to work for 5 days in a week from Mon Fri
with 8 hours per day and 40 hours per week.
Let us assume that an employee has to work 60% of a full time WSR with reduced working hours each day. In
such a case, we check the part time employee check box and change the employment percentage to 60%.
Please refer the below screenshot.
The system automatically adjusts the daily working hours, weekly working hours, monthly working hours and
annual working hours automatically based on the employment percentage. This was one scenario of part-time
WSR.
What do we do if an employee works 60% by working 8 hours from Mon-Wed and OFF from Thu to Sun?
In such a scenario, we create a part time WSR like a full time WSR and then use capacity utilization field in
IT0008 to capture 60% utilization.
Here I come to the end of this knowledge artifact. I hope you enjoyed reading through this document.
Thanks for your patience and time to go through this document.
Warm regards,
Vivek Barnwal.
**************************************************************************************************
You can also refer to other knowledge artifacts created by me at the below link:
One Stop Shop of my Knowledge Artifacts in SAP HCM