Learn how to create work schedule variants and selection rules and avoid the implementation of more complex user exits.
Key Concept
You can modify an employee’s planned work schedule by creating variations from standard working time for specific scenarios. A work schedule variant is used to create many variations to a daily work schedule. These variants can result in changed work hours or different start and end times. A selection rule is used to define how a specific day is paid based on a two-dimensional matrix of holiday class and day of the week. A company may have a scenario in which employees’ work hours deviate from normal work hours, or breaks deviate from the normal allotted break times. These variations to a work schedule depend on factors such as holiday class and day of the week.
For example, a company may wish to have reduced working hours the day before a public holiday, or an organization may have a half-day holiday on Saturdays. The treatment of absence or attendance for a particular day may differ from other days (e.g., a rotating shift schedule). To account for these different scenarios, the SAP system has a work schedule variant provision.
Daily Work Schedules
Work schedule variants are linked to daily work schedules. The daily work schedule can be defined as the basic building block in time management. On any given day, these schedules define whether employees have to work and, if it is a workday, their start times, end times, breaks, and total working hours. Before explaining more about work schedule variants and selection rules, I will define two important terms: day type and holiday class.
Day Type
A day type defines how the system pays any day of the period; therefore, each day of the period has a day type assigned to it. See Figure 1 for the standard day types available.

Figure 1
Day type options
The default Day type blank is for normal work and pay (i.e., a normal workday and pay). In practice this means that if you do not assign a day type to a day, the employee is paid as normal. Figure 1 shows blank slots for three standard day types:
Holiday Class
Holiday class defines the specific type of holiday — i.e., whether it’s a public holiday or any special holiday (special holidays are usually company specific). Holiday classes are required to identify a public holiday and can be used to differentiate various holidays that have different rates of payment. The following possible holiday classes are available:
- Class Blank: Not a public holiday
- Class 1: Ordinary public holiday (e.g., Thanksgiving Day and New Year’s Day)
- Class 2: Half-day holiday (e.g., a half-day holiday for company-specific events such as a company’s anniversary)
- Classes 3 - 9: Customer-specific holiday classes
By default, the holiday class field is blank for all the days. Customer-specific holiday classes are used in scenarios such as a particular public holiday when the payment should be doubled. To separate this public holiday from other public holidays, the holiday class assigned is a holiday class other than 1. Therefore, during that time evaluation, this particular holiday is identified based on its holiday class, and double payment is made.
Three Steps for Creating a Work Schedule Variant
Assume there is a work schedule in which the employee needs to work for eight hours, from 9 a.m. to 5 p.m. A variant of this work schedule may be having reduced work hours (from 9 a.m. to 2 p.m.) This variant is applicable only for some days; for example, Saturdays. Multiple variants also may be used for a single daily work schedule such as different work hours for Saturdays. Here are the steps you take to create a variant:
Step 1. Create the daily work schedule variant selection rule.
Step 2. Assign the rule to the work schedule.
Step 3. Create a variant of the work schedule.
I’ll now explain each of these three steps in detail.
Step 1. Create the Daily Work Schedule Variant Selection Rule
Why is the rule required? A rule defines the conditions when the variant of the work schedule should be triggered. These conditions are holiday class of the current day, holiday class of the next day, and day of the week.
The IMG node where the rule is created is Time Management > Work Schedules > Daily Work Schedules > Define Rules for Variants. You create a rule by selecting any of the values from the holiday class of the current day, the holiday class of the next day, or the day of the week. This action triggers the rule. Figure 2 shows some examples of the columns available during the creation of the rule for work schedule variants.

