[{TableOfContents }]
!!!UPTG PROCESSING\\
----
!!Overview
The Generate Pay Transaction ([UPTG]) program will generate transactions for a specified payroll, a set of employees within the payroll that matches the report parameters, a specified pay period or a date range within a specified pay period or a specified pay category.  All transactions generated will be written to the Enter Pay Transaction ([IPTR]) form. 

[UPTG] predicts a person's upcoming time sheet by taking into consideration the period of employment, the current employment status, standard hours worked, predefined holidays from [IDHC] and planned leaves entered/generated on [IAAL].

Holidays that fall within the pay period may or may not reduce regular time.  The rules for holidays are detailed out in the [UPTG Holiday Processing|UPTG PROCESSING#HOLIDAY PROCESSING] section.

Leaves that fall within the pay period automatically reduce regular time.  The rules for leaves are detailed out in the [Leave Processing|UPTG PROCESSING#LEAVE PROCESSING] section.

Prior leaves will not be processed by [UPTG]; the [UPPAL] process must be run to pick up prior leaves.  The Prior Leave Date prompt has been removed from the [UPTG] program.

The Allow Duplicates parameter has been removed from [UPTG].

The [UPTG] program has been updated to now process in the following manner:
*For Salary, if already exists, will NOT generate again (regardless of the date it was already generated for)
*For Time, if Same Day/Same Time Code/Same Assignment – will NOT generate
*For Time, if Same Day/No Time Code/Same Assignment – will NOT generate
*Will NEVER generate Holidays more than once
*Will NEVER generate Leave records more than once
 
We still allow multiple runs of [UPTG] including runs for time only or salary only and for the purpose of picking up new hires.\\ 

On the Define Holiday Calendar ([IDHC]) form : 
*the Leave Time Code has been re-labeled to ‘Holiday Time Code’  
*the Earned Time Code has been re-labeled to ‘Worked Time Code’ 

The Rate Method for Salary parameter on [UPTG] is an option for salary generation to allow clients to choose the way they want to compute the hourly rate that will be used for special situations.   A special situation may be an employee starts or terminates part way through the pay period or has a pay increase part way through the pay period and their salary needs to be calculated. 

The options available for the Rate Method for Salary parameter are:\\ 
|Standard Hours (default value if not selected)|Compute the hourly rate from Annualized Salary:\\Hourly Rate = Annualized Salary / (Std hours/wk * 52)\\Using this method, employees would always have the same hourly rate no matter what pay period they are in.  This method is not very precise.
|Scheduled Hours|Compute the hourly rate from the Pay Period:\\Hourly Rate = Pay Period Salary * (Hours worked in PP/Scheduled Hours in PP)\\Using this method, the rate would vary depending on the month they are in and the scheduled hours.  This method is extremely accurate.

The ‘Holiday OT Factor’ on the [IDHC] is now respected.\\  

If you are receiving unexplained results when [UPTG] is run, (for example, no salary generated but you requested it to be) then check that on the [Work Rule (IDW),Status Rules tab|IDWR#section-IDWR-StatusRulesTab], the “TIME GEN. DESTINATION” = “PR-Calendar”.

The new rule 'Holiday Date' has been added to the “Observed On” field in the Holiday Calendar ([IDHC]) form.  This rule is explained in detail in the [Holiday Processing|UPTG PROCESSING#Holiday Processing] section.

[UPTG] now has a 'Rerun Selected Employees' parameter. If this is set to 'Yes', a list of people to re-run must be provided.  

%%information There CANNOT be anything in payroll for the period selected or the re-run will be done.%%  
\\  \\
----
!!MID-PERIOD CHANGES
The [UPTG] program must generate salary and premium transactions correctly when there are mid-payroll period changes.  This section describes the mid-period change scenarios and how they should work.

Below is an overview of mid-period change categories that are affected by this processing:
*Employee Employed Less Than Entire Pay Period
*Mid-Period Schedule Changes w/No Salary and/or Premium Changes
*Employee Employed Entire Pay Period and Has A Mid-Period Salary and/or Premium Change.  (Employee’s schedule may also change; if only the premium is changing, the salary must still be force-balanced.)

!Employee Employed Less than Entire Pay Period
Prorate the semi-monthly salary and premiums for the number of hours entered on [IPTR] based on the number of hours that would have been generated had the employee worked the entire pay period with the work rule (schedule) entered on [IEAS] at the time [UPTG] hours were generated. 

Scenarios
*Mid-Period New Hire
*Termination Before the End of the Pay Period
*Military Assignment Beginning and Ending Mid-Period
 
%%information The salary and premium is determined by a pro-ration of the number of hours generated by [UPTG] for the overriding work calendar or work rule on [IEAS] by the total number of hours that would have been generated had the work calendar/work rule been in effect the entire pay period.%%  
||Phrase||Meaning
|Time Worked|The number of hours generated by [UPTG] for the pay period based on the effective date records and the work rule or overriding work calendar.
|Time Available|The number of hours that would be generated by [UPTG] for an entire pay period if the work rule or overriding work calendar had been in effect the entire pay period.

A new parameter, 'Rate Method for Salary' has been added to the [UPTG] program.  This parameter is used to determine how the employee’s wage rate is to be derived.  

The values for this parameter are:

|Standard Hours|This method will use the ‘Hours Per Pay” from the [IEAS] if setup, if not, from the Work Rule.\\It will then calculate the wage rate (hourly rate) as follows:\\Employee’s Salary / Hours per Pay = Hourly Rate\\The hours worked will be from the standard “Hours Per Day” from the [IEAS] if setup, if not from the Work Rule 
|Scheduled Hours|this method will use the total hours that employee is scheduled to work for the period according to the work rule.\\It will then calculate the wage rate (hourly rate) as follows:\\Employee’s Salary / Total Scheduled Hours  = Hourly Rate\\the hours worked will be from the actual work schedule for the employee

__Mid-Period New Hire__\\
The beginning of the pay period is 01-Aug-2010.\\  
If the employee had worked the entire pay period, they would have been scheduled to work 8 hours on the following days: 01-Aug to 04-Aug, 07-Aug to 11-Aug and 14-Aug to 15-Aug.  This is a total of 88 hours.  

RATE METHOD FOR SALARY = Standard Hours\\ 
*The employee works 07-Aug to 15-Aug, 56 hours (using the standard of 8 hours/day x 7 days), their salary should be prorated using a factor of 56/88; no force-balancing is needed.  The monthly salary is $5,166.67, making their semi-monthly salary $2,583.34.  The hourly rate for the pay period is $2,583.34/86.667 = $29.81.  The amount of their salary for the pay period is 56 x $29.81 = $1,669.23.  If this employee had premiums the premium amounts would be prorated the same way and included on the details of the transaction line.

RATE METHOD FOR SALARY = Scheduled Hours \\
*The employee works from 07-Aug to 15-Aug, 60 hours (using the actual hours per day from the work schedule for 7 days), their salary should be pro-rated using a factor of 60/88; no force-balancing is needed.  The monthly salary is $5,166.67, making their semi-monthly salary $2,583.34.  The hourly rate for the pay period is $2,583.34/88 = $29.3561.  The amount of their salary for the pay period will be 60 x $29.3561 = $1,761.37.  If this employee had premiums the premium amounts would be prorated the same way and included on the details of the transaction line.

__Mid-Period Termination__\\
The beginning of the pay period is 01-Jan-2010 and the ending is 15-Jan-2010.  The employee’s last day is January 5, 2011.  If they had worked the entire pay period the hours would have been as follows:\\  \\ 

RATE METHOD FOR SALARY = Standard Hours 
|01-Jan|8 hours|08-Jan|8 hours
|02-Jan|8 hours|09-Jan|8 hours
|03-Jan|8 hours|10-Jan|8 hours
|04-Jan|8 hours|11-Jan|8 hours
|05-Jan|8 hours|12-Jan|8 hours
\\This totals 80 hours.  Since their last day was January 5th, they worked 40 hours.  Their monthly salary is $6,250 with a semi-monthly salary of $3,125.00.  Their hourly rate for the pay period should be $3,125 / 86.667 = $36.06.  Their salary for this pay period should be 40 x 36.06 = $1,442.31.  If this employee had premiums the premiums would be prorated in the same way and included on the details of the transaction.\\  \\

RATE METHOD FOR SALARY = Scheduled Hours 
|01-Jan|4.5 hours|09-Jan|9 hours
|02-Jan|9 hours|10-Jan|9 hours
|03-Jan|9 hours|11-Jan|9 hours
|04-Jan|9 hours|12-Jan|8.5 hours
|05-Jan|4.5 hours|13-Jan|4 hours
|08-Jan|4.5 hours|15-Jan|4.5 hours
\\This totals 84.5 hours.  Since their last day was January 5th, they worked 36 hours.  Their monthly salary is $6,250 with a semi-monthly salary of $3,125.00.  Their hourly rate for the pay period should be $3,125 \ 84.5 = $36.9822.  Their salary for this pay period should be 36 x 36.9822 = $1,331.36.  If this employee had premiums the premiums would be prorated in the same way and included on the details of the transaction.\\

!Mid-Period Schedule Changes w/No Salary and/or Premium Changes
The employee should receive the same semi-monthly salary and premiums regardless of the number of scheduled days in the pay period.  The salary will be divided into [FLSA] periods if designated to do so.  

Scenarios
*New Work Rule is entered on [IEAS]

Example \\
When an employee has schedule changes that are effective after the pay period start date and before the pay period end date, the salary is determined by using the total number of hours generated by [UPTG] for the overriding work calendar/work rule and the effective dates on [IEAS].

For example, during the April 1 – 15 pay period the employee is on a 5/40 schedule until April 9th when the employee changes to a 9/80 A schedule.  There is an 09-April effective date record changing the work rule from 5/40 to 9/80 A.  This means that the employee schedule should be 8 hours of work April 2 – April 7 and 9 hours of work April 10 – April 13.  This is a total of 76 hours for the pay period.  The employee’s salary is determined by using the pro-ration of 76/76 and then force balancing to ensure that the employee receives 100% of their semi-monthly salary.   Similarly, if there is an effective record changing the employee back to a 5/40 effective April 12, the total number of hours generated by [UPTG] would be 82.  The salary is determined by what is on [IEAS] at the time[UPTG] salary is processed.  The processing of premiums is excluded at this time.\\

__Mid-Period Schedule Changes with No Salary and/or Premium Changes__\\
This employee had a work rule change in the middle of the pay period.  There is no change in salary or premium, so there is no need to do any additional calculation.  The system will pay the same semi-monthly salary and premium amount.  [UPTG] will generate 4 transactions, two for each of the effective date records, due to work rule changes, with the employee’s salary and premiums on one and the time on the other.

!Employee Employed Entire Pay Period and Has A Mid-Period Salary and/or Premium Change  

%%information Note, the employee’s schedule may also change; if only the premium is changing, the salary must still be force-balanced.%%

Scenarios
*Mid-Period Salary and Premium Changes
*Promotions/Demotions/Position Change
*Step Changes (Increase or Decrease)
*Premium Changes – Adding, Removing, Changing Amount for Assigned Premium(s)\\

__Mid-Period Salary and Premium Changes__\\
The total salary is determined by using the same pro-ration logic described previously.  If there are no work calendar or work rule changes in effect on [IEAS] and the employee has a salary increase, the total salary for the pay period is determined by a pro-ration of the number of hours that the employee is on for the old and new salary.\\  \\
For example, for the pay period of Oct 15-31, an employee is assigned to a 5/40 work rule receives a salary increase effective Oct 23.  The old semi-monthly salary is $2,583.34 and the new semi-monthly salary is $3,125.00.  The employee’s salary for the pay period is:

($2,583.34 x 40/100) + ($3125.00 x 60/100) = ($1033.34 + $1875.00) = $2908.34
\\  \\
----								 
!!LEAVE PROCESSING
The application can record leave time that an employee has taken or is planning to take and audit lines of when and what the attendance routine has calculated.  

!Leave Line Details
Leave Line Details are the specific attendance components affected by a leave line transaction.  The Leave Line Details can be entered for a specific date or for a range of dates.   
              
|[Start Date|START_DATE]|The start date is the when the leave begins;this must be provided. 
|[End Date|END_DATE]|An end date must be provided.  The end date is the when the leave ends.
|[Time Code|TIME_CODE]|A Time code must be provided.  This field contains the code for which the leave line record is being created.  
|[Leave Type|LEAVE_TYPE_CODE]|A Leave Type must be provided.  This field contains the user-defined code to indicate the leave type
|[Overall Time|OVERALL_LEAVE_TIME]|This field displays the total amount of time that has been requested.  This field will be populated according to the setup on the employee’s assignment record.
|[Basis|TIME_BASIS]|This field contains the unit of measure for the requested time to be taken.  
|[Description|DESCRIPTION]|This field contains a user-defined description of the leave type entered.  
|[Status|ACCRUAL_STATUS]|This field indicates the status of the leave line record.  It will be updated accordingly when the leave lines are processed by the various functions in the system.\\1st Requested – initial record created on IAAL\\2nd Processed – picked up and processed by UPTG\\3rd In Payroll – picked up by a PR process\\4th Update in Progress\\5th Unofficial Accr Updated\\6th Official Accr Updated 
|[Approval|LEAVE_APPROVAL]|This field tracks whether the leave line has been ‘approved’, is ‘waiting approval’ or has been ‘declined’.  

__Leave Processing__\\ 
After all transactions for the qualifying time frame have been generated, a second pass is done to handle leaves that are governed by the leave policies.

The system checks if the employee is able to take time with the time code, by checking the Leave Schedule ([IALS]).  If a schedule exists that matches the employee’s person code, group, unit or entity, the system will ensure the employees have enough time available in their bank, taking into consideration all leaves taken to date. 
 
Leave bank balance checking is done in accordance with the leave policies.

If there are Leave Lines ([IAAL]) for the day:
*Uses the Time Code from the leave line details
*Pro-rates the “Overall Time” by the work days between the start and end dates, respecting the employee’s schedule and standard hours
*If the employee’s FTE < 1, the hours per day will not exceed the employee’s hours per day.

The [UPTG] will create a leave line with the status of “3rd In Payroll” and will contain the leave time for each work day processed and the original leave line with the status of “1st Requested”, once processed will be changed to a status of “2nd  Processed”.

__Leave Line Details__\\
The Leave Line Details will be created for the Leave Line with the status of “3rd in Payroll” and will contain component A300 with the leave time on it.

!UPTG – Leave Processing
Below are examples of how leaves can be entered in the Maintain Leave Records (IAAL)screen and what the results will be from [UPTG] processing.  

The employee works a Mon-Fri-Var Schedule (12 hrs, 8 hrs, 8 hrs, 8 hrs, 4 hrs) that is 5 days /40 hour week.

__Employee is taking Monday as a one day vacation for 8 hours__
|IAAL Entry:|Start Date = 24-Jul-2006\\End Date = 24-Jul-2006\\Time Code = Vac-Tkn\\Overall Time = 8\\	Accrual Status = 1st Requested (system generated)

|UPTG Results:|IPTR|Regular Time = 4 hrs (12 – 8)\\Vac Tkn = 8 hrs
|  |IAAL|Original Leave line entered will have status changed to “2nd Processed”\\New Leave line created (Start Date 24-Jul) with Overall Time=8 hrs and status  “3rd in Payroll” and Leave Line Details with A300, Amount = 8 hrs

__Employee is taking Monday as a one day vacation and the time will be according to their work schedule__
|IAAL Entry|Start Date = 24-Jul-2006\\End Date = 24-Jul-2006\\Time Code = Vac-Tkn\\Overall Time = null\\Accrual Status = 1st Requested (system generated)

|UPTG Results:|IPTR|Regular Time = 0 hrs (12 – 12)\\Vac Tkn = 12 hrs
|  |IAAL|Original Leave line entered will have status changed to “2nd Processed”\\New Leave line created (Start Date 24-Jul) Overall Time=12 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 12 hrs

__Employee is taking Monday & Tuesday as a two day vacation, both entered separately__
|IAAL Entry|Start Date = 24-Jul-2006\\End Date = 24-Jul-2006\\Time Code = Vac-Tkn\\Overall Time = null\\Accrual Status = 1st Requested (system generated)\\Start Date = 25-Jul-2006\\End Date = 25-Jul-2006\\Time Code = Vac-Tkn\\Overall Time = null\\Accrual Status = 1st Requested (system generated)

|UPTG Results:|  IPTR on July 24|Regular Time = 0 hrs (12 – 12)\\Vac Tkn = 12 hrs
|  |IAAL|Original Leave line entered will have status changed to “2nd Processed”\\New Leave line created (Start Date 24-Jul) Overall Time=12 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 12 hrs
|  |IPTR on July 25|Regular Time = 0 hrs (12 – 12)\\Vac Tkn = 12 hrs
|  |IAAL|Original Leave line entered will have status changed to “2nd Processed”\\New Leave line created (Start Date 25-Jul) Overall Time=12 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 12 hrs

__Employee is taking Monday to Friday as vacation days in the period, with the time being generated according to their work schedule__
|IAAL Entry|Start Date = 24-Jul-2006\\End Date = 28-Jul-2006\\Time Code = Vac-Tkn\\Overall Time = null\\	Accrual Status = 1st Requested (system generated)
	
|UPTG Results:|IPTR on July 24|Regular Time = 0 hrs (12 – 12)\\Vac Tkn = 12 hrs
|  |IAAL|Original Leave line entered will have status changed to “2nd Processed”\\New Leave line created (Start Date 24-Jul) Overall Time=12 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 12 hrs
|  |IPTR on July 25|Regular Time = 0 hrs (8 – 8)\\Vac Tkn = 8 hrs
| |IAAL|New Leave line created (Start Date 25-Jul) Overall Time=8 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 8 hrs
| |IPTR on July 26|Regular Time = 0 hrs (8 – 8)\\Vac Tkn = 8 hrs
| |IAAL| New Leave line created (Start Date 26-Jul) Overall Time=8 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 8 hrs
| |IPTR on July 27|Regular Time = 0 hrs (8 – 8)\\Vac Tkn = 8 hrs
| |IAAL|New Leave line created (Start Date 27-Jul) Overall Time=8 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 8 hrs
| |IPTR on July 28|Regular Time = 0 hrs (4 – 4)\\Vac Tkn = 4 hrs
| |IAAL|New Leave line created (Start Date 28-Jul) Overall Time=4 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 4 hrs

__Employee is taking Tuesday a half day vacation and the other half of the day as Sick time__ 
%%information Note, this is not in the version of the UPTG as of Nov 2/06 but will be in the version.%%
|IAAL Entry|Start Date = 25-Jul-2006\\End Date = 25-Jul-2006\\Time Code = Vac-Tkn\\Overall Time = 4\\Accrual Status = 1st Requested (system generated)\\Start Date = 25-Jul-2006\\End Date = 25-Jul-2006\\Time Code = Sick-Tkn\\Overall Time = 4\\Accrual Status = 1st Requested (system generated)

|UPTG Results:|IPTR on July 25|Regular Time = 0 hrs (8 – 4 – 4)\\Vac Tkn = 4 hrs
| |IAAL|Original Leave line entered will have status changed to “2nd Processed”\\New Leave line created (Start Date 25-Jul) Overall Time=4 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 4 hrs
| |IPTR on July 25|Regular Time = 0 hrs (8 – 4 – 4)\\Sick-Tkn = 4 hrs
| |IAAL|Original Leave line entered will have status changed to “2nd Processed”\\New Leave line created (Start Date 25-Jul) Overall Time=4 hrs and status = “3rd in Payroll” and Leave Line Details with A300, Amount = 4 hrs
\\
----
!!HOLIDAY PROCESSING
The application has the capability to generate Holiday time automatically for employees during [UPTG] processing.

!Holiday Definition
Holidays are defined on the Holiday Calendar screen (IDHC).  Multiple Holiday Calendars are supported.  The Work Rules identify which Holiday Calendar will be used for a given employee.

__IDHC-Define Holiday Calendars__
              
|[Holiday Date|HOLIDAY_DATE]|This is normally the date of the actual holiday; this date must be provided.
|[Holiday Identity|HOLIDAY_IDENTITY]|This field is the name of the holiday and must be provided. 
|[Holiday Type|HOLIDAY_TYPE]|This field indicates if the holiday is a legal/statutory, religious or company holiday.
|[Holiday Rule|HOLIDAY_RULE]|This field indicates whether partial shifts apply, TS Clock outs apply or not.
|[Hours Per Day|HOURS_PER_DAY]|This field contains the number of hours to be paid for the holiday if different from the employee’s schedule or assignment. The Hours Per Day field is optional on [IDTC].  If it is provided it, it will override the derived holiday hours. It may be reduced for part time employees.
|[Holiday OT Factor|OVERTIME_FACTOR]|This field contains an optional overtime factor to be applied to the holiday time.  The Holiday OT Factor is optional on [IDTC].  It is not normally used since the Holiday Time Code itself often implies the factor.  If it is provided, it will be applied to the holiday hours generated for the Holiday Time Code.  It does not affect the Worked Time Code.
|[Generate Time|GENERATE_TIME]|If this toggle is ON, the holiday time will be generated under the time code(s) indicated; otherwise, no holiday time is generated.
|[Override TS Generation|SCHEDULING_OVERRIDE]|Not currently used
|[Holiday Time Code|DTC_ID_LEAVE]|This is the time code to be used to give the employee credit for the holiday.  It may be leave time taken or banked.
|[Worked Time Code|DTC_ID_WORK]|This is the time code to be used for the time an employee is scheduled to work on the holiday.
|[Day Off Time Code|DTC_ID_OFF]|This is the time code to be used to give the employee credit for a holiday that falls on a day off.  If this is not supplied, the Holiday Time Code is used.
|[Observed On|OBSERVED_ON]|This field identifies when the holiday will be generated for a scheduled employee who is off on the specified Holiday Date.

__Scheduled Verses Non-Scheduled Employees__\\
Two types of Holiday Calendars may be set up on [IDHC], one for Scheduled employees and one for Non-scheduled employees.

Scheduled employees who may have to work on holidays because of a 7 day a week operation require a Holiday Calendar that has both a Holiday Time Code for the holiday time to be banked and a Worked Time Code for the time worked.

Non-scheduled employees require a Holiday calendar with just a Holiday time code for the holiday leave time and nothing in the Worked time code.
 
!UPTG – Holiday Processing 
Holiday processing occurs when the following conditions exist:
*A Holiday Calendar is defined on the Work Rule ([IDWR])
*The toggle is ON to generate Holidays on the Work Rule Status rule ([IDWR])
*The day is identified on the Holiday Calendar ([IDHC])
*The Generate Holiday toggle is ON for the day on the Holiday Calendar ([IDHC]).

Holiday processing can be done in conjunction with scheduled time generation by day, by week or by period.  The holiday time will be placed on the day of the holiday in all cases.\\ 

Holiday processing is not done if time transactions other than scheduled hours already exist for the day.  In this case, nothing is generated and a message is given.\\

__Holiday Hours__\\
The hours that are used for a holiday depend on the setting of the "Holidays Use Schedule Hrs" toggle on the Work Rules.  This toggle indicates whether the Work Schedule dictates the holiday hours.  If hours are specified on the Holiday Calendar, they are ALWAYS USED and this toggle is not used.

The "Holidays Use Schedule Hrs" toggle only applies to the hours generated for the Holiday time code.  It does not extend to the Worked time code.

If part-time and full time employees use different rules, they must have separate work rules.

If the "Holidays Use Schedule Hrs" toggle is ON, the order for determining holiday hours is as follows:
#Use the IDHC Holiday Calendar hours per day if specified, otherwise
#Use the employee’s overridden Work Calendar scheduled hours per day if specified, otherwise
#Use the Work Rule’s Work Calendar scheduled hours per day if specified, otherwise
#Use the employee's assignment hours per day.\\

If the "Holidays Use Schedule Hrs" toggle is OFF, the order for determining holiday hours is as follows:
#Use the IDHC Holiday Calendar hours per day if specified, otherwise
#Use the employee's assignment hours per day.

If an employee is part-time (i.e. FTE < 1) and the [IDHC] Holiday Calendar hours per day are used, holiday hours are generated up to a maximum of the Assignment hours per day.  Refer to #8 and #9 below for examples of the [UPTG] processing and setup for a part time employee.

Holiday hours are only used for the Holiday Time Code; they do not affect the Worked Time Code.  Work time is taken directly from the Work Calendar.  No work time is ever generated for days off.\\

__Adjust Scheduled Time__\\
The ‘Sched. Time’ field (at the bottom of the [IPTR]) will only be populated if the ‘Regular Time Code’ on the work rule ([IDWR]) has the ‘Adjust Scheduled Time’ toggle (on [IDTC]) turned on.

The ‘Adjust Scheduled Time’ toggle on [IDTC] indicates how the holiday time affects the scheduled time that is generated by [UPTG] (e.g. REG time).\\
              
If the Holiday Time Code has the ‘Adjust Scheduled Time’ toggle ON, the scheduled time will be adjusted by the holiday time.  The difference will be left under the scheduled time code.  If the Holiday Time Code has the ‘Adjust Scheduled Time’ toggle OFF, only the holiday time will be used for the day.\\ 
 
No adjustments are ever made on days not worked (days off).  No adjustments are ever made for the Work Time Code.  Refer to #3 and #4 below for examples of the [UPTG] processing and setup with the ‘Adjust Scheduled Time’ toggle OFF/ON.

__Holidays While On Leave__\\
Holidays may of may not apply while a person is on a leave status.  The [IDWR] Work Rules identify how to handle holidays for each employment status.  While a person is on leave, the normal scheduled time generation is done under the leave code specified on [IDWR] and a Leave record is created on [IAAL].

If a generated holiday falls on one of the leave days and if the scheduled time is adjusted by the holiday, the Leave record will be adjusted as well.

__Observed On And Days Off__\\
Holidays that do not fall on a work day will not generate anything unless the Observed On rule is set.

The Observed On rule can be used to place the holiday on a work day (Next Scheduled Day, Last Scheduled Day, Last Day Curr Year, First Day Next Year) or give the holiday on days off (Holiday Date).  Refer to #7 below for an example of the [UPTG] processing and setup with the ‘Holiday Date’ rule.\\

If the Observed On rule is ‘Holiday Date’ and the holiday falls on a day off, a different Holiday Time Code may be used for the holiday time.  This Day Off Time Code can be specified on IDHC.  If no Day Off Time Code is specified on either IDHC, the normal Holiday Time Code is used for days off.  Refer to #10 and #11 below for examples of the UPTG processing and setup with alternate time codes for days off.\\

%%information The Alternate time code to be used for days off was formerly stored on the [IDTC] screen.  This feature has been deprecated and replaced by the new field on [IDHC] which offers more flexibility.%%
 
!Holiday Examples
Below are sample cases that illustrate how Holiday Calendars work.  Unless stated otherwise, the case is for a fulltime employee who has 12 hours scheduled time on their work calendar on the day of a holiday:\\

#This is the case where the employee is schedule to work but will be taking the holiday off and will get full scheduled hours for the holiday.\\Setup on IDHC:\\Hours Per Day=NULL\\OT Factor=NULL\\Holiday Time Code=HOLTIME (IDTC ‘Adjust Schedule Time’ toggle OFF)\\Worked Time Code=NULL\\Day Off Time Code=NULL\\Setup on IDWR\\Holidays Use Sched Hrs=ON\\Results:0 hours REG\\12 hours HOLTIME (holiday leave)\\  \\
#This is the case where the employee is scheduled to be working on the holiday and will need to be paid for the day worked plus the holiday.  The employee will get full scheduled time for both.\\Setup on IDHC: 	Hours Per Day=NULL\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle OFF)\\Worked Time Code=HOLWORK\\Day Off Time Code=NULL\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:0 hours REG\\12 hours HOLBANK (holiday bank)\\12 hours HOLWORK (replacement for regular time)\\ \\
#This is the case where the employee is scheduled to work but will be taking the holiday off and will get only 8 hours for the holiday.\\Setup on IDHC: 	Hours Per Day=8\\OT Factor=NULL\\Holiday Time Code=HOLTIME (IDTC ‘Adjust Schedule Time’ toggle OFF)\\Worked Time Code=NULL\\Day Off Time Code=NULL\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:0 hours REG\\8 hours HOLTIME (holiday leave)\\  \\
#This is the case where the employee is scheduled to work but is taking the holiday off. The employee must get 8 hrs for holiday and their excess of schedule time remaining in Regular.\\Setup on IDHC:Hours Per Day=8\\OT Factor=NULL\\Holiday Time Code=HOLTIME (IDTC ‘Adjust Schedule Time’ toggle ON)\\Worked Time Code=NULL\\Day Off Time Code=NULL\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:4 hours REG (12 - 8 = 4)\\8 hours HOLTIME (holiday leave)\\  \\
#This is the case where the employee is scheduled to be working on the holiday and will need to get 8 hrs for holiday plus they get paid their full schedule hours for working the day.\\Setup on IDHC:Hours Per Day=8\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle OFF)\\Worked Time Code=HOLWORK \\Day Off Time Code=NULL\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:0 hours REG\\8 hours HOLBANK (holiday bank)\\12 hours HOLWORK (replacement for regular time)\\  \\
#This is the case where the employee is scheduled to be  working on the holiday, therefore will need to get 8 hrs for holiday, their excess of scheduled time is paid as regular and they also get their full scheduled hours for working the holiday.\\Setup on IDHC:Hours Per Day=8\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle ON)\\Worked Time Code=HOLWORK\\Day Off Time Code=NULL\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:4 hours REG (12 - 8 = 4)\\8 hours HOLBANK (holiday banked/paid)\\12 hours HOLWORK (replacement for regular time)\\  \\
#This is the case where the employee is NOT scheduled to be working on the holiday but the employee must be paid for the day on the date specified in the Holiday calendar.\\Setup on IDHC:Hours Per Day=NULL\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle ON)\\Worked Time Code=HOLWORK (will not be used on ‘off’ days)\\Observed On=HOLIDAY DATE\\Day Off Time Code=HOLOFF\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:0 hours REG\\8 hours HOLOFF (holiday leave)\\%%information This will only work when the employees have time Generated by Day (on Work Calendar, Status Rules Tab, Time Generation Rule is set to ‘By Day with Time’%% \\  \\
#This is the case where the employee only works part-time (FTE < 1.0).  The employee is to be paid for the number of hours on their assignment in the Hrs/Day field.  Their schedule is 8hrs, 8hrs and 4hrs for the week.  The holiday falls on the 1st day, so the employee should only get their maximum of 4hrs for the holiday (not 8).  The ‘Adjust Scheduled Time’ toggle is ON.\\Setup on IDHC:Hours Per Day=NULL\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle ON)\\Worked Time Code=HOLWORK \\Day Off Time Code=NULL\\Setup on IDWR:Holidays Use Sched Hrs=OFF\\Results:4 hours REG (8 – 4 = 4)\\4 hours HOLBANK (holiday bank)\\8 hours HOLWORK (replacement for regular time)\\%%information The HOLBANK time is taken from the Employee’s assignment HRS/DAY field to cap the number of hours per day the employee is paid for.%%\\  \\
#This is the case where the employee only works part-time (FTE < 1.0).  The employee is to be paid for the number of hours on their assignment in the Hrs/Day field.  Their schedule is 8hrs, 8hrs and 4hrs for the week.  The holiday falls on the 1st day, so the employee should only get their maximum of 4hrs for the holiday (not 8).  The ‘Adjust Scheduled Time’ toggle is OFF.\\Setup on IDHC: Hours Per Day=NULL\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle OFF)\\Worked Time Code=HOLWORK\\Day Off Time Code=NULL\\Setup on IDWR:Holidays Use Sched Hrs=OFF\\Results:0 hours REG\\4 hours HOLBANK (holiday bank)\\8 hours HOLWORK (replacement for regular time)\\%%The HOLBANK time is taken from the Employee’s assignment HRS/DAY field to cap the number of hours per day the employee is paid for.%%\\ \\
#This is the case where a fulltime employee works 40hrs/wk with a schedule of 9hrs, 9hrs, 9hrs, 9hrs and 4hrs for the week.  The holiday falls on the last day worked.  The employee should get the daily average of 8hrs. for the holiday.\\Setup on IDHC:Hours Per Day=8\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle OFF)\\Worked Time Code=HOLWORK \\Observed On=HOLIDAY DATE\\Day Off Time Code=OFFBANK\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:0 hours REG\\8 hours HOLBANK (holiday bank for worked days)\\4 hours HOLWORK (replacement for regular time)\\  \\
#This is the case where a fulltime employee works 40hrs/wk with a schedule of 9hrs, 9hrs, 9hrs, 9hrs and 4hrs for the week.  The holiday falls on an ‘off’ day.  The employee should get the daily average of 8hrs. for the holiday.\\Setup on IDHC:Hours Per Day=8\\OT Factor=NULL\\Holiday Time Code=HOLBANK (IDTC ‘Adjust Schedule Time’ toggle ON)\\Worked Time Code=HOLWORK (will not be used on ‘off’ days)\\Observed On=HOLIDAY DATE\\Day Off Time Code=OFFBANK\\Setup on IDWR:Holidays Use Sched Hrs=ON\\Results:0 hours REG\\8 hours OFFBANK (alternate holiday bank for ‘off’ days)\\0 hours HOLWORK (replacement for regular time)\\