Skip to main content
Skip table of contents

Patch by Pay Line

The Patch by Pay Line process is a way of patching that allows calendar-based patching to occur for each employee pay assignment. Patch by Pay Line is also the primary method used to create earnings for contract accumulators. The process will always create a batch called PATCH + the pay period number. This information is created entirely from data on the employee pay assignment.

How Patch by Pay Line Works

Patch by Pay Line processes each employee separately by reading all their active pay assignments for the current period. Once all the assignments are read into an internal table, Patch by Pay Line then loops through each of those assignments and loads the appropriate calendar and will patch the appropriate work days from the calendar established for each pay assignment.

Patch by Pay Line Setup

Setup for Patch by Pay Line has two steps.

  1. Verify that common code PYFG/PY211C is set up properly. See the Common Code Reference Manual for common code setup.
  2. Identify which pay assignments should be patched by entering a valid code in the Type field on the PY Employee Pay Assignment (PYUPEP) page, General Information tab, Patching Information section.

Patching

The time frame to be patched is determined by the patch begin and end dates and the current pay period that you are running.  If the Employee Pay Assignment begins in the current period, the time frame patched is from the patch begin date to the end of the period. The maximum number of days that can be patched is now 434 days or 14 months of 31 days. If the patch end date occurs in the middle of the current period, then the time frame patched is from the period begin date to the patch end date.

A Patch begin date can be given that is prior to the effective date of the assignment. This is called an early start assignment and means that their earnings actually start prior to their payments. How this works is that the period in which the pay assignment becomes active, the patching dates are checked to see if they are classified as an early start. If this is the case, the system will allow the begin date to be prior to the effective date and will patch from the patch begin date to the end of the period or patch end date (whichever is sooner). In this manner the patch end date then could effectively also be prior to the effective date as long as it is after the patch begin date. This just means that the earnings of the assignment occur fully before the assignment becomes active. If there is a retro date on the assignment patching before the effective date is not allowed on that assignment as the retro date implies that there is a prior assignment to cover earlier dates.

Which Hour to Patch

The hour code that is patched is determined by the pay class and schedule. Every calendar that is created has a corresponding schedule. The schedule is used to describe the different types of days that occur on the calendar. For instance, "W" may be a work day and "H" may be a holiday. Each day type may have a different number of hours defined for them (classified as either a paid day, holiday, day off, etc.) and assigned a patching hour code or MISC code. By looking at the schedule, one can decipher how many hours are defined for a certain day type and what hour code is assigned. For example, one day may be a "W" and classified as a paid day for eight hours and is associate with hour code 3001 (Reg Hrs), and another day ("H") may be classified as a holiday for 7.5 hours and is associated to hour code 3015 (Holiday).
A MISC code can be expressed in the hour code field. Instead of using a specific hour code like 3001, "REG" can be used. If you have several different pay classes, the code will determine which hour is patched by matching the MISC code specified on the work schedule against the first MISC code of the hour definitions included in the pay class of that assignment. For example, if a day code of "W" is defined and two employees use the same calendar with different pay classes, it is possible to patch different hours for those employees using only a single calendar.
You can also set up days that do not patch but are listed as paid so that employees will be processed in periods that do not have actual paid days. For example, a teacher who has a contract that runs from 9/1 - 6/15 will require a calendar that has "non-patchable" paid days in the periods from 6/15 - 8/31. The employee will be paid, but no earnings will occur. A "non-patchable" paid day is expressed on the schedule definition with a "Y" in Paid Day and a "Z" in Day off. "Non- patchable" paid days are also known as "Z - Days."

Number of Hours / Patch Type

The number of hours to be patched is not always determined by the work schedule. It is possible to modify the number of hours patched by using three fields on the pay assignment page. The first field is Patch Type. This field determines what method of patching is used. If this field contains the value "H" then the next field HRS/DAY is used. This field represents the number of hours per day that the Employee Pay Assignment applies and will be the number of hours patched for each appropriate day. If the Patch Type field contains "P," then the third field, Calendar Percent, is used. The percentage option is expressed to prorate the number of hours defined on the work schedule. If the Calendar Percent is 0.25 and the hour defined for a particular day is eight, then two hours will patch. The Calendar Percent field is appropriate for calendars that have different day types that patch different numbers of hours. The third choice for the Patch Type is "F." An "F" means that the effort will be used to prorate the work schedule. This is useful for those occasions when the client wants to patch the hours on the work schedule but wants those hours split in the correct percentage to all distributions. The last option for the Patch Type is "N" or blank. This means that NO Patch by Pay Line patching will occur for that Employee Pay Assignment.

