SAP HR Time Management
Scenario: You are not implementing time management but would like to know whether you can use infotype 2010 (Employee Remuneration) in the payroll calculations – and how it is used.
You can use IT2010 to be read by the Payroll driver. You may have some time data which you wish to enter on the system and then be paid according to the times entered. You can enter a rate in the valuation basis field. There are 3 options with the rate you enter.
(i) add this value to pay coming off IT 0008 (Basic Pay)
(ii) replace the value coming off IT 0008
(iii) subtract this rate from the one coming off IT 0008.
Scenario: You currently only allow absences to be taken per day for salaried staff but would like to allow your payroll staff to take hourly leave. You wish SAP to calculate their hourly absence as a percentage of their required daily work time and then record this hourly absence as a percentage of their work day i.e. 0.25.
Ensure that you have configured all the absence counting in the IMG – for the employees in question. When creating the absences enter the from and to times of the absence, instead of accepting the default hrs that the system suggests. This will calculate the percentage.
You need to go through the IMG for absence definition step by step. This allows you to group together personnel sub-areas and work schedules and link them all up together with permissibilities and other pieces of configuration. It is a fairly complicated part of the system.
Scenario: You have an absence on which there is an upper limit. Employees are not allowed to take more than 15 days on absence type xx. What is the correct approach to set this limit?
The best way is to make use of quotas. You can use the functional limit in combination with table T559P or use types an constants. In both cases you have to create rules to handle this. Consider also, the implication of changing the year
You could also set the maximum absence and attendance duration in table T554S.
Scenario: You have an absence type – sick leave, which is either fully paid or half paid depending on which quota it was deducted from.
This is possible in version 4 and above, where you can specify a sequence in which absence quotas are calculated. Go to table T554L and create valuation rules. Assign the absence to the valuation classes. In ‘Creating Counting Classes for Absence Valuation’, make the % value 50 wherever you have your “Sick Leave 1/2 Paid”.
Scenario: You wish to define more than one shift to an individual per calendar date. It would appear that you can only create one shift per person per day and you wish to assign up to 3 shifts per person per day.
It’s not possible to assign 3 shifts to an employee in a single day. The workaround in this instance would not be to use 3 shifts, but to create a work schedule that incorporates the 3 shifts e.g. with a day program that has 3 sets of working hours.
You can do so in the IMG using the menu path
PA Payroll data Remuneration information
You can configure the premiums for PSAs. It is likely that you will also need to configure a rule which controls the premiums based on the PSA.
You may wish to get the system to undertake collision checks between an attendance and a shift or Daily Work schedule. For example you may want to prevent an employee being booked on a course whilst on a night shift. You need to configure the table views V_554Y_B and V_T554Y. Alternatively you can look in the IMG for ‘Time Constraint Reaction to Time Management Infotypes’ under Time Recording.
Whilst running a payroll simulation, an unpaid absence is not deducted from the salary when an employee has applied for unpaid leave
You need to customise the tables T554S, T554C or T5xS0, etc. where “x” is the country code.
If an employee only works for 10 months in a year, how are the validity and deduction periods set?
Set the validity in time constraint in IT2006/7
After having set up the deduction rules for quota generation, you realise that even when an employee is on unpaid leave for a whole month, quotas are still being generated. How can this be avoided?
Set up a special rule which skips accrual in these specific circumstances.
How can you transfer balances from one quota type to the other at the end of the financial year.
You don’t have to do this if you have already set the validity for the following period also.
If you wish to have it in special values, then you have to transfer the quota value to a time type and set up time types.
Is it necessary to create a time type for every Absence Quota type created?
Under normal circumstances you do not need a time type for absence quotas.
What time types are available as standard entries in the system for Quota accruals?
Have a look at table.T555A.
Is it always necessary to create your own PCR’s for processing Absence Quotas in Time Evaluation?
Under normal circumstances you shouldn’t need to do this. But in the main, most companies can’t get by with standard SAP and end up tweaking the system.
Having created specific quotas – you wish to assign these to every employee in the company. Is there a program or utility to create the records?
There is a South African standard program which can do this – RPILVEW0. It is worth having a look. Unfortunately there is no documentation for the program. It also allocates leave entitlement on infotype 0005, but you can turn this facility off on the selection screen. You define the rules for giving quotas on IT 2006, and renewing them on expiry in table t5w4a.
To configure leave entitlement based on the number of years of service, you need to go to the IMG – Automatic generation of Absence and Leave Quota. Here you can set up the range of service years.
If you are not using the auto generation, you will have to use feature VAC16 in the Leave entitlement section of the IMG.
Below is an example of setting up the base on the number of service years.
d DAUER?’0005′ * &****=10 >
d DAUER?’0010′> * &****=12 > >
d DAUER?’0015′ etc….
This decision rule first analyses whether an employee has 5 years of service and grants 10 days of leave. If it’s greater than 5 years it checks whether service years is greater than 5 years and up to 10 years and grants 12 days of leave etc.
In a company, no one is required to work on public holidays. How can you configure the system to deduct absences from the absence quotas even though those absences are on public holidays?
Look at table T554x which determines the absence counting rules. There are fields holiday class and day types which are required for the above requirements. Table T554x is also useful if you are using quota type 99.
How do you apply certain religious holidays to a factory calendar, where the religious holidays vary from year to year?
You can create movable holidays in the holiday calendar. Just go to the “maintain “calendar” item in the IMG under global settings. Here you can specify exactly the kind of holiday it should be – including the religion.
How can you set a default value in infotype 0007 for the field “time management status”?
If you are using version 4.5 and above, then you can use feature TMSTA to default the Time Mgmt Status in IT0007.
You can use the customer enhancements (user exits) to default values in any infotype.
You wish to use a payment amount which is different to the one in IT 0008 (Basic pay) and associate this with an attendance entered on IT 2002. Where can you enter such a payment?
There is a field in IT2002 (menu path: Go To > Different Payment). You can enter the amount in the field “Valuation Basis”. This amount will be used in payroll processing. Remember that you have to keep the field valuation indicator blank if you are going to offer an amount.
Where in the system can you find out the remaining leave balance for an employee?
You can obtain this information by looking on IT 0005 if you are using leave entitlement and IT 2006 if you are using absence quotas. Clicking on the overview button will show you all the data pertinent to the employee.
If an employee applies for leave from the 5th to the 14th, how will the system calculate the number of leave days in this period where for some leave types Saturday and Sunday are counted as absences, whilst for other leave types, they are not.
This ultimately depends on the configuration of your system. If you have configured that any absences cannot be recorded on a day off/non-working period – you will then be forced to record only the working days. If you have configured otherwise, an absence on a range (in your example 5 to 14) would be recorded even on non-working days, but those days will not be included in the absence counts. For example: if 5 to 14 are all working days, the system will show this on IT 2001 (in the ‘Absence Days’ field) as 10 days. But, if 7 and 8 are non-working days, for example, the system will show the absence as 8 days.
What are the differences between the programs RPILVA00 and RPTLEA30?
There is a critical difference between RPILVA00 and RPTLEA30. The difference is in the usage. You use RPTLEA30 for generating leave entitlements (IT 0005) for the year for a set of employees. This is dependent on your features LVTYP, LVNUM, VACBE, UABEG, UAEND and I0005.
You use RPTLEA30 for generating leave entitlement based on time data of the previous year . This last year is the key difference. If you have a business rule specifying that the current year’s leave accumulation is based on the previous year’s work, you can set it up here and use it. For this to take place, you have to have maintained features LVYEA, LVACC, LVBEG, LVEND, LVCUT, LVRND, LVDEF and LVMAX. If you want to process leave types with zero entitlement, then you have to set up feature LVZER.
You will still be required to run RPTIME00. After running RPTIME00, the calculated values are checked by RPTLEA30 for the hours worked etc. in the previous calendar year.
If you are using positive time evaluation and have used TS15/12 then you need not run RPTLEA30 because it automatically updates leave based on the number of working hours. But if every year fresh leave entitlements are started and are not based on the last calendar year’s working then you have to use RPILVA00.
Scenario: When entering an attendance type on a weekend or holiday (assuming a regular 8 hour day with a 1 hour break) on IT 2002, you wish to enter the start and end times (8:00 – 17:00) and either have the break automatically factored in or be able to enter it separately.
The problem is that the work schedule rule is not defined for weekends and holidays. The system will not allow you to enter a break on a scheduled day off.
There are several ways to overcome the above situation.
1. You can use IT 2011 by entering attendance reasons (i.e. 1000 for your attendance and 2000 for the break) and handle these attendance reasons through time valuation (creating a special rule).
2. You also can use IT 2003 – substitution, for it. Enter an individual daily work schedule – with breaks. You will have to adapt time valuation (by creating a special rule).
3. You can use a special attendance quota and enter a balance revision for the break. You also have to adapt the time valuation (by creating a special rule).
You shouldn’t use IT 2005 in positive time management. This infotype has an impact on payroll calculations, due to the fact that it is usually used to handle additional payments and normally used in negative time management.
The solution you decide on will depend on your specific requirements.
T551A and T508A hold all the settings for the relevant work schedules. These in combination with T503 and T001P hold the necessary information for the work schedule rules. Alternatively you can look at table T552A using SE16 to look at all the settings relating to work schedules.
Scenario: You have a requirement to assign more than one work schedule to an employee e.g. 1 employee has 2 different daily work schedules (1 for a morning shift and another for evening security shift). How do you link these 2 daily work schedules to the employee on I0007?
You can undertake this in the following manner. On any given day, any employee can follow only one daily work schedule.
But in the employee’s period or monthly work schedule you can define that on the first day he can have a morning shift daily work schedule and on the same day he can have the security shift daily work schedule. In that way for a particular day he can be assigned to both work schedules.
Another way is to use shift planning where the employee can get a substitute work schedule for the particular day.
Scenario: You require the assignment of more than one daily work schedule(DWS) to an employee. You might have 2 different DWS (1 for morning shift and another for evening shift). The critical question is how do you tie these 2 DWS to the employee on IT 0007.
Create 1 Day Program that incorporates all your different work hours – breaks etc.
Alternatively you can set up an ‘Open Work Schedule’ (starting at the start time of the morning shift and ending at the stop time of the evening shift). This schedule is similar to that of employees who can come in and work at any time and get paid for whatever time they have logged in for.
Work schedules are created and joined together to form period work schedules. A DWS might be 8 hours, 11 hours, 10 hours, etc. Each of these is then used for the period work schedule (PWS). You setup each until the pattern starts again. Period work schedules can last from a few days to a good number of weeks – the maximum being the entire length of the pattern.
Scenario: You may have a DWS which starts at 00:15 and ends at 07:00. If you have tolerances set at 23:30 and 00:25 for begin time, when configuring the DWS you may receive the following error message: End of begin tolerance >= End of planned working time. In addition if you set the tolerance as 00:00 you don’t get the error message.
A daily work schedule with a planned working time starting at 00:00 and a begin tolerance before midnight cannot be defined in SAP.
The workaround which solves the problem, is to define the planned working time as 23:59. Then you can define the begin tolerance from 23:38 to 00:07. The downside to this workaround is that the time data for that day is assigned to the previous day.
Wishing to automatically generate absence quotas for a group of employees.
You can do so by using the report RPTQTA00.
SAP HR Time Management Data
The Time Management module in SAP has been developed with flexibility and efficiency in mind at all times. Below are several tables that identify different elements of the Time Management module that hold and manage the configuration and data.
|TM00||Time Evaluation with personnel time events|
|TM01||Time Evaluation for work schedule deviations|
|TM04||Time Evaluation without clock times|
|TQTA||Generate absence quotas|
|DZL||Daily time wage types|
|QTBASE||Quota Base Entitlement|
|QTTRANS||Quota Transfer Pool|
|ZL||Time Wage Types|
|A2003||Process Work Center Substitutions|
|CUMBT||Cumulation of Interim Results|
|DAYMO||Selection Time Wage Types for Day Grouping|
|DEFTP||Determine planned working time pairs|
|DPTOL||Daily work schedule tolerances|
|LIMIT||Value limits for Time Balances|
|P2000||Import daily work schedule|
|P2001||Import absences to table TIP|
|P2002||Import attendances to table TIP|
|P2005||Import overtime data to table TIP|
|PBKRS||Process break specifications|
|PZL||Process ZL table|
|QUOTA||Generate absence quotas|
|TIMTP||Assign time types to time pairs|
|TYPES||Assign processing type and time type|
|ADDDB||cumulate in day balance table|
|COLER||Transfer to error table|
|DYNDP||Dynamic daily work schedule assignment|
|GCY||Branch to different PCR|
|HRS||Editing number of hours field|
|NEXTR||Process the next line|
|OUTTP||Providing Time Pair Data|
|OUTWP||Providing Work Center Data|
|OUTZL||Provide info from time wage types|
|PAYTP||Setting Employee Sub-group grouping for PCRs|
|PCY||Branching to a personnel calculation sub-rule|
|ROUND||Round off times or number of hours|
|UPDTQ||Absence Quota Accrual|
|VARST||Providing data to general fields|
|VWTCL||Preparing processing class of a wage type|
SAP HR Time Schemas and Personnel Calculation Rules (PCR’s)
Human Resources Payroll Europe Great Britain Tools Maintenance Tools Schemas
Double-clicking on a sub-schema will take you to the maintenance screen for that schema.
Double-clicking on any of the rules (PCR’s) will take you to the rule editor. You can tell the difference between sub-schemas and rules by looking at the parameters. The name of the sub-schema can be found in the Par 1 column. The main schema generally calls all the different sub-schemas. The sub-schemas will then call the payroll rules. In most cases, when a rule is called, there will be parameters in the Par 2 or Par 3 columns.
In the main, most sub-schemas are called by the “copy” command.
Schemas, rules and features in SAP use the following line editor commands. This allows you to move, delete, copy and insert lines. All the commands are entered in the area used for the line numbers. Overwrite any of the numbers with the commands shown below. For the commands using 1 letter – hit the return key once you have entered the letter. For the commands using 2 letters – hit the return key after the first 2 letters have been entered or after both sets have been entered.
The most commonly used commands are:
|D||Deletes a line|
|I||Inserts a line|
|M||Moves a line|
|C||Copies a line|
|DD||Indicates the start of a block to be deleted|
|DD||Indicates the end of a block to be deleted|
|CC||Indicates the start of a block to be copied|
|CC||Indicates the end of a block to be copied|
|MM||Indicates the start of a block to be moved|
|MM||Indicates the end of a block to be moved|
Once you have chosen the block to move or copy, you need to show where to move or copy it to in the schema. The following commands indicate where you can copy or move the lines to.
following commands indicate where you can copy or move the lines to.
|A||Places the block after the chosen line|
|B||Places the block before the chosen line|
In addition, a ‘*’ in the D column indicates that the corresponding function or rule has been commented out and will not be processed. Lines with this indicator are also not displayed in the exploded schema via RPDASC00. It is good practice when replacing a SAP standard PCR or function with a custom one, to comment out the SAP standard one rather than deleting it completely.
Remember when calling a PCR within the schema: setting PAR 2 to GEN means that the rule is called for all time types. If you want the rule to be called for specific time types, then leave this parameter blank. For PAR 3, a setting of blank indicates that the rule is called for all Ee Subgroup groupings for time evaluation, and to specify that the rule is to be called only for the Grouping for the Time Evaluation Rule set in IT0050 the setting should be ABRT.
Use the PRINT function and a specific table name in PAR 2 anywhere in the schema to output the contents of that table during processing.
Position is very important for schemas. Look to see where a similar piece of processing has taken place. If in doubt, place the rule after the similar data has been read and processed.
Commonly used Functions
|RTIP||Reads the time data table TIP, but does not process it|
|PTIP||Processes the time data table TIP|
|GOT||Compare time pairs in TIP with OT approvals from the current day (IT2007)|
|GWT||Generates time wage types from time pairs in table TIP|
|SORT||Sorts the values in a specified internal table|
|P2001||Imports the absences for the day being processed|
|P2006||Calls a PCR in which information from the Absence Quotas table ABWKONTI can be accessed|
|COPY||Calls a subschema placed in PAR1.|
|BLOCK||Defines the start and end of a nested node|
|IF/ELSE/ENDIF||The schema is processed if the condition is fulfilled|
|ACTIO||Actio calls a PCR. It is processed, irrespective of whether time pairs exist .|
Commonly used Parameters
|GEN||Call rule for all time types|
|Blank||Call rule for specific time types|
|DES||When used with function SORT, sorts the values of the table in descending order|
|Nn||Any number entered specifies of a particular grouping or type related to the function being processed|
Transaction Code: PE02
Human Resources Payroll Europe Great Britain Tools Maintenance Tools Rules
Commonly used operations in time configuration
|ADDDB||Adds the value of current number of hours field (HRS) to the specified time type|
|ADDDB0600T||Adds the value of HRS to time type 0600. The control indicator ‘T’ moves the planned working hours from the employee’s work schedule into HRS|
|ADDDB0600Z||Overwrites the value in time type 0600 with that currently held in HRS|
|ADDMB*||Cumulates the value in the HRS field of the current time type into the period balances table (SALDO)|
|ADDOT||Adds the wage types to the table of over time wage types (ZML)|
|ADDVS DAY1||Adds the value of HRS to the variable DAY1|
|ADDZL||Adds the value of the current HRS field to the ZL table|
|BITQU||Creates an entry in the in Attendance Quotas infotype (2007)|
|BITQU01||Creates an entry for quota 01 in the in Attendance Quotas infotype (2007), with start and end dates as the start and end of the current week|
|BITQU01PP||Creates an entry for quota 01 in the in Attendance Quotas infotype (2007), with start and end dates as the start and end of the current payroll period|
|COLER01E||Error message 01 according to table T555E is passed to internal table FEHLER and time processing is terminated|
|COLER01F||Error message 01 is passed to table FEHLER and time processing continues. The current day is processed again when time evaluation is next run|
|COLOP||Transfers data from the input table TIP to output table TOP, to make the time pair available for further processing|
|COLOP*||Keeps the current time type when data is transferred to the TOP|
|COLOPATIM1||Stores the data in the current time type in an alternative time type TIM1 in table TOP|
|COLPAB||Replaces the Start time of the original time pair with that of the current active time pair|
|COLPAE||Replaces the End time of the original time pair with that of the current active time pair|
|COMOT||Replaces overlapping time pairs with new time pairs to create one continuous record with no overlaps|
|DAYPG0712||Replaces the employee’s work schedule with DWS 0712 from table T550A|
|DAYPGOFF||If DWS OFF does not exist, the first valid DWS with 0 planned hours and DWS class 0 is used|
|DYNDP||Assigns a new DWS dynamically to an employee. The system determines from a set of configured DWS’s the one where the employee’s first clock-in time occurs within a specified timeframe.|
|FILLPB||Enters the start time of a time pair from the HRS field|
|FILLPB-||Deletes the start time of a time pair|
|FILLW||Enters additional information, such as start and end times, or infotype number, to a wagetype|
|GCY TE21||Branch to another Personnel Calculation Rule TE21|
|GCYGTE21||Personnel Calculation Rule TE21 is accessed for all time types and the same employee subgroup grouping is kept and processed|
|GENOT||Flags a time pair, or part thereof, as OT until the OT quota, as defined in T556P is used up|
|GENOWB||Splits the current wagetype according to the HRS field, from the start time, and enters a portion into the OT wagetypes table ZML|
|GENTG||Creates a new time pair entry in the TIP table using the time type being processed|
|GENTG0600||Creates a new time pair entry in the TIP table using variable 0600|
|GENTPE||Splits the current TIP entry according to the HRS value, from the End of the time pair, and enters this into the TOP table|
|GENTWB||Separates part of the wagetype being processed, according to the HRS value, from the beginning of the wagetype, and enters it into the time wage types table ZL|
|HRS=BCURDY||Enters the current day in the HRS field|
|HRS-SWTE||Subtracts the latest time started at work from the value in the HRS field|
|HRS?CTETOL||Compares the value in the current HRS field to the value of TETOL in the constants table T511K|
|INSLR||Insert locked records in table TIP|
|INSTPA1010||Inserts an absence time pair between two recorded time pairs in the TIP with a begin and end tolerance of 10 minutes form the adjoining time pairs|
|LEAVE||Exist the current PCR being processed. Processing continues form the next line in the schema|
|MESSG||Outputs a message with the current processed personnel number|
|MODIF A=01||Set employee grouping for absence valuation to 01|
|MODIF Q=05||Set quota type selection rule group to 05|
|MODIF W=02||Set the time wagetype selection group (T510S) to 02|
|OUTALTRFGR||Enters pay scale group data from the alternate payment table ALP|
|OUTAQTYP||Assigns the current quota type from the ABWKONTI table|
|OUTOTWGTYP||Gives the wagetype of the overtime being processed|
|OUTPQ||Enters data from the attendance quota into the variable key|
|OUTTIABART||Enters the employee subgroup grouping for PCR from IT0050|
|OUTTPABTYP||Enters the absence type of the current time pair into the variable key|
SAP HR Work Schedules: Tips and Tricks
Every employee must have a Work Schedule defined in their Master Data if they are to be paid correctly. Work Schedules are recorded on infotype 0007 (Planned Working Time). When payroll is run, these data are read in using function P0007, and the various rules and schemas calculate how much basic pay an employee should receive in relation to the hours they have worked.
Public Holiday Calendar
The public holiday calendar on which work schedules are to be based, needs to be generated to at least one month later.
It is necessary to create separate Daily Work Schedules for each day having a different number of working hours. However, it is not necessary to create a new 4 hour (for example) daily work schedule every time, since the original one can be used any number of times. There should be no duplication of identical daily work schedules. It may, however, be that there are more than one defined for (e.g.) 4 hours if these hours are different each time (e.g. 9:00 to 13:00pm; 10:30 to 14:30; 19:15 to 23:15)
When defining daily working time for partial hours (e.g. 4.5 hours, 5.9 hours, 2.1 hours) it must be remembered when defining the actual times worked that this equates to:
4.5 hours = 4.5 * 60 mins (e.g. 9:00 to 13:30)
5.9 hours = 5.9 * 60 mins (e.g. 9.00 to 14:54)
2.1 hours = 2.1 * 60 mins (e.g. 9.00 to 11.06)
For simplicity, naming conventions showing, where possible, the number of hours worked are used (e.g. 0802 GB 2 hours [08 being the molga for GB]). This allows for quick checking of whether a particular daily work schedule has already been created since they are listed in numerical order, and when allocating daily work schedules to the period work schedule.
It is also possible at this stage to define specific break periods within a working day in order to be able to calculate when an unpaid lunch break (e.g.) is to be taken.
As noted above, a PWS must run for a minimum of 7 days (day 01 always being Monday), but may run for any multiple thereof, i.e. it may be a two or three week period.
Any PWS’s that do cover more than one week are appropriately labelled in the table when created.
With the individual week(s) now defined, it is now necessary to enter the information relating to monthly, weekly and annual working hours as well as the number of days worked per week and, most important the Reference Date and Start Point for the PWS.
Due to the nature of employees’ planned working time, the numbers entered for daily (and perhaps weekly) working hours, and weekly work days, can either be exact or averages.
In other words, if the Work Schedule details a different number of hours to be worked each day, then:
Daily Working Hours = (Total Weekly Working Hours/Total Weekly Work Days)
and similar if the weekly working hours differ.
To determine how the period is mapped to the whole year, two pieces of information are required:
1. The Reference Date for PWS
2. The Start Point in PWS
The Reference Date for PWS can be any date between 01.01.1800 and high date (31.12.9999). For simplicity, it is easiest to take the date from which the Work Schedule is to be valid. This, generally, makes it easier to work out theStart Point in PWS.
Example: a two week PWS, with every first Friday as an off day, is to be valid from 01.September.2007. Since the 1st September 2007 is a Saturday, this would be entered as:
Ref. Date for PWS: 01.09.2007 (assuming user parameter date setting of DD.MM.YYYY) Start Point in PWS: 013 (this is a 3 digit field)
|Day||01 (Mo)||02 (Tu)||03 (We)||04 (Th)||05 (Fr)||06 (Sa)||07 (Su)|
|Day||08 (Mo)||09 (Tu)||10 (We)||11 (Th)||12 (Fr)||13 (Sa)||14 (Su)|
The reason that 013 is the start point and not 006, is down to the fact that in order to have the first Friday (i.e. Friday 7th September 2007) as the day off (and therefore start at the beginning of the two week PWS, the previous Saturday must be the Saturday in the second week –day 13.
This must be done for a period which is less than that for which the Holiday Calendar is valid.
It is best to generate one or two months manually initially in order to check that the Reference date and Start point have been calculated correctly and that all Daily WS have been entered correctly.
The inclusion of this session in the transport can be checked be checking the log via transaction SE01. Under the entry “Table Contents > T552A” expanding this will show the list of months processed in the batch session.
The final stage of creating a Work Schedule is to enter a period for which the Period WS created is to be valid. This is normally up to high date.
If this is not done, payroll will fail for those employees who have been allocated to this work schedule. An error message will be displayed, the valuation entry must be made, and payroll rerun.
SAP HR Schemas and Rules: Expanding Within a Main Time or Payroll Schema
There are two main ways to expand a Payroll or Time Schema and each has advantages and disadvantages over the other. One is to run the programs for at least one individual with the Log Display option selected. The other is through transaction RPDASC00 which allows for the option of ‘exploding’ the schemas down as far as individual steps within a PCR. Expanding or exploding a schema can be extremely useful in route-causing issues or locating configuration which may need to be copied or maintained.
RPDASC00 The main difference with Displaying the Log of a payroll or time processing, is that RPDASC00 explodes the entire schema (to whatever level is chosen) –not just the part relevant to a particular employee. This is particularly useful in locating such things as wagetypes and PCRs which will not necessarily have been processed.
Layout also differs being more the traditional table view format rather than the tree view format presented by the Display Log. However, since this is an expansion of the whole schema, there is exact reference to line numbers and sub schemas (excluding any lines which have been commented out), making location and editing of a particular point within the schema easier.
If the options are selected such that all schemas and calculation rules are expanded, a search for (e.g.) a particular wagetype will return every possible occurrence of that wagetype within the schema. This allows tracking of every stage of processing and may help to reveal errors in PCRs, configuration which can be duplicated and modified, etc. The disadvantage of this way of expanding the schemas is that any wagetypes which are not processed within the schema but are just read in and posted to a table, to the RT for instance, will not be found.
When running both Time and Payroll schemas either in real or simulation, there is an option to Display [the] Log.
If this option is not selected but the schema encounters an error which prevents process completion, a partially expanded schema (down to the error point) will be displayed. If the schema executes successfully, there will be no Log displayed.
With the Display Log selected and the program executed, the respective schema is displayed for the employee(s) being processed. In this instance the schema displayed may not be the entire schema. Only those sections which have been processed in relation to the employee(s) selected are shown. This is a distinct advantage when tracing, for example, a wagetype through the schema to ascertain how its value in the RT relates to its initial value, or why it has not been processed or output.
The other major benefit of this way of expanding the schema is that actual data and meaningful values can be followed through making errors easier to identify than when using the exploded schema view via RPDASC00. Since the expanded views of PCRs show only those steps through which any one employee has been sent, errors in calculation (particularly if steps within a PCR are printed out) can very easily be identified.
The disadvantage of expanding the schema in this way is that any wagetypes which are hardcoded into PCR’s as assignment wagetypes and then written straight out to the RT without any further processing, will not be found on searching. They may be located in the RT but it is more difficult to ascertain how their value was derived.
This Schema is expanded within a tree view which shows clearly the relationship of processing steps to the various parts of the schema (Gross Payments, Loans, Benefits etc). The main immediate difference between payroll and time schemas at this stage is the at the former displays by payroll period and the latter by day.
SAP HR Holiday Calendars
Holiday Calendars are used to record statutory holidays for employees. The Holiday Calendar forms the reference upon which the Work Schedules are created. It is possible to have different holiday calendars for different populations within a company based on distinct regional holidays. This negates the necessity to fill up the Absences infotype with fixed holidays which may be the same for a large number of employees. The dates of statutory and fixed holidays configured on the Calendar(s) can either be hard coded or determined by means of relationship to other days.
SAP provides a large number of country- and religion-specific Public Holidays which can be used on Holiday Calendars (e.g. Christmas Day, Easter, Labor Day, Ramadan)
In order to create a new Public Holiday, there are 5 options:
- with fixed date
- with fixed day from date
- distance to Easter
- Easter Sunday
- floating Public Holiday
each one, with the exception of the Easter Sunday option, allows various decisions to be included in the calculation of the Holiday. It is possible, for example, to guarantee that a Holiday will be available, i.e. if the Holiday would normally fall on a Saturday after calculation, a guarantee can be set in place to say that “move to next day after weekend (Sat/Sun)”.
once the rules have been defined, the Public Holiday is given a Public Holiday Class. This can be used during the configuration of absences to, define whether an absence should be counted if it falls on this day.
Once all of the Public Holidays have been defined, they need to be attached to a Holiday Calendar. It is possible to take a SAP standard Holiday Calendar and add custom Holidays, or a customized Calendar can be created from scratch.
The definition of the Calendar shows the Public Holidays which have been included. Against each one of these are the years for which the Holiday is valid. Each holiday can have individual validity periods.
The end date of the Calendar validity limits the generation of any work schedules created based on that Calendar. For example, if a Calendar is valid from 2008 to 2015, work schedules cannot be generated upto the end of December 2015. This is because, when the Work Schedule is referenced for an employee’s working time calculations, the reference period is taken from 23:59:59 of the previous day to 00:00:01 of the next day (i.e. for 31st December it looks to 30th December and 1st January. Since the Calendar has not been generated past 2015 (in this example) the system cannot make this reference.
The calendar view allows the display of each year for which the calendar has been generated. This is very useful for checking the rules governing the placement of the Public Holidays. typically, a Calendar would be generated for 10 years to allow a specific Holiday to fall in a leap year and to fall on a weekend at least once and confirm whether this has been correctly considered on the placement of the Holiday for these years.
In addition to the main Holiday Calendars, it is possible to assign these to Factory Calendars. A Factory Calendar allows the system to define differing work patterns (on weekly basis) to a set group of employees. For example, if a Factory floor population always works Monday to Friday only, then this can be stipulated at the Factory Calendar level and the Statutory and Company Holidays for that company attached via the Holiday Calendar. Deviations from the normal Factory Calendar pattern, can be entered as Special Rules.
N.B. a transport is NOT automatically created when making changes to public Holidays, Holiday Calendars or Factory Calendars. Any changes must be manually included in a transport.