Figure 2
Work schedule variants rule screen
You now define your daily work schedule variant selection rule. Your rule consists of the following elements:
- Rule: This is the rule name and it can be any two characters alphanumerically.
- N. (Number): You may need multiple variants for the same work schedule. In those cases, only one rule is used for rule one, which is assigned to the work schedule, but each rule may have subrules. These subrules can be defined in this column.
- Holiday class (of the current day): Here you mark the holiday classes of the current day, for which the variants have to be triggered or activated. You mark a holiday class by placing an X at its position. Ten positions are available for holiday classes, from blank to nine (i.e., blank, 1, 2, 3, 4, 5, 6, 7, 8, 9), as shown in Figure 3. Suppose you want the variant to be triggered for only normal workdays (i.e., not public holidays). The holiday class would have an X only in the first position, and the remaining nine positions would be blank, as the first position corresponds to holiday class blank. Therefore, you enter an X for that holiday class that you want to trigger the variant.

Figure 3
Positions for holiday class
- Holiday class of the next day: This column is the same as the earlier entry for holiday class for the current day, except that this column checks for the holiday class of the next day and triggers the rule. For example, if the current day being evaluated is December 31, then the next day would be January 1, and the system would check the holiday class for January 1.
- Day: This column checks for which day of the week the variant has to be triggered. Seven positions are available for weekdays from Monday to Sunday. If you need to activate a variant only on Wednesday, then you would place X at the third position. The rest of the positions would all remain blank (the third position corresponds to Wednesday).
- Variant: When the aforementioned conditions have been met, you need the system to process a variant of the normal daily work schedule. You give the variant a one-digit letter or number to indicate which variant of the daily work schedule you are going to process. For example, in the first line of Figure 2, when the conditions defined in rule AA are met, the system should process Variant A of the daily work schedule.
I’ll now describe two scenarios of how to create a rule for a variant. In scenario 1, you need a work schedule variant for reduced work hours on Saturdays, for all holiday classes (i.e., the current day and next day). This variant means the employee needs to work only half days on Saturdays. The rule would be like the one in Figure 4.

Figure 4
A rule for a variant that is triggered whenever it’s a Saturday
In Figure 4, AA is the rule name and 01 is the rule number. Since you want the rule to be triggered for Saturday, and you are not worried about the holiday class of the current day or the next day, select all the holiday classes by putting an X in all 10 positions for both Holiday Class and HolClNextDay (i.e., the rule will be triggered for any holiday classes on the current day or the next day). To make it effective only on Saturdays, put an X in the sixth position of the Day field, as the sixth position represents Saturday. and you want the rule to be triggered only on Saturdays (don’t forget, the pattern is Monday to Sunday).
If all of these conditions are met, the system should process variant A of the daily work schedule. Therefore, this rule would be active for any holiday class, any holiday class on the next day, and any current day that is a Saturday.
In scenario 2, you need a work schedule variant that has reduced hours on a day before a public holiday, and the Saturdays are half-day holidays. (Later in this article, I use this rule as an example to show the impact of the same rules on a work schedule.)
For this requirement you need to have two variants: one for reduced work hours for the day that falls before a holiday and the other one for the half-day holiday on a Saturday (Figure 5).

Figure 5
Two variants in a rule
In Figure 5, the rule is named AB. The first subrule (No 01, Variant A) should trigger if the current day has any holiday class, but only if the next day’s holiday class is 1. It should also occur on any day of the week.
To achieve this result, set the rule as valid for any current day holiday class by putting X in all 10 holiday class positions. Then set it to be valid if the holiday class of the next day is 1 by putting an X in the second position (the first position being for holiday class 0). To set it as valid for any day of the week, put an X in all seven positions of the Day field. If all of these conditions are met, the system processes variant A of the daily work schedule.
The second condition is to have a half-day holiday on Saturdays, for any holiday class or next-day holiday class except if the next day’s holiday class is 1. To set up this condition create a subrule 02 and put an X in all 10 positions for Holiday Class, and also in all the positions for HolClNextDay except for position 1. To make it valid only for Saturday, in the Day field leave every position blank except for position 6. If these conditions are met, the system processes variant B of the daily work schedule.
Therefore, in this example, you have two variants for the same daily work schedule, and for each of these variants you may have reduced work hours. The reduction of the working hours is done in the variants A and B of the daily work schedule.
Step 2. Assign the Rule to the Work Schedule
Now the daily work schedule rule created in the previous step has to be assigned to the daily work schedule for which you would like to have variations in working hours. In Figure 6, for the Daily work schedule STND (Standard Work), I assigned the rule AB that I created in scenario 2 (circled).

