Messaging Rules allow you to create messages for specific business conditions. For example, a company may want to send a warning message to employees who have been tardy at least three days in the current pay period. This type of rules-based message requires the following configuration:
Create the message ruleset using the Calc Rule and Rulesets forms. The context for these rules will be MessagingRuleset.
Add the Messaging Ruleset you created to the Message Definition.
You can also change the text of the message using the Message Label tab in the Message Definition form.
For System messages, add the Message Definition to a Message Policy and configure the settings for the Message Definition. Then assign the Message Policy to the appropriate employees.
You will also have to run the EXCEPTION_MESSAGE_CREATION, MESSAGE_CREATION, and MESSAGE_DELIVERY services to create and deliver the rules-based messages.
For a list of predefined messages that are included with the application, see Message Definition.
Refer to the Messaging feature topic for more information.
The following is a list of the available operands for the MessagingRuleset.
Determines whether there are any scheduled days in a specified range of time that have zero hours posted. You can check the current, next, or previous week, day, or period for scheduled days with zero hours. You can also specify whether to check for a specific type of zero hours (paid, unpaid, or all).
Parameters:
Range = Indicates whether to check a single day, a week, or a pay period for scheduled days with zero hours.
Range Offset = Indicates whether to check the Current, Next, or Previous Range setting (Day, Week, or Period) for scheduled days with zero hours.
Hours Type = Indicates which type of hours to check for zero hours (Paid, Unpaid, or All).
Note: If the Range Offset is Current, and the MESSAGE_CREATION service runs BEFORE the end of the current post date’s schedule, then the current post date’s scheduled hours will not be included in the count of zero hours. However, if the service runs AFTER the end of the current post date’s schedule, then the current post date’s scheduled hours will be included in the count of zero hours.
This operand can only be used with the Dialog Messages and Attestations feature.
This operand will create the messages in a particular dialog, as defined in the Dialog Element and Dialog Message forms. The Medium parameter indicates where the message dialog will be shown.
Parameters:
Medium = Indicates which devices will display the message. Currently the messages will only display on the terminal (Medium = Application).
Example:
IF:
Is Person Active (Period, Current)
THEN:
Create Dialog Message (Application)
The above rule is configured in a ruleset called “Message_Creation.” This ruleset is assigned to a Message Definition for a Dialog called Meal, and this Message Definition is assigned to a Message Policy. For all active employees that have this Message Policy, the MESSAGE_CREATION service will create messages based on the Meal dialog and display them on the terminal.
This operand will create the actual message for a specified group of employees.
Parameters:
Medium = Indicates how the message will be sent. Select Application if the recipients will view the message on a client terminal or in the web application. Select Email to send the recipients an email message. Select Both to send an email message and a terminal/web message to the recipients.
Message Key = Identifies the Dictionary Label with the actual text of the message. You can edit a Message Key using the Message Label tab in the Message Definition form, or using the Dictionary Label form.
Message Group = Used to specify which employees will receive the message. Available options are Message Groups configured in the Person Group form.
Override Message = Message text that will be used instead of the Message Key. If you do not want to specify an Override Message, right-click and select the Get Empty Override Message operand for this parameter.
You can use semantics in messages so the message will identify a specific person, post date, etc. The semantics appear in brackets with percentage signs (e.g., [%PERSON_NUM%]). When the message is created, the system will replace this text with the correct value (e.g., the Person Number).
This operand will create the actual message for the employee.
Parameters:
Medium = Indicates how the message will be sent. Select Application if the person will view the message on a client terminal or in the web application. Select Email to send the person an email message. Select Both to send an email message and a terminal/web message to the person.
Message Key = Identifies the Dictionary Label with the actual text of the message. You can edit a Message Key using the Message Label tab in the Message Definition form, or using the Dictionary Label form.
Override Message = Message text that will be used instead of the Message Key. If you do not want to specify an Override Message, right-click and select the Get Empty Override Message operand for this parameter.
You can use semantics in messages so the message will identify a specific person, post date, etc. The semantics appear in brackets with percentage signs (e.g., [%PERSON_NUM%]). When the message is created, the system will replace this text with the correct value (e.g., the Person Number).
When the MESSAGE_CREATION service processes this rule, it will use the Message Key to pull the text from the Dictionary, replace any semantic key, and create the message in the message table.
Create Person Message Offline Processor Exception
This operand will create a message when an error is recorded by the OFFLINE_DATA_PROCESSOR service. The message will be sent to the person whose offline transaction caused the error.
To create messages when an error occurs for the OFFLINE_DATA_PROCESSOR service, you need to make sure the EXCEPTION_MESSAGE_CREATION service is configured to process the ERROR_LOGGED_BY_OFFLN_DATA_PROC_EXCPTN Message Definition. You will need to create a rule and add it to the ruleset for this Message Definition; the Create Person Message Offline Processor Exception operand can be used in this rule. See below for an example of such a rule.
Parameters:
Medium = Indicates how the message will be sent. Select Application if the recipient will view the message on a client terminal or in the web application. Select Email to send the recipient an email message. Select Both to send an email message and a terminal/web message to the recipient.
Message Key = Identifies the Dictionary Label with the actual text of the message. You can edit a Message Key using the Message Label tab in the Message Definition form, or using the Dictionary Label form.
Override Message = Message text that will be used instead of the Message Key. If you do not want to specify an Override Message, right-click and select the Get Empty Override Message operand for this parameter.
You can use semantics in messages so the message will identify a specific person, post date, etc. The semantics appear in brackets with percentage signs (e.g., [%PERSON_NUM%]). When the message is created, the system will replace this text with the correct value (e.g., the Person Number).
You can use the following semantics with the Create Person Message Offline Processor Exception operand:
[%PERSON_NUM%]
[%PERSON_NAME%]
[%CLOCKTIM%]
[%BADGE_NUM%]
[%GID%]
[%DID%]
[%EVENT_NAME%]
[%ERROR_ID%]
[%ERROR_DATA%]
Example:
The InTeract terminal is offline. Person 101 starts a labor but enters the wrong order number. When the OFFLINE_DATA_PROCESSOR service runs, it generates an error for this transaction. The EXCEPTION_MESSAGE_CREATION service then creates a message to notify Person 101 of the error. The EXCEPTION_MESSAGE_CREATION service uses the following rule to generate the message:
IF Is Error Logged By Service
Instance( NONE, OFFLINE_DATA_PROCESSOR, 3000, 0 )
THEN Create Person Message Offline Processor Exception( Application,
OFFLINE_SERVICE_EXCEPTION, Get Empty Override Message( ) )
This operand will create a service exception message.
Parameters:
Medium = Indicates how the message will be sent. Select Application if the recipients will view the message on a client terminal or in the web application. Select Email to send the recipients an email message. Select Both to send an email message and a terminal/web message to the recipients.
Message Key = Identifies the Dictionary Label with the actual text of the message. You can edit a Message Key using the Message Label tab in the Message Definition form, or using the Dictionary Label form.
Message Group = Used to specify which employees will receive the message. Available options are Message Groups configured in the Person Group form.
Override Message = Message text that will be used instead of the Message Key. If you do not want to specify an Override Message, right-click and select the Get Empty Override Message operand for this parameter.
You can use semantics in messages so the message will identify a specific person, post date, etc. The semantics appear in brackets with percentage signs (e.g., [%PERSON_NUM%]). When the message is created, the system will replace this text with the correct value (e.g., the Person Number).
This operand will create the actual message for the supervisor.
Parameters:
Medium = Indicates how the message will be sent. Select Application if the supervisor will view the message on a client terminal or in the web application. Select Email to send the supervisor an email message. Select Both to send an email message and a terminal/web message to the supervisor.
Supervisor Type =Select All, Direct, Group, or Hierarchy to specify which supervisor(s) should receive the message.
Offset = Indicates the supervisor level offset.
Delegates = Select True or False to indicate whether you want to create the message for persons to whom the supervisor has delegated their authority.
Message Key = Identifies the Dictionary Label with the actual text of the message. You can edit a Message Key using the Message Label tab in the Message Definition form, or using the Dictionary Label form.
Override Message = Message text that will be used instead of the Message Key. If you do not want to specify an Override Message, right-click and select the Get Empty Override Message operand for this parameter.
You can use semantics in messages so the message will identify a specific person, post date, etc. The semantics appear in brackets with percentage signs (e.g., [%PERSON_NUM%]). When the message is created, the system will replace this text with the correct value (e.g., the Person Number).
Create Supervisor Message Offline Processor Exception
This operand will create a message when an error is recorded by the OFFLINE_DATA_PROCESSOR service. The message will be sent to the supervisor of the person whose offline transaction caused the error.
To create messages when an error occurs for the OFFLINE_DATA_PROCESSOR service, you need to make sure the EXCEPTION_MESSAGE_CREATION service is configured to process the ERROR_LOGGED_BY_OFFLN_DATA_PROC_EXCPTN Message Definition. You will need to create a rule and add it to the ruleset for this Message Definition; the Create Supervisor Message Offline Processor Exception operand can be used in this rule. See below for an example of such a rule.
Parameters:
Medium = Indicates how the message will be sent. Select Application if the supervisor will view the message on a client terminal or in the web application. Select Email to send the supervisor an email message. Select Both to send an email message and a terminal/web message to the supervisor.
Supervisor Type =Select All, Direct, Group, or Hierarchy to specify which supervisor(s) should receive the message.
Offset = Indicates the supervisor level offset.
Delegates = Select True or False to indicate whether you want to create the message for persons to whom the supervisor has delegated their authority.
Message Key = Identifies the Dictionary Label with the actual text of the message. You can edit a Message Key using the Message Label tab in the Message Definition form, or using the Dictionary Label form.
Override Message = Message text that will be used instead of the Message Key. If you do not want to specify an Override Message, right-click and select the Get Empty Override Message operand for this parameter.
You can use semantics in messages so the message will identify a specific person, post date, etc. The semantics appear in brackets with percentage signs (e.g., [%PERSON_NUM%]). When the message is created, the system will replace this text with the correct value (e.g., the Person Number).
You can use the following semantics with the Create Supervisor Message Offline Processor Exception operand:
[%PERSON_NUM%]
[%PERSON_NAME%]
[%CLOCKTIM%]
[%BADGE_NUM%]
[%GID%]
[%DID%]
[%EVENT_NAME%]
[%ERROR_ID%]
[%ERROR_DATA%]
Example:
The InTeract terminal is offline. Person 101 starts a labor but enters the wrong order number. When the OFFLINE_DATA_PROCESSOR service runs, it generates an error for this transaction. The EXCEPTION_MESSAGE_CREATION service then creates a message to notify Person 101's supervisor of the error. The EXCEPTION_MESSAGE_CREATION service uses the following rule to generate the message:
IF Is Error Logged By Service
Instance( NONE, OFFLINE_DATA_PROCESSOR, 3000, 0 )
THEN Create Supervisor Message Offline Processor Exception( Application,
OFFLINE_SERVICE_EXCEPTION, Get Empty Override Message( ) )
This operand will create the actual message for a particular Supervisor Role.
Parameters:
Medium = Indicates how the message will be sent. Select Application if the recipients will view the message on a client terminal or in the web application. Select Email to send the recipients an email message. Select Both to send an email message and a terminal/web message to the recipients.
Supervisor Role = Indicates what type of Supervisor Role will receive this message (No Role, All Roles, or Available Roles)
Offset = Indicates the supervisor level offset.
Offset Type =Select Supervisor Offset, Hierarchy Offset.
Delegates = Select True or False to indicate whether you want the message to be created for persons to whom the supervisor has delegated their authority.
Message Key = Identifies the Dictionary Label with the actual text of the message. You can edit a Message Key using the Message Label tab in the Message Definition form, or using the Dictionary Label form.
Override Message = Message text that will be used instead of the Message Key. If you do not want to specify an Override Message, right-click and select the Get Empty Override Message operand for this parameter.
You can use semantics in messages so the message will identify a specific person, post date, etc. The semantics appear in brackets with percentage signs (e.g., [%PERSON_NUM%]). When the message is created, the system will replace this text with the correct value (e.g., the Person Number).
This operand can only be used with the Dialog Messages and Attestations feature.
The Display Messages operand is used to display a dialog message to a person based on the settings in a Message Definition in the person's Message Policy. See Dialog Messages and Attestations for information on configuring and generating dialog messages.
Example:
IF Get Boolean( True )
THEN Create Dialog Message ( Application )
And Display Messages( )
This rule will be added to a ruleset using the Rulesets form. The ruleset will be assigned to the Message Definition that will be used by the MESSAGE_CREATION service to generate the dialog message.
Used to establish an anchor time based on the person’s schedule (Start of Schedule or End of Schedule).
This operand needs to be used inside another operand, such as Get Applicable Time, as a parameter with a string value. For example, Get Anchor Time from Schedule is used in the Unsigned Time Card Reminder to Employee rule (see the example below).
Parameters:
Anchor Time = Select End Of Schedule or Start Of Schedule.
Example:
Unsigned Time Card Reminder to Employee Rule
IF: Is Message Not Duplicate
(Unsigned Timecard Reminder, 2.0)
And Get the Sign State (Period, Current, Employee) Equal to 0
And Is Applicable Time Frame (Get the Applicable Time(Last Scheduled
Day of Pay Period, 0, Get Anchor
Time from Schedule (End of Schedule), Hours, -2 ), Get the
Applicable Time (Last Scheduled Day of Pay Period, 0, Get Anchor Time
from Schedule (End Of Schedule), Hours, 0))
THEN: Create Person Message, UNSIGNED_TIMECARD_REMINDER_EMP, Get Empty
Override Message( ) )
Used to establish an anchor time based on a specified time of day.
This operand needs to be used inside another operand, such as Get Applicable Time, as a parameter with a string value. For example, Get Anchor Time from Time of Day is used in the following IF clause:
IF Is Current Response(
Meal_Question_Dialog_Message, MEAL_QUESTION, NO )
And Is Applicable Time Frame( 06/28/2018, Get Applicable Time( CurrentPostDate,
1, Get Anchor Time from Time of Day(
01:13:07 PM ), Hours, 0 ) )
Parameters:
Anchor Time = This operand has a time control parameter where you can enter a time of day in HH:MM:SS AM/PM format.
Used to establish a specific date and time value.
Parameters:
Anchor Day = Defines an anchor day used to determine the Applicable Time. Available options are first and last schedule or post date of the pay week or pay period, or the current post date.
Day Offset = Enter a positive or negative integer for the offset from the Anchor Day.
Anchor Time = Defines an anchor time used to determine the Applicable Time. Enter the time in this field or right-click the field and select an operand for determining the Anchor Time.
Time Offset Type = Select Hours or Minutes for the offset from the Anchor Time.
Time Offset = Enter the amount of time (positive or negative) to offset from the Anchor Time.
Example – Unsigned Time Card Reminder to Employee Rule:
IF:
Is Message Not Duplicate (Unsigned Timecard Reminder, 2.0)
And Get the Sign State (Period, Current, Employee) Equal to 0
And Is Applicable Time Frame (Get
the Applicable Time(Last Scheduled Day of Pay Period, 0, Get
Anchor Time from Schedule (End of Schedule), Hours, -2 ), Get the
Applicable Time (Last Scheduled Day of Pay Period, 0, Get Anchor Time
from Schedule (End Of Schedule), Hours, 0))
THEN: Create Person Message,
UNSIGNED_TIMECARD_REMINDER_EMP, Get Empty Override Message( ) )
This operand returns a Boolean value (true or false).
Parameters:
Boolean Value = Select the Boolean value (True or False).
This operand is used in the Override Message parameter of the Create Message operands. The Override Message parameter defines a message that will be used instead of the Message Key (the default message, which is defined in the person's Dictionary). If you do not want to specify an Override Message, select the Get Empty Override Message operand for the Override Message parameter. The message text defined in the Dictionary (the Message Key parameter) will be used instead.
Used to get the timecard payroll lock status in the current, previous, or next pay period, pay week, or day. If at least one day is unlocked in the specified day, week, or period, the status is considered unlocked.
If you want to check the timecard payroll lock status over a range of days, weeks, or pay periods, use the Get Payroll Lock Status With Range operand (see below).
Parameters:
Range = Indicates whether to check a day, week, or pay period for the person’s payroll lock status.
Range Offset = Select Current, Previous, or Next to further define the Range.
You also need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator. The Payroll Lock Status of 0 is Unlocked and 1 is Locked.
Example:
The following operand checks the current day for the Payroll Lock Status of 0 (Unlocked):
Get Payroll lock Status( Day, Current ) Equal To 0
Used to get the timecard payroll lock status over a range of past or future days, weeks, or pay periods. If at least one day is unlocked in the specified range, the status is considered unlocked.
Note that this operand will not get the payroll lock status of the current pay period, week, or day. For this information, use the Get Payroll Lock Status operand (see above).
Parameters:
Range = Indicates whether to check days, weeks, or pay periods for the person’s payroll lock status.
Range Offset = Enter a positive or negative integer to indicate how many future or past periods, weeks, or days need to be checked. A negative number will look at past timecards and a positive number will look at future timecards.
You also need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator.
For example, the following operand checks the last 10 pay periods (excluding the current period) for the Payroll Lock Status of 1 (Locked):
Get Payroll Lock Status With Range( Period, -10 ) Equal To 1
This operand is used to get a list of persons with a particular Sign Type and Sign Status in the current, previous, or next pay period, pay week, or day.
If at least one day is unsigned in the specified range, the status is considered unsigned. The operand will process one Person ID at a time from the Person ID List, and keep building the list of people matching the Sign Status.
If you want to get this information for a range of past or future days, weeks, or pay periods, use the Get People By Sign Status With Range operand (see below).
Parameters:
Range = Indicates whether to check a day, week, or pay period for the person’s sign status.
Range Offset = Select Current, Previous, or Next to further define the Range.
Sign Type = Indicates whether to check for employee, supervisor, or both signatures on the timecard.
Sign Status = Indicates whether to check if the timecard is Signed, Unsigned, or the signature is Not Required.
Person Ids = Use this parameter to specify the employees whose timecards you want to check for signature. You can right-click this parameter and select an additional operand (Get Anchor Time from Schedule, Get Anchor Time from Time of Day, Get Empty Override Message, Get People By Sign Status, Get Supervised Person List).
If at least one day is unsigned in the specified range, the status is considered unsigned. The operand will process one Person ID at a time from the Person ID List, and keep building the list of people matching the Sign Status.
This operand is used to get a list of persons with a particular Sign Type and Sign Status in the current, previous, or next pay period, pay week, or day.
If at least one day is unsigned in the specified range, the status is considered unsigned. This operand will process one Person ID at a time from the Person ID list, and keep building the list of people matching the Sign Status.
Note that this operand will not check the sign status of the current pay period, week, or day. If you need to check the sign status for the current, previous, or next pay period, week, or day, use the Get People By Sign Status operand (see above).
Parameters:
Range = Indicates whether to check days, weeks, or pay periods for the person’s sign status.
Range Offset = Enter a positive or negative integer to indicate how many future or past periods, weeks, or days need to be checked. A negative number will look at past timecards and a positive number will look at future timecards.
For example, if the Range is Period and the Range Offset is -10, then the last 10 pay periods will be checked (excluding the current period). If the Range Offset is 2, then the next 2 pay periods will be checked (excluding the current period).
Sign Type = Indicates whether to check for employee, supervisor, or both signatures on the timecard.
Sign Status = Indicates whether to check if the timecard is Signed, Unsigned, or the signature is Not Required.
Person Ids = Use this parameter to specify the employees whose timecards you want to check for signature. You can right-click this parameter and select an additional operand (Get Anchor Time from Schedule, Get Anchor Time from Time of Day, Get Empty Override Message, Get People By Sign Status, Get Supervised Person List).
If at least one day is unsigned in the specified range, the status is considered unsigned. This operand will process one Person ID at a time from the Person ID list, and keep building the list of people matching the Sign Status.
Determines the employee’s posted hours in a specified range of time. You can check the current, next, or previous week, day, or period for the posted hours. You can also specify whether to check for paid hours, unpaid hours, or all hour types.
Parameters:
Range = Indicates whether to check a single day, a week, or a pay period for the posted hours.
Range Offset = Indicates whether to check the Current, Next, or Previous Range setting (Day, Week, or Period) for the posted hours.
Note: If the Range Offset is Current, and the MESSAGE_CREATION service runs BEFORE the end of the current post date’s schedule, then the current post date’s posted hours will not be included in the count of posted hours. However, if the service runs AFTER the end of the current date’s schedule, then the current post date’s posted hours will be included in the count of posted hours.
Hours Type = Indicates which type of posted hours to check for (Paid, Unpaid, or All).
You may need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator or right-click the field and select another operand.
Example:
The following operand is used to find a person’s posted hours that exceed their scheduled hours in the previous pay period:
Get Posted Hours( Period, Previous, All ) Greater Than Get Scheduled Hours( Period, Previous, All )
Determines the employee’s posted hours in the last 1-30 days. You can specify whether to check for paid hours, unpaid hours, or all hours that are scheduled.
If the MESSAGE_CREATION service runs BEFORE the end of the current post date’s schedule, then the current post date’s posted hours will not be included in the count.
If the MESSAGE_CREATION service runs AFTER the end of the current post date’s schedule, then the current post date’s posted hours will be included in the count.
Parameters:
Days = Enter a number from 1 – 30.
Hours Type = Indicates which type of hours to check for on the scheduled day (Paid, Unpaid, or All).
You may need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator or right-click the field and select another operand.
Example:
The following operand is used to find a person’s scheduled paid hours in the last 7 days that exceed their posted hours in the last 7 days:
Get Scheduled Hours For Last N Days( 7, Paid ) Greater Than Get Posted Hours For Last N Days( 7, All )
Determines the employee’s posted hours in a specified range of time for a specific event. You can check the current, next, or previous week, day, or period for the posted hours. You can also specify whether to check for paid hours, unpaid hours, or all hour types.
Parameters:
Event Name = Select the event for which this rule will check for posted hours. Available options are events of type LABOR:DAY_WORKED
Range = Indicates whether to check a single Day, a Week, or a pay Period for the posted hours.
Range Offset = Indicates whether to check the Current, Next, or Previous Range setting (Day, Week, or Period) for the posted hours.
Hours Type = Indicates which type of posted hours to check for (Paid, Unpaid, or All).
Note: If the Range Offset is Current, and the MESSAGE_CREATION service runs BEFORE the end of the current post date’s schedule, then the current post date’s posted hours will not be included in the count of posted hours. However, if the service runs AFTER the end of the current date’s schedule, then the current post date’s posted hours will be included in the count of posted hours.
You may need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator or right-click the field and select another operand.
Determines the employee’s scheduled hours in a specified range of time. You can check the current, next, or previous week, day, or period for the scheduled hours. You can also specify whether to check for paid hours, unpaid hours, or all hours that are scheduled. This operand will only check the employee’s Normal schedule.
Parameters:
Range = Indicates whether to check a single day, a week, or a pay period for the scheduled hours.
Range Offset = Indicates whether to check the Current, Next, or Previous Range setting (Day, Week, or Period) for the scheduled hours.
Note: If the Range Offset is Current, and the MESSAGE_CREATION service runs BEFORE the end of the current post date’s schedule, then the current post date’s scheduled hours will not be included in the count of scheduled hours. However, if the service runs AFTER the end of the current post date’s schedule, then the current post date’s scheduled hours will be included in the count of scheduled hours.
Hours Type = Indicates which type of hours to check for on the scheduled day (Paid, Unpaid, or All).
You may need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator or right-click the field and select another operand.
Example:
The following operand is used to find a person’s scheduled hours that exceed their posted hours in the previous pay period:
Get Scheduled Hours( Period, Previous, All ) Greater Than Get Posted Hours( Period, Previous, All )
Determines the employee’s scheduled hours in the last 1-30 days. You can specify whether to check for paid hours, unpaid hours, or all hours that are scheduled.
If the MESSAGE_CREATION service runs BEFORE the end of the current post date’s schedule, then the current post date’s scheduled hours will not be included in the count.
If the MESSAGE_CREATION service runs AFTER the end of the current post date’s schedule, then the current post date’s scheduled hours will be included in the count.
This operand will only check the employee’s Normal schedule.
Parameters:
Days = Enter a number from 1 – 30.
Hours Type = Indicates which type of hours to check for on the scheduled day (Paid, Unpaid, or All).
You may need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator or right-click the field and select another operand.
Example:
The following operand is used to find a person’s scheduled paid hours in the last 7 days that exceed their posted hours in the last 7 days:
Get Scheduled Hours For Last N Days( 7, Paid ) Greater Than Get Posted Hours For Last N Days( 7, All )
Used to get the timecard sign status in the current, previous, or next pay period, pay week, or day.
The operand will first check the person’s Sign Policy to see if the Sign Type specified in the parameter is required. If the Sign Type is required, the operand will continue to find the sign status of the specified range. If at least one day is unsigned in the specified range, the status is considered unsigned.
If you want to get this information for a range of past or future days, weeks, or pay periods, use the Get Sign State With Range operand (see below).
Parameters:
Range = Indicates whether to check a day, week, or pay period for the sign status.
Range Offset = Select Current, Previous, or Next to further define the Range.
Sign Type = Indicates whether to check for employee, supervisor, or both signatures on the timecard.
You also need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator or right-click the field and select another operand.
For example, the following operand checks the previous pay period for any days that do not have an employee signature:
Get Sign State( Period, Previous, Employee ) Equal To 0
Used to get the timecard sign status over a range of past or future days, weeks, or pay periods.
The operand will first check the person’s Sign Policy to see if the Sign Type specified in the parameter is required. If the Sign Type is required, the operand will continue to find the sign status of the specified range. If at least one day is unsigned in the specified range, the status is considered unsigned.
Note that this operand will not get the sign status of the current pay period, week, or day. For this information, use the Get Sign State operand (see above).
Parameters:
Range = Indicates whether to check days, weeks, or pay periods for the sign status.
Range Offset = Enter a positive or negative integer to indicate how many future or past periods, weeks, or days need to be checked. A negative number will look at past timecards and a positive number will look at future timecards.
For example, if the Range is Period and the Range Offset is -10, then the last 10 pay periods will be checked (excluding the current period). If the Range Offset is 2, then the next 2 pay periods will be checked (excluding the current period).
Sign Type = Indicates whether to check for employee, supervisor, or both signatures on the timecard.
You also need to select an Operator for this operand by clicking the small arrow after the last parameter. Type the value in the field next to the operator or right-click the field and select another operand.
For example, the following operand checks the last 2 pay periods for any days that do not have an employee signature:
Get Sign State With Range( Period, -2, Employee ) Equal To 0
Used to get a list of persons with a particular Supervisor Type, level offset, and delegates.
Parameters:
Supervisor Type =Select All, Direct, Group, or Hierarchy to specify which supervisor(s) to get.
Offset = Indicates the supervisor level offset.
Delegates = Select True or False to indicate whether you want the Supervised Person List to include persons to whom the supervisor has delegated their authority.
Checks to see if a person has an email address defined in their Person record. This operand can be used as part of a rule that determines whether to send the message to a Terminal or an Email Address. For example:
IF:
Is Employment Status( Active )
And
Has Person Email( Email Address 1
Or 2 )
THEN:
Create Person Message( Email,
UNSIGNED_TIMECARD_RANGE_WARNING_EMP, Get Empty Override Message( )
)
Parameters:
EmailAddress = Indicates whether the operand should check Email Address 1, Email Address 2, or both (Email Address 1 or 2) fields in the Person record to see if the person has an email address.
Checks to see if a person has an email address defined in their Person record. The operand will check both the Email Address1 and Email Address2 fields in the Person record. This operand can be used as part of a rule that determines whether to send the message to a Terminal or an Email Address. For example:
IF:
Is Employment Status( Active )
And
Has Person No Email( )
THEN:
Create Person Message( Terminal,
UNSIGNED_TIMECARD_RANGE_WARNING_EMP, Get Empty Override Message( )
)
This operand checks the process_instance table for the next scheduled timestamp when a specific service instance should run.
Parameters:
Instance Name = Name of the service instance that will be checked.
Consider Last N Hours = Number of decimal hours that the EXCEPTION_MESSAGE_CREATION service will look back for the next scheduled timestamp when the Instance Name should run. Set this value to zero (0) if you want the EXCEPTION_MESSAGE_CREATION service to look back since the last time the EXCEPTION_MESSAGE_CREATION service ran, up to a maximum of 168 hours, for the next scheduled timestamp when the Instance Name should run.
This operand checks the start and end timestamps of a particular service instance (the Instance Name parameter) and compares this length of time with a configurable time limit (the Threshold Minutes parameter). If the Instance Name has stopped running, and the Instance Name’s end timestamp is later than the start timestamp plus the Threshold Minutes, the operand assumes the Instance Name ran for too long.
Parameters:
Instance Name = Name of the service instance that will be checked.
Consider Last N Hours = Number of decimal hours that the EXCEPTION_MESSAGE_CREATION service will look back to see if the specified Instance Name ran too long. Set this value to zero (0) if you want the EXCEPTION_MESSAGE_CREATION service to look back since the last time the EXCEPTION_MESSAGE_CREATION service ran for occurrences when the Instance Name ran too long.
Note: The EXCEPTION_MESSAGE_CREATION service can look back a maximum of 168 hours from the current time.
Threshold Minutes = Number of minutes past the Instance Name’s end timestamp that the Instance Name can run before the operand considers the Instance Name ran too long.
Tolerance = Number of times the Instance Name can run too long before a message can be created. For example, if the Tolerance is 2, the message can be created for the third consecutive time the Instance Name runs too long within the Consider Last N Hours limit. If the Tolerance is 2 and the Instance Name runs successfully, and then runs too long, it must run too long for two more consecutive times before a message can be created. A Tolerance of zero (0) means a message can be created each time the Instance Name runs too long within the Consider Last N Hours limit.
Determines whether hours were posted on an unscheduled day. You can check the current, next, or previous week, day, or period for hours posted on an unscheduled day. You can also specify whether to check for paid hours, unpaid hours, or all hours that were posted on the unscheduled day.
Parameters:
Range = Indicates whether to check a single day, a week, or a pay period for hours posted on an unscheduled day.
Range Offset = Indicates whether to check the Current, Next, or Previous Range setting (Day, Week, or Period) for hours posted on an unscheduled day.
Hours Type = Indicates which type of hours to check for on the unscheduled day (Paid, Unpaid, or All).
Used to find persons whose timecards are signed or unsigned (or whose timecards do not require a signature) in the current, previous, or next pay period, pay week, or day.
If you want to find persons whose timecards are signed or unsigned (or whose timecards do not require a signature) over a range of past or future days, weeks, or pay periods, use the Is Anyone with Sign Status With Range operand (see below).
Parameters:
Range = Indicates whether to check a day, week, or pay period for the specified persons.
Range Offset = Indicates whether to look at the Current, Previous, or Next time period specified in the Range.
Sign Type = Indicates whether to look for Employee signatures, Supervisor Offset signatures, or Both types of signatures.
Sign Status = Indicates whether to look for persons whose timecards are Signed, Unsigned, or Not Required.
Person Ids = Use this parameter to specify the employees whose timecards you want to check for signature. You can right-click this parameter and select an additional operand (Get Anchor Time from Schedule, Get Anchor Time from Time of Day, Get Empty Override Message, Get People By Sign Status, Get Supervised Person List).
Example – Unapproved Time Card Warning to Supervisor Rule:
IF: Is
Message Not Duplicate (Unapproved Timecard Warning, 24.0)
And Is
Anyone with Sign Status (Week,
Previous, Supervisor Offset, Unsigned, Get Supervised Person List
(Direct, 0, False))
THEN: Create
Person Message (Email, UNAPPROVED_TIMECARD_WARNING_SUP, Get Empty
Override Message( ) )
Used to find persons whose timecards are signed or unsigned (or whose timecards do not require a signature) over a range of past or future days, weeks, or pay periods.
Note that this operand will not check the sign status of the current pay period, week, or day. If you need to check the sign status for the current, previous, or next pay period, week, or day, use the Is Anyone with Sign Status operand (see above).
Parameters:
Range = Indicates whether to check days, weeks, or pay periods for the specified persons.
Range Offset = Enter a positive or negative integer to indicate how many future or past periods, weeks, or days need to be checked. A negative number will look at past timecards and a positive number will look at future timecards.
For example, if the Range is Period and the Range Offset is -10, then the last 10 pay periods will be checked (excluding the current period). If the Range Offset is 2, then the next 2 pay periods will be checked (excluding the current period).
Sign Type = Indicates whether to look for Employee signatures, Supervisor Offset signatures, or Both types of signatures.
Sign Status = Indicates whether to look for persons whose timecards are Signed, Unsigned, or Not Required.
Person Ids = Use this parameter to specify the employees whose timecards you want to check for signature. You can right-click this parameter and select an additional operand (Get Anchor Time from Schedule, Get Anchor Time from Time of Day, Get Empty Override Message, Get People By Sign Status, Get Supervised Person List).
This operand determines whether the MESSAGE_CREATION service is running within an applicable timeframe (the Start Time and End Time parameters). You can specify the Start and End Time or use the Get Applicable Time operand for the parameter.
Parameters:
Start Time, End Time = By default these parameters display the current date. You can type a different date in each field or use the calendar icon to select a date. You can also use the Get Applicable Time operand for the parameter. To do so, right-click the Start Time or End Time and select this operand.
Example:
Start Time is on the last scheduled work day of the pay week, 1 hour before the person’s scheduled start time. End Time is on the last scheduled day of the pay week, 2 hours after the person’s scheduled start time.
IsApplicableTimeFrame(GetApplicableTime(Last Scheduled Workday of Pay Week,0,Start of Schedule,Hours,-1), GetApplicableTime( Last Scheduled Workday of Pay Week,0,Start of Schedule,Hours,2)
Checks to see if the person’s current local time is after the time specified in the parameter. Returns a Boolean value (true or false).
Parameters:
Enter the time in HH:MM:SS AM/PM format.
Checks to see if the person’s current local time is before the time specified in the parameter. Returns a Boolean value (true or false).
Parameters:
Enter the time in HH:MM:SS AM/PM format.
This operand can only be used with the Dialog Messages and Attestations feature.
Checks for a specific response to a message. Returns a Boolean value (true or false).
Parameters:
Message Dialog Name = Select the name of the Dialog Message that contains the message and response for which this operand will check.
Message Name = Select the name of a message in the specified Message Dialog Name for which this operand will check. Available options are all available messages defined in the Dialog Element form. Make sure you select a message that is included in the specified Message Dialog Name.
Message Response = Select the name of a response to the Message Name for which this operand will check. Available options are all available responses defined in the Dialog Element form. Make sure you select a response to the Message Name as defined in the Message Dialog Name.
See Also: Define the Rulesets for the Dialog Messages and Responses
Checks to see if the current day is a specific day in the month. Returns a Boolean value (true or false).
Parameters:
Day Of Month = Select a value from 0 to 31.
Checks to see if the current day is a specific day of the week. Returns a Boolean value (true or false).
Parameters:
Day Of Week = Select the day of the week (Sunday, Monday, Tuesday, etc.).
Checks the person’s Employment Status to see if it matches the Employment Status specified in the operand’s parameter. This operand may be used to prevent a message from being sent to employees that do not need it (such as Inactive or Terminated employees). A person’s Employment Status is defined in the Employment Profile tab of the Employee form.
Parameters:
Employment Status = Select the Employment Status (Active, Inactive, or Terminated) for which the operand should check.
Determines whether a particular error code was recorded in the error_log table during a specific time range. The parameters for this operand specify the Error Code number (enter NONE for all error codes), the number of hours to look back from the current time for the Error Code, and the number of times this error can occur before a message can be created.
Parameters:
Error Code = To generate a message when a specific error code occurs, enter the error code number in this parameter (see Error Messages for a list of error codes and their descriptions). To generate a message when any error code occurs, enter NONE in this parameter.
Consider Last N Hours = Number of decimal hours that the EXCEPTION_MESSAGE_CREATION service will look back to find occurrences of the specified Error Code in the error_log table. Set this value to zero (0) if you want the EXCEPTION_MESSAGE_CREATION service to look back since the last time the EXCEPTION_MESSAGE_CREATION service ran, up to a maximum of 168 hours, for occurrences of the Error Code.
Tolerance = Number of times the Error Code can occur before a message can be created. The EXCEPTION_MESSAGE_CREATION service will look at the total number of occurrences of the Error Code within the Consider Last N Hours parameter. For example, if the Tolerance is 2, the message can be created for the third time the Error Code occurs within the Consider Last N Hours limit. A Tolerance of zero (0) means a message can be created each time the Error Code occurs within the Consider Last N Hours limit.
Determines whether an error code was recorded in the error_log table for a particular service instance. The parameters for this operand specify the Error Code number (enter NONE for all error codes), the service instance, the number of hours to look back from the current time for the Error Code, and the number of times this error can occur before a message can be created.
Parameters:
Error Code = To generate a message when a specific error code occurs for the Instance Name, enter the error code number in this parameter (see Error Messages for a list of error codes and their descriptions). To generate a message when any error code occurs for the Instance Name, enter NONE in this parameter.
Instance Name = Name of the service instance for which the Error Code occurred.
Consider Last N Hours = Number of decimal hours that the EXCEPTION_MESSAGE_CREATION service will look back in the error_log table to find occurrences of the specified Error Code for the specified Instance Name. Set this value to zero (0) if you want the EXCEPTION_MESSAGE_CREATION service to look back since the last time the EXCEPTION_MESSAGE_CREATION service ran, up to a maximum of 168 hours, for occurrences of the Error Code.
Tolerance = Number of times the specified Error Code can occur for the specified Instance Name before a message can be created. The EXCEPTION_MESSAGE_CREATION service will look at the total number of occurrences of the Error Code within the Consider Last N Hours parameter. For example, if the Tolerance is 2, the message can be created for the third time the Error Code occurs within the Consider Last N Hours limit. A Tolerance of zero (0) means a message can be created each time the Error Code occurs within the Consider Last N Hours limit.
This operand can only be used with the Dialog Messages and Attestations feature.
Checks for a particular event and event stage. Returns a Boolean value (true or false).
Parameters:
Event Name = Select the name of the event for which you want this operand to check.
Event Stage = Select the event stage for which you want this operand to check. (Elapsed, End, None, or Start).
If you are using this operand with the Is Current Response operand, make sure you specify the event and stage for the event that was selected immediately prior to the response. For example, IF Is Current Response( Meal_Question_Dialog_Message, MEAL_QUESTION, NO ) And Is Event Type And Stage( ATTENDANCE:CLOCK, End ).
This operand can only be used with the Dialog Messages and Attestations feature.
Checks for a particular event type and event stage. Returns a Boolean value (true or false).
Parameters:
Event Type = Select the event type for which you want this operand to check.
Event Stage = Select the event stage for which you want this operand to check. (Elapsed, End, None, or Start).
Checks to see if the current day is the last day of the month. Returns a Boolean value (true or false).
This operand can only be used with the Dialog Messages and Attestations feature.
Checks to see if the last response to a message matches the value specified in the parameter. Returns a Boolean value (true or false).
Parameters:
Message Dialog Name = Select the name of the Dialog Message that contains the message and response for which this operand will check.
Message Name = Select the name of a message in the specified Message Dialog Name for which this operand will check. Available options are all available messages defined in the Dialog Element form. Make sure you select a message that is included in the specified Message Dialog Name.
Message Response = Select the name of a response to the specified Message Name for which this operand will check. Available options are all available responses defined in the Dialog Element form. Make sure you select a response to the Message Name as defined in the Message Dialog Name.
Used to check and see if a message has already been sent. Returns a Boolean value (true or false). This operand will not check messages that have a Cancelled status.
Parameters:
Message Def = Select the Message Definition for the message that will be sent. Available options are defined in the Message Definition form.
Threshold = Optional parameter. Format HH:MM (or in decimal hours). If you specify a Threshold, the system finds the timestamp of the last message for the person of the named message. If the current time is beyond or after the Threshold from the timestamp, then the message is not a duplicate.
Used to check and see if a message has already been sent. Returns a Boolean value (true or false). This operand will not check messages that have a Cancelled status.
Parameters:
Message Def = Select the Message Definition for the message that will be sent. Available options are defined in the Message Definition form.
Threshold = Optional parameter. Format HH:MM (or in decimal hours). If you specify a Threshold, the system finds the timestamp of the last message for the person of the named message. If the current time is beyond or after the Threshold from the timestamp, then the message is not a duplicate.
Example – Unapproved Time Card Warning to Supervisor Rule:
IF:
Is Message Not Duplicate (Unapproved
Timecard Warning, 24.0)
And Is Anyone with Sign Status (Week, Previous, Supervisor Offset,
Unsigned, Get Supervised Person List (Direct, 0, False))
THEN: Create Person Message
(Email, UNAPPROVED_TIMECARD_WARNING_SUP, Get Empty Override Message(
) )
Used to find persons whose Classification Type is not defined as HOURLY, SALARIED, or NONEXEMPT in their Employment Profile.
The Is Person Classification Type operand (see below) is used to select persons who are defined as Hourly, Salaried, or Nonexempt.
Parameters:
Type = Indicates whether to select employees who are not Hourly, Salaried, or Nonexempt.
Checks the employee’s timecard to see if an employee signature, supervisor signature, or both are missing from a specified range of time. If even one day is unsigned in the specified range, that range will be considered unsigned.
Parameters:
Range = Indicates whether to check a day, week, or pay period for signatures.
Range Offset = Indicates whether to check the Current, Previous, or Next Range for signatures.
Sign Type = Indicates whether to check the employee’s timecard for an employee signature, supervisor signature, or both.
Checks to see if a person’s Employment Status (defined in the Employment Profile) is ACTIVE in a specified range. The person is considered Active if their Employment Status is ACTIVE for at least one day in this range.
Parameters:
Range = Indicates whether to check a Day, Week, or Period for an Employment Status of ACTIVE in a person’s Employment Profile.
Range Offset = Indicates whether to check the Current, Previous, or Next “Range” option for an Employment Status of ACTIVE in a person’s Employment Profile.
Example:
A person was hired on Wednesday in the previous pay period. However, the person’s Employment Status did not become ACTIVE until Monday in the current pay period. The MESSAGE_CREATION service runs on Monday in the current period and checks the previous period for unsigned timecards. The service finds that the person did not sign his timecard in the previous period (because he was not yet ACTIVE and had not yet started working). The service sends an unnecessary message to the person’s supervisor to alert him that the person’s timecard in the previous period was not signed.
To prevent this message from being generated, the following rule would be added to the appropriate Unsigned Timecard ruleset:
IF
Not (Is Person Active(Period, Previous))
THEN
Stop Processing Message ( )
This rule will check to see if the person’s Employment Status was ACTIVE on any day in the previous period. If the person was not active on any of these days, then no message will be generated.
Used to find persons whose Classification Type is defined as HOURLY, SALARIED, or NONEXEMPT in their Employment Profile.
The Is Not Classification Type operand (see above) is used to select persons who are not defined as Hourly, Salaried, or Nonexempt.
Parameters:
Type = Indicates whether to select Hourly, Salaried, or Nonexempt employees.
Used to find persons with a specific Entry Type as defined in their Employment Profile (Elapsed, Exception, None, or Punched).
Parameters:
Type = Indicates which Entry Type to select (Elapsed, Exception, None, or Punched).
Checks to see if a person’s hire date or rehire date is on or before a specified date.
Parameters:
Range = Select whether to check a Day, Week, or Period for the hire or rehire date.
Range Offset = Select whether to check the Current, Previous, or Next “Range” option for the person’s hire or rehire date.
Hire Date Basis = Select whether to check for the person’s Hire Date or Rehire Date (defined on the Employee form) in the specified Range and Range Offset.
Example:
Unsigned Timecard Messages are configured to be sent to supervisors for the previous pay period. The pay period is Monday – Sunday. A person is hired on Monday (the Hire Date is Monday). When the MESSAGE_CREATION service runs on that Monday, it checks the previous pay period and sees that the person did not sign his timecard (because he had not yet started working). The service sends an unnecessary message to the supervisor to alert him that the person’s timecard in the previous period has not yet been signed.
To prevent this message from being generated, the following rule would be added to the appropriate Unsigned Timecard ruleset:
IF
Not (Is Person Hired(Period, Previous, HIRE_DATE))
THEN
Stop Processing Message ( )
This rule will check to see if the person’s hire date is on or before the end of the previous period. If the hire date is not in this range, no message will be generated.
Used to find persons that do not have a specific Entry Type as defined in their Employment Profile (Elapsed, Exception, None, or Punched).
Parameters:
Type = Indicates which Entry Type not to select (Elapsed, Exception, None, or Punched).
Used to find persons who are not defined as a specific Person Type in their Employment Profile (ADMINISTRATOR, CONTRACTOR, EMPLOYEE, INTERIN, MACHINE, or SUBCONTRACTOR).
Parameters:
Type = Indicates which Person Type not to select (ADMINISTRATOR, CONTRACTOR, EMPLOYEE, INTERIN, MACHINE, or SUBCONTRACTOR).
Used to find persons who are defined as PART_TIME or FULL_TIME in their Employment Profile.
Parameters:
Type = Indicates whether to select Part Time or Full Time employees.
Used to find persons who are defined as a specific Person Type in their Employment Profile (ADMINISTRATOR, CONTRACTOR, EMPLOYEE, INTERIN, MACHINE, or SUBCONTRACTOR).
Parameters:
Type = Indicates which Person Type to select (ADMINISTRATOR, CONTRACTOR, EMPLOYEE, INTERIN, MACHINE, or SUBCONTRACTOR).
Checks the person’s effective Timezone to see if it matches the Timezone specified in the operand’s parameter. This operand may be used to send a message only to a particular time zone, or to prevent a message from being sent to a particular time zone. A person’s effective Timezone is defined in the Setting tab of the Employee form or on the Employee Group Setting tab for a Facility or Policy Group.
Parameters:
Timezone = Select the time zone for which the operand should check.
This operand checks the process_audit table (Service Audit form) to see if any errors occurred for a specific service instance during a configurable range of time.
Parameters:
Instance Name = Name of the service instance that will be checked.
Consider Last N Hours = Number of decimal hours that the EXCEPTION_MESSAGE_CREATION service will look back to see if an error occurred for the Instance Name. Set this value to zero (0) if you want the EXCEPTION_MESSAGE_CREATION service to look for errors since the last time the EXCEPTION_MESSAGE_CREATION service ran, up to a maximum of 168 hours.
Tolerance = Number of times an error can occur for the Instance Name before a message can be created. For example, if the Tolerance is 2, the message can be created for the third consecutive time an error occurs for the Instance Name within the Consider Last N Hours limit. If the Tolerance is 2 and the Instance Name runs successfully, and then receives an error, it must receive an error two more consecutive times before a message can be created. A Tolerance of zero (0) means a message can be created each time an error occurs for the Instance Name within the Consider Last N Hours limit.
This operand checks the process_audit table (Service Audit form) to see if any warnings occurred for a specific service instance during a configurable range of time.
Parameters:
Instance Name = Name of the service instance that will be checked.
Consider Last N Hours = Number of decimal hours that the EXCEPTION_MESSAGE_CREATION service will look back to see if a warning occurred for the Instance Name. Set this value to zero (0) if you want the EXCEPTION_MESSAGE_CREATION service to look for warnings since the last time the EXCEPTION_MESSAGE_CREATION service ran, up to a maximum of 168 hours.
Tolerance = Number of times a warning can occur for the Instance Name before a message can be created. For example, if the Tolerance is 2, the message can be created for the third consecutive time a warning occurs for the Instance Name within the Consider Last N Hours limit. If the Tolerance is 2 and the Instance Name runs successfully, and then receives a warning, it must receive a warning two more consecutive times before a message can be created. A Tolerance of zero (0) means a message can be created each time a warning occurs for the Instance Name within the Consider Last N Hours limit.
This operand checks the process_instance table for the start and end timestamps of a particular service instance, and compares this length of time against a threshold. If the service is still running (the service’s end timestamp is null) and the start timestamp plus the threshold is greater than the current time, then the operand assumes the service has been running too long and a message may be created.
Parameters:
Instance Name = Name of the service instance that will be checked.
Consider Last N Hours = Number of decimal hours that the EXCEPTION_MESSAGE_CREATION service will look back to see if the specified Instance Name has been running for too long. Set this value to zero (0) if you want the EXCEPTION_MESSAGE_CREATION service to look back since the last time the EXCEPTION_MESSAGE_CREATION service ran for occurrences when the Instance Name was running too long.
Threshold Minutes = Number of minutes past the Instance Name’s start timestamp that is considered “too long” and for which a message can be created.
This operand checks the employee’s Sign Policy to determine whether the timecard does not require an employee signature, supervisor signature, or both. You can specify which Sign Category to check in the Sign Policy (employee, supervisor, or both).
Parameters:
Sign Type = Select Both, Employee, or Supervisor Offset to indicate which Sign Category to check in the employee’s Sign Policy.
This operand checks the employee’s Sign Policy to determine whether the timecard requires an employee signature, supervisor signature, or both. You can specify which Sign Category to check in the Sign Policy (employee, supervisor, or both).
Parameters:
Sign Type = Select Both, Employee, or Supervisor Offset to indicate which Sign Category to check in the employee’s Sign Policy.
Checks employee timecards for an employee signature, supervisor signature, or both in the current, previous, or next pay period, pay week, or day. If even one day is unsigned in the specified range, that range will be considered unsigned.
This operand checks the range to see if it is signed; it does not check the person’s Sign Policy to see if the Sign Type specified in the parameter is required. If at least one day is unsigned in the specified range, the status is considered unsigned.
If you want to get this information for a range of past or future days, weeks, or pay periods, use the Is Signed With Range operand (see below).
Parameters:
Range = Indicates whether to check a day, week, or pay period for signatures.
Range Offset = Indicates whether to check the Current, Previous, or Next Range for signatures.
Sign Type = Indicates whether to check the employee’s timecard for an employee signature, supervisor signature, or both.
Checks employee timecards for an employee signature, supervisor signature, or both over a range of past or future days, weeks, or pay periods. If even one day is unsigned in the specified range, that range will be considered unsigned.
This operand checks the range to see if it is signed; it does not check the person’s Sign Policy to see if the Sign Type specified in the parameter is required. If at least one day is unsigned in the specified range, the status is considered unsigned.
Note that this operand will not check the sign status of the current pay period, week, or day. For this information, use the Is Signed operand (see above).
Parameters:
Range = Indicates whether to check days, weeks, or pay periods for signatures.
Range Offset = Enter a positive or negative integer to indicate how many future or past periods, weeks, or days need to be checked. A negative number will look at past timecards and a positive number will look at future timecards.
For example, if the Range is Period and the Range Offset is -10, then the last 10 pay periods will be checked (excluding the current period). If the Range Offset is 2, then the next 2 pay periods will be checked (excluding the current period).
Sign Type = Indicates whether to check the employee’s timecard for an employee signature, supervisor signature, or both.
This operand can only be used with the Dialog Messages and Attestations feature.
Checks to see if there is any response to a particular message. Returns a Boolean value (true or false).
Parameters:
Message Dialog Name = Select the name of the Dialog Message that contains the message and response for which this operand will check.
Message Name = Select the name of a message in the specified Message Dialog Name for which this operand will check for a response. Available options are all available messages defined in the Dialog Element form. Make sure you select a message that is included in the Message Dialog Name.
This operand returns the opposite of the value in the parameter.
Parameters:
Value = Enter a value in this field or right-click and choose an operand to calculate this value.
For example, use the operand Not (Is Day Of Week (Monday)) to specify a day of the week other than Monday.
This operand resets all attributes that were set in the rules using the “Set Message Attribute” operands (see below). The Reset operand changes the message’s attributes (such as Priority or Allow Duplicate) to their Message Definition settings.
Sets the message’s ACKNOWLEDGEMENT_REQUIRED setting to True or False.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Acknowledgement Required = When this message attribute is True, an “Acknowledge” button will appear along with the message. The user must click “Acknowledge” to continue using the client. The message will not appear the next time the user swipes the badge. When this message attribute is False, an OK button will appear with the message.
Sets the message’s AGREEMENT_DISAGREEMENT setting to True or False.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Agreement Disagreement = When this message attribute is True, an agree/disagree button displays with the message on a client terminal.
Sets the message’s ALLOW_DUPLICATE setting to Not Allowed or Allowed After Threshold.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Allow Duplicate = Select Allowed After Threshold to allow duplicate messages to be sent after the Threshold Hours. Select Not Allowed to never allow duplicate messages to be sent.
Threshold Hours = Enter the Threshold Hours in HH:MM format. For example, enter 3:15 in the Threshold Hours parameter to allow duplicate messages to be sent 3 hours and 15 minutes after the message's create date. When you specify a threshold, the system finds the create date of the last message for the person of the named message. If the current time is beyond the threshold from the create date timestamp, then the message can be sent again. For example, if you set this option to “1,” then the threshold is 1 hour. Duplicate messages can be sent one hour after the original message was created.
Sets the message’s CONSOLIDATE_EMAIL_MESSAGES setting to True or False.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Consolidate Message = If this attribute is True, the MESSAGE_DELIVERY service will group all the email messages that result from the same message trigger and send them to the recipient in a single email.
Sets the message’s DELETE_IMMEDIATELY setting to True or False.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Delete Immediately = If this message attribute is True, the message will be deleted after the user has read it (the system will permanently remove it from the database). If this message attribute is FALSE, then the message is simply marked as “Read” (Status column in the Message Log). You must run the PURGE service to remove it.
Sets the message’s DISPOSE_ON_READ setting to True or False.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Dispose On Read = If this message attribute is True, the system will automatically mark the message for deletion after the user reads it; the message will not appear the next time the user logs in. Depending on your DELETE_IMMEDIATELY setting, the message will then be either removed from the database or kept in the database until the PURGE service deletes it.
Sets the message’s DO_NOT_DELIVER_AFTER setting to the number of days after the message was created when the message will no longer be delivered.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Offset Value = Number of days after the message was created when the message will no longer be delivered. When you enter a value greater than zero (0) for this setting type, the system will not deliver messages after this number of days have passed since the message was created. If you set this value to zero (0), the message will not expire.
Sets the message’s DO_NOT_DELIVER_UNTIL setting to the number of days after the message was created when the message will be delivered.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Offset Value = Number of days after the message was created when the message will be delivered. When you enter a value greater than zero (0) for this setting type, the system will not deliver messages until this number of days have passed since the message was created. If you set this value to zero (0), the message will be sent on the date it was created.
Sets the message’s DO_NOT_PURGE setting to True or False.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Do Not Purge = If this message attribute is True, the PURGE service will not be able to delete the message.
Sets the message’s PRIORITY setting to High, Medium, or Low.
For System messages, the “Set Message Attribute” operands are used to change the message attributes defined in the Message Definition settings. These attributes are defined in the Message Settings tab of the Message Policy form.
Parameters:
Priority = If you select High, this message will be sent to the receiver before any other messages. If you have several messages listed as high, the message with the oldest Start Date will be sent first. If you select Medium, the message will be sent after High and before Low. If you select Low, the message will be sent after any messages that are set to High/Medium High/Medium/Low
Use this operand to stop the MESSAGE_CREATION service from executing the remaining rules in the ruleset.
This operand can only be used with the Dialog Messages and Attestations feature.
This operand updates the status of the messages in a particular dialog.
Parameters:
Message Dialog Name = Select the name of the Dialog Message with the status you want to update.
Message Status = Select the new status for the messages (Cancelled, Read, Unread).