CLOCK PUNCH PROCESSING#
After the clock punch has been inserted into the data base, it is processed.
The first step in the processing is association of the employee, Date and Time to a scheduled shift.
Any scheduled shifts that exist for the day before, and 2 days after the date of the clock punch are cached and used for selection.
Clock entries are paired together and stored as a time exception with a time_exception_action of Clock Punch (10). Existing punch exceptions are also cached for the same time frame for evaluation.
When punching IN, a new punch exception will be created with a start date, and start time matching the clock entry. Clock entries are based on employments; punch exceptions are associated to the prime assignment.
If a second IN punch is processed after the employee is already “IN” for a scheduled job AND costing information such as Job, Department or cost center exist, the original punch exception will be ended as though the employee had punched OUT, and a new punch exception will be created reflecting the costing change.
Out punches are stamped on the last cached IN punch exception which has not be paired to an "In" punch.
In and Out punches which are duplicates will be paired to a new punch exception.
Punch exceptions are then processed once paired by the system time exception processor in the same manner as exceptions for time rules applied from an employees work rule.