The Discipline Balance operands make up the rules listed in the Discipline Balance rulesets that can be assigned to a Discipline Balance Policy. The Discipline Balance Rules are used by the DISCIPLINE_BALANCE service to add points to, add levels to, and reduce the points in your Discipline Balance Codes.
When defining the Discipline Balance rulesets, you should organize them according to the tasks of the DISCIPLINE_BALANCE service (BALANCE_ACCUMULATION, BALANCE_LEVELS, and BALANCE_REDUCTION). These rulesets will be assigned to the Discipline Ruleset, Level Ruleset Name, and Reduction Ruleset settings in a Discipline Balance Policy.
For example, the ruleset that will be processed by the BALANCE_ACCUMULATION task of the DISCIPLINE_BALANCE service (the Discipline Ruleset setting in the Discipline Balance Policy) should be designed to look for discipline violations in the timecard (e.g., unexcused absences) and add the appropriate number of points to the Discipline Balance Code.
Discipline Balance Rules are created on the Calc Rule form. Each rule is expressed as an IF-THEN statement. The IF portion contains one or more conditions, and the THEN portion contains one or more actions. When the condition is met, the action is executed.
See Also:
Sample Discipline Balance Rules
How the Last X Range Operands Find Occurrences
Rule Name: Tardy in 3 days 1 point balance increase
If this rule finds occurrences of a Late Arrival event on the day being processed and the 3 previous days, then 1 point is added to the disciplinary balance and a ticket is created. In the Discipline Balance Policy, a Late Arrival event has an Occurrence Weight of 1.0.
IF:
Is Occurrence By Type On Today( ATTENDANCE LATE_ARRIVAL )
And
Is Occurrence By Type In Last X Range( 1, ATTENDANCE LATE_ARRIVAL, 3, Days,
False, Extend For Inactive, All Days )
THEN:
Add To Disciplinary Balance( 1 )
And
Create Disciplinary Balance Ticket( )
And
Attach Transactions To Ticket( Get Occurrences By Type In Last X Range(
1, ATTENDANCE LATE_ARRIVAL, 3, Days, False, Extend For Inactive, All Days
) )
And
Attach Transactions To Ticket( Get Occurrences By Type On Today( ATTENDANCE
LATE_ARRIVAL ) )
Rule Name: Absent Monday in 6 days 1 point balance increase
If this rule finds occurrences of a No Show event on the day being processed and during a Monday in the 6 previous days, then 1 point is added to the disciplinary balance and a ticket is created. In the Discipline Balance Policy, No Show events have an Occurrence Weight of 1.0 and a Multi-day Occurrence setting of Scheduled Days Only.
IF:
Is Occurrence By Type On Today( ATTENDANCE NO_SHOW )
And
Is Occurrence By Type In Last X Range( 1, ATTENDANCE NO_SHOW, 6, Days,
False, Extend For Inactive, Monday )
THEN:
Add To Disciplinary Balance( 1 )
And
Create Disciplinary Balance Ticket( )
And
Attach Transactions To Ticket( Get Occurrences By Type In Last X Range(
1, ATTENDANCE NO_SHOW, 6, Days, False, Extend For Inactive, Monday ) )
And
Attach Transactions To Ticket( Get Occurrences By Type On Today( ATTENDANCE
NO_SHOW ) )
Rule Name: Two Balance Points Creates Written Warning
If this rule finds the disciplinary balance level is not 2 and the disciplinary balance is 2, then the disciplinary balance level will be set to 2/Written Warning.
IF:
Get Disciplinary Balance Level( ) Not Equal To 2
And
Get Disciplinary Balance( ) Equal To 2
THEN:
Set Disciplinary Balance Level( 2, Written Warning )
And
Stop Processing( )
Rule Name: No Change Reset Balance 45 day
This rule says if the discipline balance has not increased in the last 45 days and the balance is greater than zero, the balance will be reset to zero.
IF:
No Discipline Balance Change In Last X Range( Up, 45, Days, False, Extend
For Inactive )
And
Get Disciplinary Balance( ) Greater Than 0
THEN:
Reset Disciplinary Balance( )
The Is Occurrence in Last X Range and Get Occurrence in Last X Range operands will look for the occurrences of specific events in a specific time period (e.g., 2 occurrences in 30 days). An event’s “occurrence” is defined in the Discipline Balance Policy. An event may be defined as a single occurrence or a partial occurrence. For example, if a person clocks out an hour early, this infraction counts as a partial occurrence. However, if the person clocks out 4.5 hours early, this infraction will count as a single occurrence.
The Is Occurrence in Last X Range and Get Occurrence in Last X Range operands look for the required number of occurrences in the following manner:
First, the operand looks at the most recent day in the range (based on the Start Today parameter) – Today or Yesterday.
If the above day includes an event specified by the Event, Event Type, or Event Group parameter, the operand checks to see if the event has an Occurrence Weight record in the person’s Discipline Balance Policy. If not, the event has an Occurrence Weight of 1.0 and its Multi-Day Occurrence setting is from the Discipline Balance Policy record. If the event has an Occurrence Weight record, its Occurrence Weight and Multi-Day Occurrence settings are defined there.
If the event has a Multi-Day Occurrence setting and the events have varying Occurrence Weights, then the highest Occurrence Weight of the events in the multi-day occurrence will be used as the Occurrence Weight of the Multi-Day Occurrence
If the event’s Occurrence Weight is 1.0 or greater, it counts toward the threshold (in the How Many parameter).
If the event’s Occurrence Weight is less than 1.0, the operand will look back in the range (the Amount and Day Week Month parameters) for more partial occurrences that total 1.0. Once it finds enough partial occurrences that total 1.0, these events count toward the threshold (the How Many parameter). If the operand cannot find any other partial occurrences to total 1.0, then the partial occurrences will be ignored.
The operand continues to look backward until the number of occurrences it finds reaches the threshold (the How Many parameter) or it has looked at all the days in the range (the Amount and Day Week Month parameters).
For example, the following rule states that if a person has two occurrences of an event in the Event Group called Attendance Violation Events in 30 days, then the person will have 1 point added to their discipline balance and receive a ticket.
IF Is Occurrence
By Group In Last X Range( 2, Attendance Violation Events, 30, Days, True,
Extend For Inactive, All Days )
THEN Add To Disciplinary Balance( 1 )
And Create Disciplinary Balance Ticket( )
And Attach Transactions To Ticket( Get Occurrences By Group In Last X Range(
2, Attendance Violation Events, 30, Days, True, Extend For Inactive, All
Days ) )
A person’s Discipline Balance Policy is configured so that an Early Departure with a duration less than 4 hours is considered a partial (0.5) occurrence and an Early Departure with a duration of 4 or more hours is considered a full (1.0) occurrence. Early Departure is included in the Attendance Violation Events Event Group.
Today the person leaves work 2 hours early, which is a partial (0.5) occurrence. Seven days ago, the person left work 4 hours early, which is a full (1.0) occurrence. Ten days ago, the person left work 1 hour early, which is a partial (0.5) occurrence. The above rule will look for 2 occurrences in the last 30 days, including today. First, the rule finds the 0.5 occurrence on today. The rule then looks back for another partial occurrence in the last 30 days and finds the 0.5 occurrence from 10 days ago. These two partial occurrences add up to 1 occurrence. The rule looks back again and finds the 1.0 occurrence from seven days ago. Now it has found 2 occurrences.