Figure 6
Daily work schedule with the rule AB assigned to it
The daily work schedule where you assign the daily work schedule selection rule is the main daily work schedule or the original work schedule. AB is the rule that I created in scenario 2. It has two variants, A and B.
Step 3. Create a Variant of the Work Schedule
To create a variant of the daily work schedule, copy the daily work schedule (Figure 7). Select the daily work schedule STND and click the copy icon (circled).

Figure 7
Select the daily work schedule and click the copy icon
Once you click the copy icon, the screen in Figure 8 appears.

Figure 8
New screen copied from the daily work schedule
Now that you have assigned the rule, you need to create a new variant of the standard daily work schedule and assign the name to the new variant name. In the selected box enter the variant. In my example there are two variants, A and B. A is for the day before a public holiday, and B is for Saturday.
Once the variant is entered, then you can change the Planned working hours and the Planned working time so that the reduced working hours will be effective. For variant A, enter the reduced working hours (in the Planned working hours box in Figure 9 I entered the number 6.00).

Figure 9
Variant A created for a shortened day before a public holiday
Now the planned working hours indicate that the work hours for a day before a public holiday would be 6.00. Similarly for half-day Saturdays, the variant B looks like the screen in Figure 10.

Figure 10
Variant B created for a half-day holiday on Saturdays
In addition to reduced work hours, the variant can also have a different daily work schedule class, different breaks schedule, or flex time.
Selection Rules
A selection rule is required to assign a day type to each day of a month. The day type in a selection rule is assigned based on two parameters:
- Holiday class of the day
- Whether it’s a weekday or Saturday or Sunday
A sample selection rule is shown in Figure 11.

Figure 11
Selection rule sample
The selection rule has four columns: R…, D.ty.wkdy., D.typ.Sat., and D.typSun. In the first column, enter the rule name, which is two-character numeral that uniquely identifies a rule. In the second column, you can assign a day type based on the day of the week (Monday to Friday) and holiday class.
Note that the second, third, and fourth columns have similar functionality, except that the second column applies for all weekdays (Monday to Friday), the third column applies to only Saturdays, and the fourth column applies to only Sundays. For example, if the day for which the day type is being assigned is any day between Monday and Friday, the second column is used. If the day is a Saturday, the third column is used. If the day is a Sunday, the fourth column is used.
In the second column, there is a provision to enter 10 digits. These 10 positions represent the 10 holiday classes. The first position represents holiday class blank, the second position represents holiday class 1, the third position represents holiday class 2, and so forth.
In Figure 12, the first position represents holiday class blank (i.e., a normal workday). For all normal workdays, on any days from Monday to Friday, the day type blank is assigned (i.e., work/paid). The second position stands for holiday class 1 (i.e., a public holiday). For any public holiday on a weekday (Monday to Friday), day type 1 is assigned (i.e., time off/paid). Similarly, the third position is for holiday class 2 (i.e., a special holiday/half day), so day type 3 is assigned. This way you can assign a particular day type in selection rules for the combination of holiday class and weekdays.

Figure 12
Structure of the selection rule
Another good example would be for an optional holiday. An organization wants to have January 1 be an optional holiday (i.e., the employee may take the day off, but will not be paid for that day). In this scenario, you can assign any of the holiday classes from 4 to 9. This assignment is done during the creation of the public holidays in transaction code SCAL.
In Figure 12, I assigned holiday class 4 to position 5 of the selection rule. For the holiday class position 5 in the selection rule (which corresponds to holiday class 4), I assigned the day type as 2 (i.e., time off/not paid).
Once you define a selection rule, you link it to a work schedule rule. Therefore, whenever a work schedule is generated, the system takes the selection rules into consideration.
Application of Work Schedule Variants and Selection Rules
By looking at a generated work schedule, you can see the application of the work schedule variants and selection rules. Figure 13 displays a generated work schedule for the month of April 2011.