Running the Patch by Pay Line Process (PYTCDTPT)

To run the Patch by Pay Line process you will need to run mask PYTCDTPT. The Patch by Pay Line Process is used to create contractual pay amounts and auto pay entries. This process will always create a batch called PATCH + the pay period number. This information is created entirely from data on the employee pay assignments.

PYTCDTPT will ask you for the period and selection criteria. You can run the timecard batch PYTCDTBP process to view the day by day picture of the hours that are assigned to each pay assignment. The Patch by Pay Line batch name is called "PATCH#######" where ####### is the period that the Patch by Pay Line is being run. If you have exception hours that need to be a part of an employee's time you will still need to enter the daily timecard in PYTCDTUB for these exceptions hours before running Patch by Pay Line.

Simulated Daily Patching

If Patch by Pay Line is being used in lieu of the daily patching capability of the force calculation process, the force calculation daily patching capability can be simulated by setting Associated Code 2 of common code PYFG/PY211C to "DAILY PATCH." This setting effectively sets some of the fields on employee pay assignments as follows:

  1. Calendar is set to the employee's calendar as seen on PYUPEM.
  2. Begin/End are set to the pay period begin and end dates.
  3. Patch Type is set to "F" (Spread by effort).

This way, for organizations where use of the employee calendar, etc., is satisfactory or organizations switching from patching via the force calculation program to patching via Patch by Pay Line, the common code setting can be set and no maintenance is required on the Calendar/Begin/End/Patch Type fields in the pay assignments.

Common Scenarios

Assume monthly payrolls in the following scenarios with eight hours defined on the work schedule.

 

Pay Begin

Pay End

Patch Begin

Patch End

HRS/DAY

Cal

Percent

Effort

Patch Type

Period Begin

1)

12/1/99

08/31/00

11/15/99

08/15/00

7.5

 

0.5

1.0

H

01/01/00

2)

12/1/99

08/31/00

11/15/99

08/15/00

7.5

 

0.5

1.0

H

12/01/99

3)

12/1/99

08/31/00

11/15/99

08/15/00

7.5

 

0.5

1.0

H

08/01/00

4)

12/1/99

08/31/00

11/15/99

08/15/00

7.5

 

0.5

1.0

P

01/01/00

5)

12/1/99

08/31/00

11/15/99

08/15/00

7.5

 

0.5

1.0

N

01/01/00

6)

12/1/99

08/31/00

01/15/99

08/15/00

7.5

 

0.5

1.0

H

01/01/00

7)

12/1/99

08/31/00

02/15/99

08/15/00

7.5

 

0.5

1.0

H

01/01/00

8)

12/1/99

08/31/00

11/15/99

08/15/00

7.5

 

0.5

1.0

H

11/01/99

9)

12/1/99

08/31/00

11/15/99

08/15/00

7.5

 

0.5

0.25

F

01/01/00

10)

12/1/99

08/31/00

09/01/00

09/15/00

7.5

 

0.5

1.0

H

01/01/00

These answers are the number of hours Patched, and the date range patched for each of the above examples:

Answers:

Start Date

End Date

Hours

1)

01/01/00

01/31/00

7.5

2)

11/15/99

12/31/00

7.5

3)

08/01/00

08/15/00

7.5

4)

01/01/00

01/31/00

4.0

5)

xxxxxxx

xxxxxxx

xxx (Not Patched Patch Type is 'N')

6)

01/15/00

01/31/00

7.5

7)

xxxxxxx

xxxxxxx

xxx (Even though period is within the Pay assign the period is outside the patch date range)

8)

xxxxxxx

xxxxxxx

xxx (The Pay assignment is not active in this period due to the pay assignment begin and end dates)

9)

01/01/00

01/31/00

2.0

10)

01/01/00

01/31/00

7.5

Check PYUPSC with the corresponding calendar code from PYUPEP. Make sure that there is either an hour listed on the schedule (or a misc. code with a corresponding hour that has the same code in misc (1) and is a "P" type and has a " + " in Hour Base 15.

If millions of dollars are appearing on the pre-list for certain employees, examine their pay/patch dates carefully in PYUPEP. If a pay assignment begins in the current period, Patch by Pay Line will use the PATCH-BEG date to start patching from. This could cause the system to patch hundreds of days with hours.

If you enter a patch type in PYUPEP, you must also enter a patch begin and end date or Patch by Pay Line will not calculate.

JavaScript errors detected

Please note, these errors can depend on your browser setup.

If this problem persists, please contact our support.