Figure 13
A generated work schedule for April 2011
From the Easy Access menu follow menu path SAP menu > Human Resources > Time Management > Administration > Work Schedule > PT03 – Display (Figure 14). Once you enter the relevant groupings data for your work schedule rule, click the Display button. The work schedule is displayed as shown in Figure 13.

Figure 14
Work schedule display screen
This detailed view of a work schedule assigned to a specific employee can also be viewed via transaction PA30 and infotype 0007 by clicking the Work Schedule button from the detail view of the infotype record. In a generated work schedule, the schedule can be viewed month-wise (Figure 13). Figure 15 shows how a day in a daily work schedule is represented.

Figure 15
Various attributes of a day (April 25) in a monthly work schedule
Each day in the work schedule has five attributes:
Variants in the Daily Work Schedule
Earlier I defined a daily work schedule variant A for days that are one day before a holiday with holiday class 1. In Figure 16 (an extract from Figure 13), April 22 is a public holiday with holiday class 1. Therefore, on April 21, variant A is activated.

Figure 16
Showing the variant A in a work schedule
Double-clicking this variant displays the daily work schedule. You can see that the planned working hours have been reduced from the standard 8 to 6 hours (Figure 17).

Figure 17
A daily work schedule with the variant A
Now that I have shown you how to assign a work schedule variant, here are some examples of its application. You have defined a variant B, which applies for all Saturdays, but its public holiday class is not 1. In Figure 18, for all the Saturdays you have defined the variant B (Figure 18 is an extract of Figure 13). Note that for April 30, even though it’s a Saturday, the variant is A, because May 1 has a holiday class 1. Therefore, variant A is applicable because April 30 is the day before a public holiday.

Figure 18
Extract showing the variant B in a work schedule for all the Saturdays
Double-click the variant B to display the daily work schedule defined for variant B. Here you can see that the standard daily work schedule (STND) has been reduced from 9 planned working hours to just 4, from 09:00 to 13:00 (Figure 19).

Figure 19
A daily work schedule with the variant B
Application of Selection Rules
In Figure 15, which is the April 25 work schedule, the holiday class for the day is 1 and it’s a weekday. So day type 1 has been defined in the selection rule, and based on the selection rule, the day type has been assigned.
In Figure 20, which displays the work schedule for January 2011, I have assigned holiday class 4 to January 1. In the selection rule for holiday class 4 (Figure 11), on weekdays and Saturdays, I have assigned day type 2. Therefore, when the work schedule is generated for January 1, day type 2 is assigned.

Figure 20
Assignment of day type through the selection rule
Some examples of when the selection rules and day types are relevant include when an employee works a rotating shift and is paid at 1.5 times normal pay if the shift is on Sunday, or when a public holiday is also a Sunday, and the employee is paid at double time. This selection rule is shown in Figure 21.

Figure 21
Example for a selection rule
Day type 3 would be used in the first example (pay at 1.5 times); day type 4 would be for a public holiday that falls on a Sunday, and the rate is two times normal pay. For the values of day types 3 and 4, further processing is done in time evaluation, based on the value of the day type.
Note
Once a day type is assigned through a selection rule, this day type value is accessible during time evaluation. Further calculations based on the day type value can be defined by writing a personnel calculation rule.
Vamsi Mohan
Vamsi Mohan works as an SAP ERP HCM consultant. He has been working in SAP ERP HCM for the past seven years in various assignments. Vamsi has rich experience in time management, payroll, LSO, ESS, and has been part of many implementations. Prior to joining Accenture, he was associated with TCS, IBM, and Dell. Vamsi has a master’s degree in business administration.
If you have comments about this article or publication, or would like to submit an article idea, please contact the editor.