Full Function Reference List
The following is a complete list of all functions currently available in the system.
For each function, the following information is provided:
- The full name of the function, plus placeholders (in green) for the required parameters.
- A brief description of the function.
- A list of the required parameters (if any), the required format, and any notes about the parameters.
- The value that is returned by the function, and the format of the response.
Tip: When using a function that refers to a date field in the submission form, if the field is blank it is considered to be 0001/01/01. If this could create unwanted results from the calculation, either set the field to Required or use the If function to return a safe value if the field is blank.
The system stores all dates in the full system format "2014-10-28T18:16:12.3313239-04:00". When pulling dates from date picker fields or functions that return full dates, this will be handled automatically. However, when providing literal date values within a calculated field, the dates must be provided in this format.
Counts the number of days that have elapsed between two dates.
P0 (date): First date field
P1 (date): Second date field
Returns (numeric): Number of days between p0 and p1. If the first date is earlier than the second date, the value will be positive. If the first date is later than the second date, the value will be negative.
Examples:
Comparing date 4/22/2014 and 4/24/2014 returns 2.
Comparing date 4/26/2014 and 4/24/2014 returns -2.
Counts the number of months that have elapsed between two dates.
P0 (date): First date field
P1 (date): Second date field
Returns (numeric): Number of calendar months between p0 and p1. If the first date is earlier than the second date, the value will be positive. If the first date is later than the second date, the value will be negative.
Examples:
Comparing date 2/24/2014 and 4/24/2014 returns 2.
Comparing date 6/24/2014 and 4/24/2014 returns -2.
Counts the number of years that have elapsed between two dates.
P0 (date): First date field
P1 (date): Second date field
Returns (numeric): Number of years between p0 and p1. Difference is calendar years. If the first date is earlier than the second date, the value will be positive. If the first date is later than the second date, the value will be negative.
Examples:
Comparing date 4/24/2012 and 4/24/2014 returns 2.
Comparing date 4/24/2016 and 4/24/2014 returns -2.
Checks the first provided date to determine if it is greater than the second provided date. A tolerance can be set to account for minor differences.
P0 (date): First date field.
P1 (date): Second date field.
P2 (integer): Tolerance in milliseconds. The system date/time format is accurate to a ten-millionth of a second. Even dates that seem to be calculated at the same time will have a small difference. If the P0 date is only greater than the P1 date by less than the provided tolerance, it will not be considered a difference and the function will return false.
Returns (text): Returns "True" if the P0 date is greater than the P1 date by more than the P2 tolerance, if any. Returns "False" if the P0 date is less than or equal to the P1 date, or if it is greater but within the P2 tolerance.
Examples:
If P0 is 2014-10-28T18:16:12.001-04:00, P1 is 2014-10-28T18:16:12.002-04:00, and no tolerance is specified, returns "False" since P0 is less than P1.
If P0 is 2014-10-28T18:16:12.005-04:00, P1 is 2014-10-28T18:16:12.002-04:00, and no tolerance is specified, returns "True" since P0 is greater than P1.
If P0 is 2014-10-28T18:16:12.005-04:00, P1 is 2014-10-28T18:16:12.002-04:00, and the P2 tolerance is set to 10, returns "False" since P0 is greater than P1, but only by 3 milliseconds when the tolerance is 10 milliseconds.
- See Identifying When Fields Have Changed After an Integration for a detailed description of change detection structures.
Returns the date of the first day of the month for the provided date.
P0 (date): Enter the Code for the date field, enclosed in double square brackets.
Returns (date): The date of the first day of the month.
Example: FirstOfTheMonth([[2018-09-05]]) returns 2018-09-01.
Returns the date of the last day of the month for the provided date.
P0 (date): Enter the Code for the date field, enclosed in double square brackets.
Returns (date): The date of the last day of the month.
Example: LastOfTheMonth([[2018-09-05]]) returns 2018-09-30.
FirstOfNextMonth(p0)
Returns the date of the first day of the next month for the provided date.
P0 (date): Enter the Code for the date field, enclosed in double square brackets.
Returns (date): The date of the first day of the next month.
Example: FirstOfNextMonth([[2018-09-05]]) returns 2018-10-01.
Similar to the DateOverlap() function, this function compares two date ranges to determine if they overlap, counting the number of days that are common between the two ranges.
P0 (date): Start date of the first date range
P1 (date): End date of the first date range
P2 (date): Start date of the second date range
P3 (date): End date of the second date range
Returns (numeric): Number of days that are included in both ranges. Note that the start and end dates are included in each range. Time of day is not taken into account. If there is no overlap, the function returns 0.
Examples:
If the first date range is from January 1st to June 30th and the second range is from June 15th to August 31st, the function returns 17, counting the overlapping days at the end of June.
If the first date range is from January 1st to January 31st and the second range is from January 10th to January 20th, the function returns 11, since the full second range is included within the first range.
DateOverlap(p0, p1, p2, p3, p4, p5)
Similar to the DaysInPeriod() function, this function compares two date ranges to determine if they overlap, returning one value if they do, and returning a different value if they do not. If any of the four date fields are missing or invalid, the P5 value (no overlap) is returned.
P0 (date): Start date of the first date range
P1 (date): End date of the first date range
P2 (date): Start date of the second date range
P3 (date): End date of the second date range
P4 (matches type of field): The value to return if there is an overlap between the date ranges
P5 (matches type of field): The value to return if there is no overlap between the date ranges
Returns (any): Either the value entered as P4 or P5.
Obtains the current date and time from the server.
No parameters.
Returns (date): The current Date and time in the full system format (2015-10-28T18:16:12.3313239-04:00).
Obtains the current date from the server.
No parameters.
Returns (date): The current Date, formatted for use in other functions.
Obtains the current date from the server.
No parameters.
Returns (text): The current Date, in Long Date format.
Example: Monday, June 15, 2011
Obtains the current date from the server.
No parameters.
Returns (text): The current Date, in Short Date format. The date will be formatted according to the browser language settings at the time the field was last calculated.
Example: 15/6/2011 or 6/15/2011
Takes a provided date and adds or subtracts a specified number of hours.
P0 (date): Date field. The date must be in the system format, such as from a date picker field, the TodayXml() function, or any system dates.
P1 (integer): Number of hours to add (positive values) or subtract (negative values). Decimal values are not supported.
Returns (date): New date with adjusted time. The date itself will change if the hours cross into the next or previous days.
Takes a provided date and adds a specified number of days.
P0 (date): Date field
P1 (numeric): Number of days to add
Returns (date): Date which is the addition of p1 days to date p0.
Takes a provided date and adds a specified number of months.
P0 (date): Date field
P1 (numeric): Number of months to add
Returns (date): Date which is the addition of p1 months to date p0.
Takes a provided date and adds a specified number of years.
P0 (date): Date field
P1 (numeric): Number of years to add
Returns (date): Date which is the addition of p1 years to date p0.
Takes a provided date and returns just the year.
P0 (date): Date field
Returns (numeric): Returns the year of p0.
Example: If p0 = 15/10/2011, returns 2011.
Takes a provided date and returns just the month.
P0 (date): Date field
Returns (numeric): Returns the month of p0, from 1 to 12
Example: If p0 = 15/10/2011, returns 10.
Takes a provided date and returns the number of the day, counted from January 1st.
P0 (date): Date field
Returns (numeric): Returns the numeric day of the year from p0.
Example: If p0 = 15/02/2010, returns 46.
Takes a provided date and returns the number of the day, counted from the first day of the month.
P0 (date): Date field
Returns (numeric): Returns the numeric day of the month from p0.
Example: If p0 = 15/02/2010, returns 15.
Takes a provided date and compares it to the current date, returning the number of months difference.
P0 (date): Date field
Returns (numeric): Number of calendar months from p0 to the current date. Dates earlier than the current date will return a positive value, dates later than the current date will return a negative value.
Takes a provided date and compares it to the current date, returning the number of days difference.
P0 (date): Date field
Returns (numeric): Number of calendar days from p0 to the current date. Dates earlier than the current date will return a positive value, dates later than the current date will return a negative value.
Takes a provided date and compares it to the current date, returning the number of years difference.
P0 (date): Date field
Returns (numeric): Number of calendar years from p0 to the current date. Dates earlier than the current date will return a positive value, dates later than the current date will return a negative value.
Converts a provided date into the long date format.
P0 (date): Date field
Returns (text): Date p0 in long date format.
Example: If p0 = 15/06/2011, returns Monday, June 15, 2011
Converts a provided date and time into the long date and time format.
P0 (date): Date field. The date must be in the system format, such as from a date picker field, the TodayXml() function, or any system dates.
Returns (text): Date p0 in long date and time format.
Example: If p0 = 2014-12-19T14:45:00.0000000-04:00, returns Friday, December 19, 2014 2:45:00 PM. The output may display differently due to regional settings.
Converts a provided date into the short date format.
P0 (date): Date field
Returns (text): Date p0 in short date format.
Example: If p0 = Monday, June 15, 2011, returns 15/6/2011
Converts a provided date and time into the short date and time format.
P0 (date): Date field. The date must be in the system format, such as from a date picker field, the TodayXml() function, or any system dates.
Returns (text): Date p0 in short date and time format.
Example: If p0 = 2014-12-19T14:45:00.0000000-04:00, returns 12/19/2014 2:45 PM. The output may display differently due to regional settings.
Converts a provided date into a custom date format defined by codes.
P0 (date): Date field. The date must be in the system format, such as from a date picker field, the TodayXml() function, or any system dates.
P1 (text): String containing formatting codes.
Returns (text): Returns date p0 in format provided in p1.
- See Custom Date Format Function for a detailed description, a list of codes, and examples.
Validates a text field to determine if the content is a valid Australian Business Number (ABN).
P0 (text): Field to be examined
Returns (numeric): Returns "True" if the field contains a valid ABN, or returns "False" if the value is not valid for any reason (too short, contains letters/special characters, failed encoding check, etc.)
Obtains the full name of the current user.
No parameters.
Returns (string): The full first and last name of the user logged in at the time the calculated field is evaluated.
Checks the current user’s account to determine if it has a specific security role.
P0 (text): Name of security role
Returns (numeric): Returns "True" if current user account has role p0, returns "False" if it does not.
Note: This function should only be used within policy workflows. For claims workflows, please use the UserContainsSecurityRole() function below instead.
- See Verifying User Security Roles for a detailed description of the function.
Checks the current user’s account to determine if it has a specific security role.
P0 (text): Code of security role
Returns (numeric): Returns "True" if current user account has role p0, returns "False" if it does not.
Note: This function should only be used within claims workflows. For policy workflows, please use the $UserContainsRole() function above instead.
- See Verifying User Security Roles for a detailed description of the function.
Checks if a provided submission, identified by transaction id, is new business.
P0 (numeric): Transaction ID number of the submission
Returns (numeric): Returns "True" if given transaction ID is new business, returns "False" if it is not.
Compares two source values and returns one value if they match, or a different value if they do not match. The values are compared as raw text, and only an exact match will return the true value.
P0 (text): The first source value for comparison.
P1 (text): The second source value for comparison.
P2 (text): The value to return if the comparison values are an exact match.
P3 (text): The value to return if the comparison values do not match exactly.
Returns (text): The value for either P2 or P3, depending on whether the source values match or not.
This function is used to determine if any changes have been made to one or more fields since the last time the function was evaluated. This can be used to manage integrations that should only occur when critical data has changed, or to control complex functions that only need to be run when necessary.
The first time the function is evaluated, the value of each defined field is added to an internal table. This first instance is considered a change, even if the fields are null or still contain default values.
Each time the function is evaluated after that, each field is compared to the stored value in the internal table. If the value has changed in any way, it is flagged as a change and the new value is stored in the table. If the value has not changed, the table is not updated for that field.
If multiple fields are being evaluated by the function, it returns True if any field has changed.
The function also stores the date that the change was detected, which can be retrieved with the ChangedOn() function, described below.
P1 (text): Enter the Codes for all fields to be evaluated. Multiple fields should be separated by commas, and each code should be in quotes.
Returns (boolean): Returns True if any of the defined fields have changed since the last time the function was evaluated, or returns False if none of the defined fields have been changed.
Example:
DetectChanges("FieldCode1", "FieldCode2")
The first time the fields are evaluated, the function returns True as both fields are initially added to the internal table.
FieldCode2 is then modified, and then the function is evaluated again. The function returns True as one of the fields has been modified.
Neither field is modified, and the function is evaluated again. The function returns False as no changes have been made since the last time the function was evaluated.
Note: It is not recommended that users include numeric fields in string fields when using this function as it could produce unexpected results. For example, if the field a numerical field containing 0 and is changed to 0.00000, the system will not detect this as a change, however, if the field is a string, the decimal will be considered a change.
The DetectChanges() function validates selected fields and records if the fields were changed, including the date and time that the change was detected. The ChangedOn() function is used to retrieve these date values.
Note that the dates are not when the actual change occurred, but rather when the DetectChanges() function identified that the field had changed.
The change dates are populated and updated by the DetectChanges() function, so the dates will not be available if DetectChanges() has not run yet, or they may be old dates if ChangedOn() is evaluated before DetectChanges().
P1 (text): Enter the Codes for all fields to check for dates. Multiple fields should be separated by commas, and each code should be in quotes.
Returns (date): Returns the most recent change date and time from the defined fields. Returns nothing if no change dates were found. The returned date is in the full system format, such as "2018-04-10T08:56:32-04:00".
Example:
DetectChanges("FieldCode1", "FieldCode2")
ChangedOn("FieldCode1", "FieldCode2")
The first time the fields are evaluated, both fields are detected as changed and the ChangedOn() function returns the date and time that the changes were detected.
FieldCode2 is then modified, and then the functions are evaluated again. The change is detected and recorded, and the ChangedOn() function returns the date the change was detected for FieldCode2, as it is newer than the last date for FieldCode1.
Neither field is modified, and the functions are evaluated again. No new changes are logged, and the ChangedOn() function returns the date the last change was detected for FieldCode2.
HashAndModifiedOn(p0, p0, p0, ..., p1, p2)
Note: It is recommended to use the DetectChanges() and ModifedOn() functions (listed above) for any new configurations.
The first time this function runs, it combines the content of all P0 fields, calculates a hash value (a unique value derived from the content), stores the hash value in the P1 field, and stores the date and time of the calculation in the P2 field.
Each time the function runs after the first time, it calculates the hash value for all fields then compares it to the previous hash value stored in P1. If the hash value has changed, meaning that at least one of the fields was changed since the last time the function ran, the function stores the new hash value in the P1 field and updates the date and time stored in the P2 field.
The date stored in the P2 field can be compared to another date to determine if any of the fields changed within a certain time period. The IsDateGreaterThan() function is useful for making the comparison.
Note: The date stored in the P2 field indicates the last time the function identified the changes. It does not reflect when the changes were made.
P0 (text): All fields to be included in the hash calculation should be provided, separated by commas.
P1 (Text Area): The Code of the field to contain the hash value. This will be an alphanumeric value with no meaning outside of this function, so the field should most likely be hidden. This condition is literal and must contain the Code of the field without any square brackets, no placeholders or functions can be used here.
P2 (text): The Code of the field to contain the last date and time that changes were detected. This condition is literal and must contain the Code of the field without any square brackets, no placeholders or functions can be used here. This should be a text field to ensure the full date and time are stored.
Returns (text): Returns the same hash value stored in P1.
- See Identifying When Fields Have Changed After an Integration for a detailed description of change detection structures.
$CrossPolicyExactMatch(p0, p1, p3, p3, ...)
$CrossPolicyFuzzyMatch(p0, p1, p2, p3, p3, ...)
Used with a Cross-Policy Data Configuration, these functions take a value from the current transaction and compare it to stored values from other transactions. The functions evaluate to true if they find an exact match ($CrossPolicyExactMatch()) within the stored data or data that is similar within a certain tolerance ($CrossPolicyFuzzyMatch()).
P0 (text): This identifies the field containing the source value that the function will search for. The field Code should be provided, enclosed in square brackets.
P1 (text): This identifies the resource containing the stored data. The Code of the Cross-Policy Data Configuration should be provided, without any brackets.
P2 (integer): This is the tolerance, ranging from 0 to 100, and is only used for the $CrossPolicyFuzzyMatch() function. As the function compares the source value to the stored data, it calculates a percentage match score from 0 (no similarity at all) to 100 (exact match). The percentage must be equal to or greater than the tolerance value for the function to consider it a positive match.
P3 (text): These are optional filters to control what data will be searched within the Cross-Policy Data Configuration. The source value will only be compared against data that fits within all of the selected filters.
Each filter should be formatted as Filter=Value, and only one filter of each type can be used in each instance of the function, except where noted.
|
||
All, Current, Other |
Searches through data related to All products, the Current product, or all products Other than the current product. |
|
All, Current, Other |
Searches through data related to All policies, the Current policy, or all policies Other than the current policy. If this filter is not specified, it will be applied with the default value of Other. |
|
All, Current, Other |
Searches through data related to All clients, the Current client, or all clients Other than the current client. |
|
All, Current, Other |
Searches through data related to All distributors, the Current distributor, or all distributors Other than the current distributor. |
|
All, Current, Other |
Searches through data related to All transactions, the Current transaction, or all transactions Other than the current transaction. If this filter is not specified, it will be applied with the default value of Other. |
|
Quoted, Referred, Bound, UnderwritingRequired, Incomplete |
Searches through data related to transactions in the selected status. This filter can be applied multiple times with different statuses. |
Returns (text):
$CrossPolicyExactMatch() returns "True" if an exact match is found within the stored data. Returns "False" if no match is found.
$CrossPolicyFuzzyMatch() returns "True" if data is found that has a percentage match score that equals or exceeds the tolerance. Returns "False" if no data matches closely enough.
- See Searching Across Policies for a detailed description of these functions, including examples.
Note: The Cross Policy Match functions use the Q-gram Index search algorithm by default. To change this to the Soundex search algorithm, please contact your Insurity representative.
$CrossPolicyExactMatchList(p0, p1, p3, p3,..., return=p4|p4|..., p5)
$CrossPolicyFuzzyMatchList(p0, p1, p2, p3, p3,..., return=p4|p4|…, p5)
Used with a Cross-Policy Data Configuration, these functions take a value from the current transaction and compare it to stored values from other transactions. The functions return a custom list of values if they find an exact match ($CrossPolicyExactMatchList()) within the stored data or data that is similar within a certain tolerance ($CrossPolicyFuzzyMatchList()).
These functions can be used to provide data to other functions, such as NewGrid or SaveToGrid.
P0 (text): This identifies the field containing the search value that the function will search for. The field Code should be provided, enclosed in square brackets.
P1 (text): This identifies the resource containing the stored data. The Code of the Cross-Policy Data Configuration should be provided, without any brackets.
P2 (integer): This is the tolerance, ranging from 0 to 100, and is only used for the $CrossPolicyFuzzyMatchList() function. As the function compares the search value to the stored data, it calculates a percentage match score from 0 (no similarity at all) to 100 (exact match). The percentage must be equal to or greater than the tolerance value for the function to consider it a positive match.
P3 (text): These are optional filters to control what data will be searched within the Cross-Policy Data Configuration. The search value will only be compared against data that fits within all of the selected filters.
Each filter should be formatted as Filter=Value, and only one filter of each type can be used in each instance of the function, except where noted.
|
||
All, Current, Other |
Searches through data related to All products, the Current product, or all products Other than the current product. |
|
All, Current, Other |
Searches through data related to All policies, the Current policy, or all policies Other than the current policy. If this filter is not specified, it will be applied with the default value of Other. |
|
All, Current, Other |
Searches through data related to All clients, the Current client, or all clients Other than the current client. |
|
All, Current, Other |
Searches through data related to All distributors, the Current distributor, or all distributors Other than the current distributor. |
|
All, Current, Other |
Searches through data related to All transactions, the Current transaction, or all transactions Other than the current transaction. If this filter is not specified, it will be applied with the default value of Other. |
|
Quoted, Referred, Bound, UnderwritingRequired, Incomplete |
Searches through data related to transactions in the selected status. This filter can be applied multiple times with different statuses. |
P4 (text): These parameters are used to define the list of fields and values to be returned for each transaction that matches the search value.
The list must be preceded by the return= text, followed by each field separated by pipe | characters.
To return the values from fields within the transactions, enter the Code for each field, without any brackets. Note that all fields to be returned must be included in the Cross-Policy Data Configuration as Associated Fields.
Two keywords are also available to return information about the transaction itself. These keywords should be entered like the field codes, without any brackets.
- TransactionID returns the ID of the transaction.
- For fuzzy match searches, Similarity returns the match score.
Note: A maximum of 50 fields and values can be returned.
P5 (integer): This parameter is used to restrict how far back the system will search. Enter a number of days, and the system will only search transactions with a Last Modified Date within that period.
For example, enter 7 to search transactions modified within the last 7 days.
Returns (text):
$CrossPolicyExactMatchList() returns all P4 values for each transaction containing an exact match for the search value. Does not return anything if no match is found.
$CrossPolicyFuzzyMatchList() returns the top 100 P4 values for each transaction that have a percentage match score that equals or exceeds the tolerance. The values are sorted by similarity, from highest to lowest. Does not return anything if no data matches closely enough.
- See Searching Across Policies for a detailed description of these functions, including examples.
Note: The Cross Policy Match functions use the Q-gram Index search algorithm by default. To change this to the Soundex search algorithm, please contact your Insurity representative.
Used with Field Indexing, this function takes a value from the current claim and compares it to stored values from other claims.
P0 (text): This identifies the field containing the source value that the function will search for. The field Code should be provided, enclosed in square brackets.
P1 (text): This identifies the index containing the stored data. This can be the Code for a single indexed field, or an Alias for multiple indexed fields. This value must be provided without any brackets.
Returns (text): Returns "true" if a match is found within the stored data. Returns "false" if no match is found.
Examples:
ValueExists([[FieldCode]], Code)
This function will search through the indexed field "Code" for the text found in the [[FieldCode]] field.
ValueExists([[FieldCode]], AliasName)
This function will search through all indexed fields with the "AliasName" alias for the text found in the [[FieldCode]] field.
Determines if a specific field is empty.
P0 (any): The field to be evaluated.
Returns (boolean): Returns True if the field value is null or an empty string. Returns False if the field contains any data of any type.
Determines if a specific field contains any data.
P0 (any): The field to be evaluated.
Returns (boolean): Returns True if the field contains any data of any type. Returns False if the field value is null or an empty string.
Takes the Code of a grid to determine whether that grid contains data.
P0 (text): Enter the Code for the grid to be evaluated.
Returns (boolean): Returns True if the grid is empty, or False if the grid contains data.
Determines if a specific value is a number.
P0 (any): The value to be evaluated. This can be a field placeholder, function, or formula.
Returns (boolean): Returns True if the value is a number, including 0. Returns False if the value is null, an empty string, or if it contains any non-numeric characters.
Periods and commas are recognized as decimal separators, while commas are also recognized as thousands separators.
Retrieves the next sequence number, as it appears in the Next Sequence Number field in the Master Cover - Policy Numbering page.
No parameters.
Returns (numeric): Returns the next sequence number.
GetAndIncrementSequenceNumber(p0)
Retrieves the next sequence number from a sequence number configuration and then increments the sequence number by 1.
P0 (text): The Code of the sequence number configuration.
Returns (numeric): Returns the next sequence number.
If the function is called from a transaction whose master cover is in test mode, the number from the configuration’s Test - Next Sequence Number field is returned.
If the function is called from a transaction whose master cover is in live mode, the number from the configuration’s Live - Next Sequence Number field is returned.
Note: The function will retrieve and increment the number every time it is evaluated. Conditional structures, such as an If statement or Field Evaluation Rule, can be used to control when the function is evaluated.
Retrieves the current status of the provided submission or policy, identified by transaction id.
P0 (numeric): Transaction ID number of the submission or policy
Returns (text): Returns the current status of the submission or policy.
Retrieves the current type of the provided transaction, identified by transaction id.
P0 (numeric): Transaction ID number of the submission or policy
Returns (text): Returns the current type of the transaction.
Retrieves the current status of the provided transaction, identified by transaction id.
P0 (numeric): Transaction ID number of the submission or policy
Returns (text): Returns the current status of the transaction.
Returns the sequential term number of the provided transaction.
P0 (numeric): Transaction ID number of the submission. The [[SubPolSystemID]] placeholder can be used to automatically insert the Transaction ID of the current transaction.
Returns (numeric): Returns the number of the current term.
Example: The original policy returns 1, the first renewal returns 2, the second renewal returns 3, etc.
$NextAdjustmentNumber([[SubPolSystemID]])
Returns the next adjustment number in line for the term.
[[SubPolSystemID]]: This is a placeholder that automatically inserts the transaction ID for the current transaction. This parameter should not be changed.
Returns (numeric): Returns the number that will be assigned to the next bound adjustment in the current term.
Example: In a newly created term with no adjustments, this function returns 1. If 3 adjustments have been bound in the current term, this function returns 4.
$NextEndorsementNumber([[SubPolSystemID]])
Returns the next endorsement number in line for the term.
[[SubPolSystemID]]: This is a placeholder that automatically inserts the transaction ID for the current transaction. This parameter should not be changed.
Returns (numeric): Returns the number that will be assigned to the next bound endorsement in the current term.
Example: In a newly created term with no endorsements, this function returns 1. If 3 endorsements have been bound in the current term, this function returns 4.
Returns the total gross premium for the current quote.
No parameters.
Returns (numeric): Returns the combined total of all premium types included in the current quote.
Returns the total calculated commission for the current quote.
No parameters.
Returns (numeric): Returns the combined total commission from all premium types included in the current quote.
Note: The $TotalCommissionAmount() function does not work for Cancellation transactions when the premium was overwritten through the Premium Widget.
Returns the total calculated taxes for the current quote.
No parameters.
Returns (numeric): Returns the combined total taxes of all premium types included in the current quote.
Calculates the total amount of a certain tax or fee across all premium types within the current transaction.
P0 (text): The Code of the tax or fee.
Returns (numeric): Returns the total amount of the specified tax or fee for all premium types within the current transaction. This value is only available once quotes have been calculated and a quote option has been selected.
Calculates the total amount of a certain tax or fee across all premium types, for all other transactions within the current term. This does not include the current transaction.
P0 (text): The Code of the tax or fee.
Returns (numeric): Returns the total amount of the specified tax or fee across all premium types, for all other transactions within the current term. This does not include the current transaction. Tax and fee details are only available for transactions where quotes have been calculated and a quote option has been selected.
GetTransactionCorrectionType()
Returns the correction type of the current transaction.
No parameters.
Returns (text): Returns the correction type of the current transaction. The possible return values are Void, Offset, or Replacement. Returns an empty string if the transaction does not have a correction type.
$CreatedByFirstName([[SubPolSystemID]])
Returns the first name of the user who created the transaction.
[[SubPolSystemID]]: This is a placeholder that automatically inserts the transaction ID for the current transaction. This parameter should not be changed.
Returns (text): Returns the first name of the user who created the transaction. See the Concatenation section for instructions on combining multiple text results.
$CreatedByLastName([[SubPolSystemID]])
Returns the last name of the user who created the transaction.
[[SubPolSystemID]]: This is a placeholder that automatically inserts the transaction ID for the current transaction. This parameter should not be changed.
Returns (text): Returns the last name of the user who created the transaction. See the Concatenation section for instructions on combining multiple text results.
$ModifiedByFirstName([[SubPolSystemID]])
Returns the first name of the last user to make changes to the transaction.
[[SubPolSystemID]]: This is a placeholder that automatically inserts the transaction ID for the current transaction. This parameter should not be changed.
Returns (text): Returns the first name of the last user to make changes to the transaction. See the Concatenation section for instructions on combining multiple text results.
$ModifiedByLastName([[SubPolSystemID]])
Returns the last name of the last user to make changes to the transaction.
[[SubPolSystemID]]: This is a placeholder that automatically inserts the transaction ID for the current transaction. This parameter should not be changed.
Returns (text): Returns the last name of the last user to make changes to the transaction. See the Concatenation section for instructions on combining multiple text results.
IsTermValidUntilDateExclusiveWithSameDayRenewal()
Determines whether the Exclusive With Same Day Renewal option is enabled for the policy term effective period settings.
Returns (Boolean): Returns True if the Exclusive With Same Day Renewal option is enabled.
For additional information, see
IsEndorsementContraction()
Determines whether the transaction is an Endorsement Contraction.
Returns (Boolean): Returns True if Allow Endorsement Contractions option is enabled.
This can be used to conditionally drive system behaviors. Examples of such behaviors include, but are not limited to, making fields or panels read-only or generating specific Document or E-mail configurations for Policy Term Contraction transactions.
Counts the number of records in a range of fields.
P0 (any type): Any mix of fields and grid columns. See Defining Multiple Fields in a Function for details.
Returns (numeric): Number of records in collection p0.
Calculates the sum of a range of fields.
P0 (numeric collection): Any mix of numeric fields, grid columns, and policy details. See Defining Multiple Fields in a Function for details.
Returns (numeric): The sum of elements in collection p0.
Calculates the average of all values in a specified range of fields.
P0 (numeric collection): Any mix of numeric fields and grid columns. See Defining Multiple Fields in a Function for details.
Returns (numeric): The average value in collection p0.
Multiplies all values in a specified list of fields.
P0 (numeric collection): Any mix of numeric fields and grid columns. See Defining Multiple Fields in a Function for details.
Returns (numeric): The multiplied total of all values in collection p0.
Takes a given value and returns the absolute value.
P0 (text): Enter the value for the parameter.
Returns (numeric): The absolute value.
Example: Where the value of a selected field is -5, Abs([[FieldCode]]) returns 5.
Returns the remaining value after dividing the first parameter by the second parameter.
P0 (numeric): Enter the value of the dividend.
P1 (numeric): Enter the value of the divisor.
Returns (numeric): The remaining value following the division of the dividend by the divisor.
Example: Modulus(5, 2) returns 1.
Takes a provided numeric value or field, and rounds it to the nearest value, according to the selected mode. This function has three parameters, supporting all rounding options. Simpler rounding functions, Round (with two parameters), RoundDown, and RoundUp are detailed below.
P0 (numeric): Value to be rounded
P1 (positive integer): Precision or nearest value. Rounds to the appropriate multiple of the provided value.
P2 (Integer): Rounding mode:
- 0 = Rounds to the nearest multiple of P1, with the exact midpoint rounding up.
- 1 = Rounds up to the next multiple of P1.
- 2 = Rounds down to the next multiple of P1.
Returns (numeric): Round off p0 parameter to the appropriate multiple of p1 according to the round mode p2
Examples:
Round(10.7, 1, 0) rounds to the nearest 1, resulting in 11.
Round(10.7, 1, 2) rounds down to the nearest 1, resulting in 10.
Round(1100, 500, 1) rounds up to the nearest 500, resulting in 1500.
Takes a provided numeric value or field, and rounds it up or down to a specified number of decimals. Fives are rounded to the nearest even value.
P0 (numeric): The value to be rounded.
P1 (integer, optional): The number of decimal spaces. If the p0 value has less than this number of decimals, the function adds trailing zeros. If a negative number is provided, the function rounds to that many digits. If the parameter is omitted or set to 0, the function rounds to zero decimals.
Returns (numeric): The p0 value rounded up or down to the p1 number of decimals.
Examples:
Round(7.26, 1) rounds up to the nearest first decimal, resulting in 7.3.
Round(7.25, 1) rounds down to the nearest even first decimal, resulting in 7.2.
Round(7.15, 1) rounds up to the nearest even first decimal, resulting in 7.2.
Round(7.14, 1) rounds down to the nearest first decimal, resulting in 7.1.
Round(1234, 2) adds trailing zeros, resulting in 1234.00.
Round(1234, -2) rounds down to the nearest hundred, resulting in 1200.
Takes a provided numeric value or field, and rounds it down to a specified number of decimals.
P0 (numeric): The value to be rounded.
P1 (integer, optional): The number of decimal spaces. If the p0 value has less than this number of decimals, the function adds trailing zeros. If a negative number is provided, the function rounds to that many digits. If the parameter is omitted or set to 0, the function rounds to zero decimals.
Returns (numeric): The p0 value rounded down to the p1 number of decimals.
Examples:
RoundDown(7.26, 1) rounds down to the nearest first decimal, resulting in 7.2.
RoundDown(7.15, 1) rounds down to the nearest first decimal, resulting in 7.1.
RoundDown(1234, 2) adds trailing zeros, resulting in 1234.00.
RoundDown(1234, -2) rounds down to the nearest hundred, resulting in 1200.
Takes a provided numeric value or field, and rounds it up to a specified number of decimals.
P0 (numeric): The value to be rounded.
P1 (integer, optional): The number of decimal spaces. If the p0 value has less than this number of decimals, the function adds trailing zeros. If a negative number is provided, the function rounds to that many digits. If the parameter is omitted or set to 0, the function rounds to zero decimals.
Returns (numeric): The p0 value rounded up to the p1 number of decimals.
Examples:
RoundUp(7.24, 1) rounds up to the nearest first decimal, resulting in 7.3.
RoundUp(7.15, 1) rounds up to the nearest first decimal, resulting in 7.2.
RoundUp(1234, 2) adds trailing zeros, resulting in 1234.00.
RoundUp(1234, -2) rounds up to the nearest hundred, resulting in 1300.
Processes a string value and returns the string with any leading or trailing spaces removed.
P0 (string): String value to be trimmed.
Returns (string): The string value without any leading or trailing spaces.
Note: Data that has been entered manually in workflow fields are automatically trimmed by the UI. This function is for data that may have been imported from external systems.
Adds a specified character a number of times to the beginning of a string value, returning a string of a specified length.
P0 (text): Identifies the text to which the specified character will be added. This can be a placeholder, function, formula or literal value.
P1 (positive integer): The length of the resulting string. It must be greater than or equal to the length of the original string or an error will be displayed. The Length() function can be used to verify the length of the original string.
P2 (text): The specified character to be added. This can be a letter, number or symbol. Only one character should be specified. Specifying more than one character will cause an error.
Returns (string): The resulting string of the specified length using the specified added character.
Examples:
PadLeft(123,6,0) will return 000123.
PadLeft([[PolicyId]], 6, 0) where [[PolicyId]] is 123456 will return 123456.
Adds a specified character a number of times to the end of a string value, returning a string of a specified length.
P0 (text): Identifies the text to which the specified character will be added. This can be a placeholder, function, formula or literal value.
P1 (positive integer): The length of the resulting string. It must be greater than or equal to the length of the original string or an error will be displayed. The Length() function can be used to verify the length of the original string.
P2 (text): The specified character to be added. This can be a letter, number or symbol. Only one character should be specified. Specifying more than one character will cause an error.
Returns (string): The resulting string of the specified length using the specified added character.
Examples:
PadRight(123,6,0) will return 123000.
PadRight([[PolicyId]], 6, 0) where [[PolicyId]] is 123456 will return 123456.
Evaluates a string value and returns the total number of characters.
P0 (string): Source string value.
Returns (integer): The number of characters in the source string.
Example:Length("Test String") will return 11.
Evaluates a string value and returns a range of characters.
P0 (string): Source string value.
P1 (integer): Starting character position. This is the numerical position of the first character to be returned, starting at 1. If the starting position is beyond the end of the string, nothing will be returned.
P2 (integer): Number of characters to return, counting from the starting position and including the starting position. If the string ends before the number is reached, the existing characters will be returned.
Returns (string): The portion of the string defined by the range values.
Examples:
Mid("Test String", 6, 4) will return "Stri".
Mid("Test String", 6, 8) will return "String", as there are only six characters from the starting point.
Mid("Test String", 1, 4) will return "Test".
Converts the letters in a string of text to upper case.
P0 (text): This identifies the text to be converted. This can be a placeholder, function, formula or literal value. Numbers and symbols can be included in the text and will be unaffected by the conversion.
Returns (text): Returns a string of text with all the letters in upper case.
Examples:
If the value of p0 is “Policy”, the function returns “POLICY”.
If the value of p0 is “a1b2c”, the function returns “A1B2C”.
Converts the letters in a string of text to lower case.
P0 (text): This identifies the text to be converted. This can be a placeholder, function, formula or literal value. Numbers and symbols can be included in the text and will be unaffected by the conversion.
Returns (text): Returns a string of text with all the letters in lower case.
Examples:
If the value of p0 is “POLICY”, the function returns “policy”.
If the value of p0 is “A1B2C”, the function returns “a1b2c”.
Calculates exponential values.
P0 (numeric): Base value
P1 (numeric): Exponential value.
Returns (numeric): Returns the value of p0 to the power of p1.
Exceptions:
0 or any positive base number to the power of 0 will return 1.
0 base to the power of any negative number will return 0.
Any negative base number to the power of any decimal value will return 0.
Example: $Exp(2,3) will return 8. $Exp(2,0) will return 1. $Exp(0,-3) will return 0. $Exp(-2,3.5) will return 0.
Calculates the logarithm of a number in relation to a base value.
P0 (numeric): The number whose logarithm should be calculated. This can be a placeholder, function, formula or literal value.
P1 (numeric, optional): The base value. If no value is provided, the system will use a base value of 10.
Returns (numeric): Returns the logarithm of p0 in relation to the base value.
Exceptions: Any value of p0 or p1 that is less than or equal to 0 will cause the function to return a null value, which will be treated as 0 by the system.
Examples:
Log(10) will return 1.
Log(10,2) will return 3.321928.
Log([[FieldA]]*[[FieldB]],2) where [[FieldA]] = 3 and [[FieldB]] = 2 will be evaluated as Log(3*2,2) and will return 2.584962.
5 + Log(0) will return 5.
Calculates the natural logarithm of a number.
P0 (numeric): The number whose natural logarithm should be calculated. This can be a placeholder, function, formula or literal value.
Returns (numeric): Returns the natural logarithm of p0.
Exceptions: Any value of p0 that is less than or equal to 0 will cause the function to return a null value, which will be treated as 0 by the system.
Examples:
Ln(10) will return 2.302585.
Ln([[FieldA]]*[[FieldB]]) where [[FieldA]] = 3 and [[FieldB]] = 2 will be evaluated as Ln(3*2) and will return 1.791759.
5 + Ln(0) will return 5.
$InterpolatedLookup(p0,p1,p2, p3)
Calculates interpolated or extrapolated information. When provided with a range of known values in an (x, y) grid, this function will take a specific x-value and determine its y-value using the existing data.
P0 (text): The Code of the data table definition containing the data.
P1 (text): The name of the column containing the x-values. This must be a numeric column with unique values.
P2 (numeric): The x-value for which to calculate the y-value.
P3 (text, optional): Specify the Name of the column containing the y-values. If a column is not specified, the value is taken from the first column in the table that is not defined as a Key Column.
Returns (numeric): The interpolated or extrapolated value of y.
Exceptions:
If the P2 value exactly matches an x-value in the P1 column, the function returns the associated y-value.
If the table only contains one row of data, interpolation/extrapolation is not possible. The function will return the single y-value.
If the P0 lookup table is empty, the function will return 0.
- See Interpolation/Extrapolation for a detailed description of the function.
Note: This function can be used with legacy Lookup Tables and Data Tables.
InterpolatedLookupDataSource (p0,p1,p2)
Calculates interpolated or extrapolated information from a data source. It returns the Value of the Primary Display Column field specified in the Data Source configuration. For details on data source configurations, see
P0 (text): The Code of the data source definition. This must be a static code, not enclosed in brackets.
P1 (text): The Name of the column containing the x-values.
P2 (numeric): The x-value for which to calculate the y-value.
Returns (any): Returns the Primary Display Column value resulting from the interpolation or extrapolation. Note that any Filters configured in the data source configuration are applied, and restrict the data set used in the calculation. If more than one result matches the filters, the function returns the first result according to the sorting of the Data Source Type.
When a data source configuration uses a Data Table, the associated Data Table Instance configurations include additional settings for Effective Date and Culture. See
Exceptions:
If the P2 value exactly matches an x-value in the P1 column, the function returns the associated y-value.
If the table only contains one row of data, interpolation/extrapolation is not possible. The function will return the single y-value.
If the P0 lookup table is empty, the function will return a null value.
Divides one number by another, and adds 1 to the total if the remainder exceeds a specific amount. This function is commonly used to determine how many months are in a specific number of days, possibly including a partial month.
P0 (numeric): The dividend, the number to be divided
P1 (numeric): The divisor, the number to divide by
P2 (numeric): If the remainder equals or exceeds this value, the result is increased by 1
Returns (integer): The whole number resulting from the division and remainder.
Example: This function can be used to convert a number of days into months, with any remainder meeting or exceeding 16 days counting as an additional full month. Enter the number of days, which can come from a field or other function, divide by the average length of a month, 30 (for example), and set the remainder threshold to 16.
AdjustedMonths([[DaysField]], 30, 16)
If [[DaysField]] equals 130, the number of months is 4 with a remainder of 10. Since 10 is less than the remainder threshold, the final value is 4.
If [[DaysField]] equals 78, the number of months is 2 with a remainder of 18. Since 18 is more than the remainder threshold, the final value is 3.
Identifies the lowest value in a specified range of fields.
P0 (numeric collection): Any mix of numeric fields and grid columns. See Defining Multiple Fields in a Function for details.
Returns (numeric): The minimum value in collection p0.
Note: If the system fails to identify data in numeric format, this function compares the fields as dates and returns the earliest date in the collection.
Identifies the highest value in a specified range of fields.
P0 (numeric collection): Any mix of numeric fields and grid columns. See Defining Multiple Fields in a Function for details.
Returns (numeric): The maximum value in collection p0
Note: If the system fails to identify data in numeric format, this function compares the fields as dates and returns the latest date in the collection.
Identifies the lowest value in a specified range of fields, and compares it to a provided minimum or maximum value.
P0 (numeric collection): Any mix of numeric fields and grid columns. See Defining Multiple Fields in a Function for details.
P1 (numeric): The minimum or maximum value returned, depending on the Mode.
P2 (numeric): Mode
- 0 = P1 is a minimum value
- 1 = P1 is a maximum value
Returns (numeric):
- Mode 0 = Lowest value of p0, unless it is lower than p1, in which case p1 is returned.
- Mode 1 = Lowest value of p0, unless it is not as low as p1, in which case p1 is returned.
Identifies the highest value in a specified range of fields, and compares it to a provided minimum or maximum value.
P0 (numeric collection): Any mix of numeric fields and grid columns. See Defining Multiple Fields in a Function for details.
P1 (numeric): The maximum or minimum value returned, depending on the Mode.
P2 (numeric): Mode:
- 0 = P1 is a maximum value
- 1 = P1 is a minimum value
Returns (numeric):
- Mode 0 = Highest value of p0, unless it is higher than p1, in which case p1 is returned.
- Mode 1 = Highest value of p0, unless it is not as high as p1, in which case p1 is returned.
Returns the first value of a grid field.
P0 (any): The grid field containing the values.
Returns (any): Returns the first value of the grid field, based on the row numbers. The result is not affected by sorting or filtering the grid.
Returns the last value of a grid field.
P0 (any): The grid field containing the values.
Returns (any): Returns the last value of the grid field, based on the row numbers. The result is not affected by sorting or filtering the grid.
Searches a set of values to determine if any value matches a provided search value.
P0 (any): Any mix of fields and grid columns.
P1 (any): The search value being matched against the fields.
Returns (boolean): Returns True if any value in the set matches the search value. Only exact matches will be counted as a match. Returns False if none of the values match.
If the function is used within a grid field and searches another field within the same grid, the function will evaluate for each row and the values from other rows will be omitted.
If a grid field is searched from a top-level field or from another grid, each row will be evaluated separately and the function will return multiple results.
Contains(p0, p1)
Searches a source string to determine if it includes a provided search string.
P0 (string): The source string to be searched. The string can be made up of a concatenated list of fields and static text.
P1 (string): The search string to be found within the source string. The string can be made up of a concatenated list of fields and static text.
Returns (boolean): Returns True if the source string includes the search string. Returns False if the search string does not appear anywhere within the source string.
If the function is used within a grid field and searches another field within the same grid, the function will evaluate for each row and the values from other rows will be omitted.
If a grid field is searched from a top-level field or from another grid, each row will be evaluated separately and the function will return multiple results.
Searches a source string to determine if it includes a provided search string.
P0 (string): The source string to be searched. The string can be made up of a concatenated list of fields and static text.
P1 (string): The search string to be found within the source string. The string can be made up of a concatenated list of fields and static text.
Returns (boolean): Returns True if the search string does not appear anywhere within the source string. Returns False if the source string includes the search string.
If the function is used within a grid field and searches another field within the same grid, the function will evaluate for each row and the values from other rows will be omitted.
If a grid field is searched from a top-level field or from another grid, each row will be evaluated separately and the function will return multiple results.
Searches a set of values to determine if any value matches a provided search value.
P0 (any): Any mix of fields and grid columns.
P1 (any): The search value being matched against the fields.
Returns (boolean): Returns True if any value in the set matches the search value. Returns False if none of the values match.
Searches a set of values to determine if all values match a provided search value.
P0 (any): Any mix of fields and grid columns.
P1 (any): The search value being matched against the fields.
Returns (boolean): Returns True if all values in the set match the search value. Returns False if even a single value does not match.
Searches for a substring within a string and returns the first index of the specified value(s). The option to identify an offset start index is also supported. If a match is not found, the system returns -1. Spaces in the substring are counted as characters.
P0 (text): Identify the string to be searched.
P1(text): Enter the value(s) to be searched, enclosed in single quotation marks.
P2 (numeric): This parameter allows the user to optionally identify an offset start index. Indexing starts at 1.
Returns (numeric): The index of the first occurrence of the values(s) in the substring.
Example: Where the value of the string is "abc abc", GetFirstIndexOf([[StringToSearch]]), 'ab') returns 1.
Example with Offset Index: Where the value of the string is "abc abc", GetFirstIndexOf([[StringToSearch]], 'ab', 1) returns 5.
Searches for a substring within a string, starting backward from the end of the string, and returns the last index of the specified value(s). The option to identify an offset start index is also supported. If a match is not found, the system returns -1. Spaces in the substring are counted as characters.
P0 (text): Identify the string to be searched.
P1 (text): Enter the value(s) to be searched, enclosed in single quotation marks.
P2 (numeric): This parameter allows the user to optionally identify an offset start index. Indexing starts at 1.
Returns (numeric): The index of the last occurrence of the character(s) in the substring.
Example: Where the value of the string is "abc abc", GetLastIndexOf([[StringToSearch]]), 'ab') returns 5.
Example with Offset Index: Where the value of the string is "abc abc", GetLastIndexOf([[StringToSearch]]), 'ab', 2) returns 1.
For use with multi-level parent and child grids. This function is used within a child grid to search all parent grids for the specified column, then returns the value from that column correlated to each entry in the child grid.
P0 (text): The field (column) Code to be found among the parent grids. This condition is literal and must contain the Code of the field, no placeholders or functions can be used here.
Returns (any): The correlated value from the selected field in the parent grid.
Note: This function is no longer required, but is still supported for backwards compatibility. Using a normal placeholder to reference a field from a parent grid will now return just the data associated to the current child record.
For use with multi-level parent and child grids. This function is used within a parent grid to search all child grids for the specified column, then returns all values from that column correlated to each entry in the parent grid.
P0 (text): The field (column) Code to be found among the child grids. This condition is literal and must contain the Code of the field without any square brackets, no placeholders or functions can be used here.
For example: $Child(FieldCode)
Returns (any): The correlated values from the selected field in the child grid. Multiple values are returned separated by pipe characters ( | ). The results can be displayed directly using a text field, but this function is primarily intended for use within other grid related functions such as Sum(), Count(), and Avg(). Since this function can return multiple values, it cannot be used in calculations or as a condition in functions that expect a single input value.
Note: This function is no longer required, but is still supported for backwards compatibility. Using a normal placeholder to reference a field from a child grid will now return just the data associated to the current parent record.
When pulling data from a grid, field, or function that returns multiple values, the results are received in a delimited format where the values are separated by the pipe ( | ) character. This function removes the pipe characters and replaces them with characters defined in the parameters. This allows the results to be displayed on-screen, or in generated e-mails and documents, in a clean and legible format. Missing values are skipped without adding an extra separator.
P0 (source): Field or function that returns multiple values.
:Label (optional): When pulling data from a field that uses an option list (checkbox groups, drop downs, include / exclude, multi selects, and radio buttons), the default [[Placeholder]] format will return the codes for the selected options. Using [[Placeholder:Label]] will return the labels for the selected options instead of the codes.
If the option list is of Type: Static and Resource Type: Custom, alternate language versions may be defined for the labels. The appropriate version will be returned according to the browser language settings.
P1 (text, optional): The text to be replaced. Note that P1 and P2 must both be used, or neither should be used. If both P1 and P2 are left out, the function defaults to just replacing the pipe character.
P2 (text, optional): The text that will replace the P1 text. Note that P1 and P2 must both be used, or neither should be used. If both P1 and P2 are left out, the function defaults to a comma followed by a space. The comma, round brackets ( ), and double-square brackets [[ ]] should not be used.
Returns (text): Text string with all pipe characters or P1 text replaced by a comma and a space or the P2 text.
Examples:
Replace([[StatesField]])
If the [[StatesField]] column has three states, the results would be "New York, Florida, California" (without the quotes).
Replace([[OptionsList:Label]], R-, Region )
If the [[OptionsList]] field is a multi-select with "Canada R-1", "US R-1", "Europe R-2", and "China R-6" selected, the results would be "Canada Region 1|US Region 1|Europe Region 2|China Region 6". Note the space after "Region " in the parameters.
Replace(Replace([[OptionsList:Label]], R-, Region ))
With the previous function included in a standard replace without P1 and P2, the results can then have the pipes replaced. The results of this function would be "Canada Region 1, US Region 1, Europe Region 2, China Region 6".
Notes: This function changes the data to a single string of text. Even if the source was a grid column, the results of this function cannot be used in a repeater to build a table in a document or e-mail.
If the P2 parameter includes any mathematical symbols, such as +, -, and /, the String: prefix should be used to return the results as text and prevent the system from trying to resolve the results as a mathematical equation.
Saves a specific value to a specific field in the workflow. When used in a grid, the function will save to the same row where the function is being calculated.
P0 (text): The code of the target field to receive the data, not enclosed in brackets. The code can be entered directly, retrieved from a field by a placeholder, or calculated with conditional logic. Any method must return the code of the target field as straight text.
Note that Combo Box controls are currently not supported as target fields.
P1 (any): The value to be saved in the target field. This can be a literal value, a placeholder, or a calculated value.
Returns (any): The calculated field itself will display the last value that was saved to the target field.
Examples:
SaveToField(TargetField, [[SourceField]]/2) will take the value in field [[SourceField]], divide it by 2, and save the result in field TargetField.
SaveToField(TargetField, "Does not apply") will save the text Does not apply in field TargetField. This function will always save the same data in the field, so it would most likely be used within a conditional structure to only save the data under certain circumstances.
Caution: It is not recommended to use the SaveToField() function to push data to fields that already have their own formula and have the Always Calculate checkbox checked. This type of configuration could lead to potentially undesired behavior in the Formula Evaluator when the SaveToGrid function is configured on a child grid.
SaveToGrid(p0, p1_SequenceNo, p2, p3, p4, p3, p4, …, copies, p5)
NewGrid(p0, p1_SequenceNo, p2, p3, p4, p3, p4, …, copies, p5)
Adds one or more rows to a grid, or edits a single row within a grid. The SaveToGrid() function adds new rows to a grid that may have existing data, while the NewGrid() function deletes all rows from the grid before adding new rows.
P0 (text): Code of the target grid. This must be a static code, not enclosed in brackets or quotes.
P1 (text): This parameter is optional, and is used in conjunction with P2 to update a single row in the target grid. The format is the Code of the target grid followed by "_SequenceNo", such as GridCode_SequenceNo. This must be a static code, not enclosed in brackets or quotes.
P2 (integer): This parameter is optional, and is used in conjunction with P1 to update a single row in the target grid. This is the row number to be updated. This must be an integer, and can be a static value, the result of an embedded formula, or a placeholder to retrieve the value from another field.
P3 (text): Code of the recipient field in the target grid. This must be a static code, not enclosed in brackets or quotes. There can be multiple recipient fields, but each P3 must be followed by an associated P4 parameter.
P4 (text): Value to be inserted into the recipient field. This can be a static value or a placeholder to retrieve the value from another field. Each P4 must follow an associated P3 parameter.
copies (static text): This parameter is optional and is used in conjunction with p5 to produce copies of each row as they are added to the grid. Entering the text copies indicates that copies should be created. If copies is not entered, no copies are created.
P5 (integer): This parameter is optional and is used in conjunction with the copies parameter to indicate how many times each row should be copied as they are added to the grid. Copies are added immediately below the original row.
Returns (text): The row number for each row added or edited.
- See Functions to Enter Data Into Grids (Grid Mapping) for a detailed description of the function.
Caution: It is not recommended to use the SaveToGrid() function to push data to fields that already have their own formula and have the Always Calculate checkbox checked. This type of configuration could lead to potentially undesired behavior in the Formula Evaluator when the SaveToGrid function is configured on a child grid.
Clears all data from a provided grid and any associated child grids.
P0 (text): Code of the grid to be cleared. Child grids are cleared automatically, and do not need to be specified.
Returns (): N/A
SortGrid(p0, p1 sort order, p1 sort order, ...)
Sorts grid rows by the specified column or columns, with controls to select if each column should be sorted in ascending or descending order.
Note that the function does not change the row numbers or the row ids, but it does change the order that the rows are stored in the database. This means functions that address rows by number or id will be unaffected, but generated documents and other functions that systematically process grid rows will see the data in the sorted order.
P0 (text): Code of the target grid. This must be a static code, not enclosed in brackets.
P1 (text): Code of the column to be sorted by. This must be a static code, not enclosed in brackets. If multiple columns are provided, the function processes them in the order that they are listed, subsorting on each subsequent column.
sort order (text, optional): An optional sort order can be specified after each column code. Enter ascending or asc for ascending order, or descending or desc for descending order. If no sort order is specified, the sort defaults to ascending. Placeholders can be used, allowing the order to be defined when the function is evaluated.
Returns (): N/A
Example: SortGrid(TargetGrid, Column3 [[SortOrder]], Column1 descending, Column2)
This example goes to the TargetGrid, sorts first by column 3, in whatever order has been specified in the [[SortOrder]] field, then subsorts by column 1 in descending order, then subsorts by column 2 in the default ascending order.
- See Sorting Grid Data for a detailed description of the function, with examples.
The DeleteRows function deletes rows from a provided grid, using static codes to identify which rows in the grid need to be deleted. The DeleteRows() function can use either row sequence numbers or conditions to indicate which rows are to be deleted. If the p1 parameter is omitted, all rows in the specified grid are deleted.
P0 (text): Code of the target grid from which to delete the rows.
P1 (text, optional): The row numbers to be deleted from the grid, separated by pipe | characters. To evaluate all rows against a Where condition, use the [[MyGrid_SequenceNo]] placeholder to pull each row number one at a time.
Returns (): N/A
Note that when using the Where function to apply conditions to the row numbers, it should be placed within the brackets so that the condition is applied to the parameter instead of the entire function.
Examples:
DeleteRows("MyGrid", "1|2|3") removes rows 1, 2, and 3 from the "MyGrid" grid.
DeleteRows("MyGrid", [[MyGrid_SequenceNo]] Where [[MyGridStateCode]] = "NY") deletes all rows where the state code is "NY" from the "MyGrid" grid.
BreakText(p0,p1)
Splits a string of text into smaller sub-strings of a specified maximum length, and returns the sub-strings as a list that is formatted to be processed by other functions.
This function keeps words intact, making the breaks at whitespace characters such as spaces, tabs, and line break characters. Multiple consecutive whitespace characters are trimmed down to one before dividing the string.
P0 (text): This identifies the text to be split. This can be a placeholder, function, formula, or literal value.
P1(integer): The maximum number of characters in the sub-strings. If the character number falls in the middle of a word, the system will move back to the nearest whitespace, such as a space, tab, or line break character. If a single word exceeds the maximum number of characters, the word will be split at the character limit.
Returns (text): Returns the resulting sub-strings as a list of strings, formatted for use in other functions.
Example: BreakText("This is a sample sentence to be divided",12) returns "This is a|sample|sentence to|be divided"
Note: This function is primarily intended to provide formatted values for the NewGrid and SaveToGrid functions. For more information on these configurations, see the Dividing String Values Into Rows section.
This function takes a list of comma-separated values and returns a list of values that is formatted to be processed by other functions.
P0 (text): List of all values, separated by commas. These can be placeholders, functions, formulas, or literal values.
Returns (): A list of all provided values, formatted for use in other functions.
Example: NewList(1,2,3) returns "1|2|3"
Note: This function is primarily intended to provide formatted values for the NewGrid and SaveToGrid functions. For more information on these configurations, see the Inserting Additional List Data section.
This function takes an Include Exclude List or Multi Select field and divides the values into separate entries instead of a pipe-separated list. This function is meant to be used with the grid management functions, causing the selected values to be processed as separate grid rows.
P0 (text): The Code of the source field, enclosed in brackets.
Returns (): A list of all selected values from the field, formatted as grid rows.
Note: This function is primarily intended to provide formatted values for the NewGrid and SaveToGrid functions. For more information on these configurations, see the Converting Multi-Value Fields Into Rows section.
This function applies a condition to the subject that directly precedes it. This can be a placeholder, another function, or a single parameter of another function.
Value1: This is the first value for comparison.
operator: Operator to determine how the values should be compared
Value2: This is the second value for comparison.
Returns (): N/A
- See Conditional Selection of Grid Rows - the Where() function for a detailed description of the function.
LoadTransactionsToGrids('TransactionTypes', p0, 'TransactionStatuses', p1, 'IncludeSourceHeaders', p2, 'SourceGrids', p3, 'TargetGrids', p4)
The LoadTransactionsToGrids() function retrieves data contained in the first row of one or more source grids and copies it to one or more a target grids.
'TransactionTypes' (static text): This parameter is a label, enclosed in single quotation marks.
P0 (text): This parameter specifies the Transaction Type for the quote versions to be searched. The value should be NewBusiness or Renewal. Multiple values should be separated by pipe characters ( | ).
'TransactionStatuses' (static text): This parameter is a label, enclosed in single quotation marks.
P1 (text): This parameter specifies the Transaction Status for the quote versions to be searched. The value should be Incomplete, Quoted, Referred, Bound, Declined, UnderwritingRequired, or Lost. Multiple values should be separated by pipe characters ( | ).
'IncludeSourceHeaders' (static text): This parameter is a label, enclosed in single quotation marks.
P2 (text): The boolean value of True or False should be used to specify whether the field labels should be included as the first row of the associated target grid.
'SourceGrids' (static text): This parameter is a label, enclosed in single quotation marks.
P3 (text): The parameter contains the Code of the source grid. Multiple codes should be separated by pipe characters ( | ).
'TargetGrids' (static text): This parameter is a label, enclosed in single quotation marks.
P4 (text): This parameter contains the Code of the target grid. Multiple codes should be separated by pipe characters ( | ).
Returns (): The target grid is populated with matching values from the source grid. Returns nothing if no matches are found.
Note that the target grid(s) must have the same number of rows as the source grid(s).
- See Load Transaction Data to Grids for a detailed description of the function.
The PivotGrid() function allows the user to pivot the display of data in the final target grid. The source grid row data is presented vertically, and the source grid column data is presented horizontally.
P0 (text): The code of the source grid.
P1 (text): The code of the target grid.
Returns (): N/A
- See Pivot Grid Data for a detailed description of the function.
Uses a pipe (|) delineated list of values and/or field codes, or a grid column field code ([[GridColumnFieldCode]]), and returns a pipe (|) delineated list of its unique values.
This function can be used in conjunction with the NewGrid() or SaveToGrid() functions to help aggregate rows based on unique column values, and used for display in a target grid.
P0 (numeric collection): A list of values and/or field codes, or a grid column field code. Multiple values should be separated by a pipe (|).
Returns (numeric collection): The unique values from the list specified in P0.
Examples:
Distinct(A|A|B|B) will return A|B.
When using in conjunction with NewGrid() or SaveToGrid() functions:
Source Grid
F1 | F2 |
1 | A |
2 | A |
3 | B |
4 | B |
5 | B |
Target Grid
DistinctF2 | SumOfF1PerDistinctF2 |
To aggregate F1 based on the unique values of F2 and display the results in another grid, the field SumOfF1PerDistinctF2 of the target grid would be a calculated field with the following formula:
Sum([[F1]] Where([[F2]] = [[DistinctF2]])
Then the top level field to save the unique values of column F2 from the source grid to the DictinctF2 column of the target grid would be:
SaveToGrid(TargetGridCode, DistinctF2, Distinct([[F2]])) or NewGrid(TargetGridCode, DistinctF2, Distinct([[F2]]))
The results in the Target Grid would be:
DistinctF2 | SumOfF1PerDistinctF2 |
A | 3 |
B | 12 |
Note: This function can only be used inside Calculated Fields which are inside a grid, and it will not work if used in a form panel.
Takes the code of a field which is within the same grid as the calculated field with this function and returns a comma-separated list of Row IDs, of any rows that have the same value in the specified column, (p0), as the current row. It will return null if no other row has the same value in that column. Note that upon adding or deleting a row, the Row ID sequence will have a gap in between, unless the row deleted was the last row, in which case the next ID in sequence will be applied.
Tip: The SortGrid() function can be used to apply sequencing to display the rows by ID.
P0 (text): The code of a field within the grid to be scanned for duplicates.
Returns (integer): List of row IDs of any rows that have the same value as p0 for the current row. It will return null if no other row has the same value in that column.
The formula below should be added to a calculated field within the grid to produce the grid output displaying the rows where the entered value is duplicated.
Examples:
Given the grid below, to identify which rows have duplicate values in the Value column, the field Duplicate would be a calculated field with the following formula:
If IsNotNull(FindDuplicates([[Value]])) then 'Duplicate with Row(s)' FindDuplicates([[Value]]) endif
RowID | Value | Duplicate |
1 | A | Duplicate with Row(s) 2,3 |
2 | A | Duplicate with Row(s) 1,3 |
3 | A | Duplicate with Row(s) 1,2 |
4 | B | |
5 | C | Duplicate with Row(s) 6 |
6 | C | Duplicate with Row(s) 5 |
Takes a provided field and compares the text to standard OFAC lists of names and places under government sanctions.
P0 (text): Text field to be scanned
Returns (numeric): Match value from a standard OFAC scan based on the input parameter p0. The returned value is from 0 to 100, 100 being a perfect match, 0 being no match.
Takes a provided field and compares the text to one or more lists of names and places under sanctions.
P0 (text): Text field to be scanned
P1 (text): Code of the first list the data should be checked against. At least one list must be included, but additional lists can be provided, separated by commas. See Sanction and Compliance Lists for all available lists and their codes.
Returns (numeric): Match value based on the input parameter p0. The returned value is from 0 to 100, 100 being a perfect match, 0 being no match. If more than one list is provided, the highest value is returned.
- See Compare Data Against Sanction or Watch Lists for a detailed description of the function.
CheckComplianceHit(p0, p1, p2, p3, p4, p5, p6)
Takes a provided field and compares the text to one or more lists of names and places under sanctions, and stores the results in provided fields.
P0 (text): The field or static value identifying the type of scan to perform. The value must be one of the following options:
- Company = Scans against company names.
- Country = Scans against country names.
- Person = Scans against names of individuals.
- Unknown = If the type of data being scanned is unknown, this option will scan against all list types. This option will take longer to process.
P1 (text area): The field to receive the reasons for any failed scans. This should be a Text Area field, as the results could be extensive. This will include the matching percentage score, entity type, and entity name, plus additional information provided by the scan.
P2 (any): The field to receive just the matching percentage scores for any failed scans. The resulting values will be from 0 to 100.
P3 (text): The field to receive the list names where the scans failed.
P4 (text): The field to receive the combined results of the scan. This will be a pipe-separated list showing each list name followed by the associated score in brackets. Example: List 1 (90%)|List 2 (80%)
P5 (text): The field containing the data to be scanned.
P6 (text): The field identifying lists to scan against and the score thresholds for each. The contents of the field should be formatted as: List Code:Score|List Code:Score|…
Multiple lists can be specified, separated by a pipe | character. Each list and score pairing must be separated by a colon :.
Note that sub-lists of a Sanctions and Compliance list can also be scanned when the appropriate code is used.
List Code: The code of a sanction list to scan against. See Sanction and Compliance Lists for all available lists and their codes.
Score: The numeric score threshold for the associated list, from 0 to 100. If the scan results in a score equal to or greater than the threshold, it will be reported as a fail.
Note: When scanning against multiple lists, the P1, P2, and P3 fields may contain multiple result values. In a single text field, the results will be separated by pipe characters |. The field can be used in grids, where the data will be separated by rows containing associated values.
Returns (boolean): Returns "True" if any scan fails, or returns "False" if all scans passed.
Takes one or more condition fields and checks a Data Table Instance for the value that matches the conditions, returning that value. Data Table Instances are configured in the Data Tables section in the Workflow Container Menu. For details about configuring Data Table Instances, see
P0 (any): The Code of the lookup table to be checked.
P1 (any): The first condition to be used in identifying the appropriate value. Additional conditions can be added, separated by commas. The number of conditions in the function should match the number of conditions in the target lookup table. If the function includes more conditions than exist in the table, the function does not return any value. If the table includes more conditions than are used in the function, the function returns the first value that matches the conditions. There is a maximum of ten conditions.
Returns (text): The function checks the Effective Date of the current transaction, and looks for any versions of the lookup table that are valid for that date. If more than one version is valid for the date, the most recent table is used. The function returns the first value in the table that matches all of the conditions. If the lookup table does not have a version valid for the date, the function does not return any value.
If the function is used to lookup numerical values, the function can be used as-is. If the values include text or any non-numerical characters, the String: prefix must be used (detailed here).
Note: This section details the $Lookup function used with Workflow Containers. For details on using this function with the legacy Lookups functionality, please refer to the documentation for version 2.5.112 or earlier.
Takes the Code of a data source configuration and performs a lookup using the filters from its Filters panel. It returns the Primary Display Column value and populates workflow fields as specified in the configuration’s Output To Fields panel. For details on data source configurations, see
P0 (text): The Code of the data source configuration to perform the lookup. This must be a static code, not enclosed in brackets or quotes.
Returns (any): Returns the Primary Display Column value resulting from the lookup. The function also uses the Output To Fields settings from the data source configuration to populate appropriate fields in the workflow. If more than one result matches the filters, the function will return the first result according to the sorting of the Data Source Type.
When a data source configuration uses a Data Table, the associated Domain / Rate Table configurations include additional settings for Effective Date and Culture. The function uses the following process to determine which Domain / Rate Table should be used:
- The system first checks the Effective Date of the current transaction, and looks for any domain / rate tables that are valid for that date.
- For each of these domain / rate tables, the function checks the Culture field for an exact match on both language and region. If no match is found, the system will then check for a match on just language. If no match on language alone is found, the system will then check for domain / rate tables where no culture is selected.
- If multiple domain / rate tables are valid on both Effective Date and Culture, the system will use the one most recently uploaded.
- If no valid domain / rate tables are found, the system will not return any result.
Takes the Code of a data source configuration and performs a lookup using the filters from the Filters panel. It returns the value for the number of results that meet the specified criteria and populates grid fields as specified in the configuration’s Output To Fields panel. The number of results returned is limited to 1000. For details on data source configurations, see
P0 (text): The Code of the data source configuration to perform the lookup. This must be a static code, not enclosed in brackets.
Returns (integer): Returns the count for the number of rows returned by the function. The function also uses the Output To Fields settings from the data source configuration to populate appropriate grid fields in the workflow.
Note: Each time the LookupDataSourcesToGrid() function is evaluated it adds new rows to the output grid. To avoid duplicates in the grid, the ClearGrid() function can be used in advance.
LookupDataSourceOnDate(p0, p1)
Takes the Code of a data source configuration and a date specified by users and performs a lookup using the filters from its Filters panel. The results returned are the versions of the Data Source based on the date provided. Users can enter either a date field code or a string text in the appropriate date format.
P0 (text): The Code of the data source configuration to perform the lookup. This must be a static code, not enclosed in brackets.
P1 (date field or text): The code of the date field, enclosed in double square brackets, or a string with the date format.
Returns (any): Returns the version of the Primary Display Column value resulting from the lookup based on the date provided.
Examples:
LookupDataSourceOnDate (MyDataSource, "2014-10-28T18:16:12.3313239-04:00")
LookupDataSourceOnDate (MyDataSource, [[PolEffectiveDate]])
Note: The OnDate version is available for all Lookup functions and follows the same structure. In all cases, P1 is the specified date. The OnDate parameter is available for the following:
- LookupOnDate
- LookupDataSourceOnDate
- LookupDataSourceToGridOnDate
- InterpolatedLookupOnDate
- InterpolatedLookupDataSourceOnDate
Evaluates a trigger and returns one value or another. For details on working with the $If() functions, see Conditional Results.
P0 (trigger): Code of trigger to be evaluated
P1 (matches type of field): The value to return if the trigger evaluates as true
P2 (matches type of field): The value to return if the trigger evaluates as false
Returns (matches type of field): Parameter 1 or 2, depending on the result of the trigger.
If Value1 operator Value2 then TrueValue else FalseValue endif
This is an alternate version of the $If() function, where the conditions are built into the function instead of using a trigger. For details on working with the If functions, see Conditional Results.
Value1: First value to compare
operator: Operator to determine how the values should be compared
Value2: Second value to compare
TrueValue: The value to return if the trigger evaluates as true
FalseValue: The value to return if the trigger evaluates as false
Returns: TrueValue or FalseValue, depending on the result of the conditions.
Evaluates a trigger configuration and returns the boolean result (True or False).
P0 (text): The Code of the trigger to be evaluated.
Returns (boolean): Returns True if the trigger evaluates as true. Returns False if the trigger evaluates as false.
Note: This function can be used on its own, but is particularly useful for If/Then conditional structures.
MapValue(p0, p1, p2, p1, p2, …, p3, p4)
Performs a series of value comparisons until it finds a matching value, then returns a specific value for that result.
P0 (text): Placeholder for the target field to be evaluated.
P1 (any): Each P1 parameter must have a matching P2 parameter. These are the paired conditions and return results. The condition can be a static value, placeholder, or another function.
The condition value must match the value of the target field exactly, or the function will move on to the next condition.
P2 (any): Each P2 parameter must have a matching P1 parameter. These are the paired conditions and return results. The return result can be a static value, placeholder, or another function.
P3 (text): The P3 parameter must have a matching P4 parameter. This parameter is optional, and should contain the text "Default". This condition will be used when all other listed conditions fail. If the P3 and P4 parameters are not included, the function will return null if all other listed conditions fail.
P4 (any): The P4 parameter must have a matching P3 parameter. This parameter is optional, and returns the default value if all other conditions fail.
Returns (any): The P2 value of the first condition that matches the target field value, or returns the P4 value or null if none of the conditions match the target field value.
- See Sequential Conditions - the MapValue() function for a detailed description of the function.
IsParentProgramPolicy()
Used within the context of a Policy Program, this function determines whether the current policy term has been designated as a Parent Policy.
Returns (boolean): Returns True if the current policy term has been designated as a Parent Policy (regardless of whether any Child Policy terms have been linked), and False if the current policy term has not been designated as a Parent Policy.
Used within the context of a Policy Program, this function determines whether the current policy term has been linked as the Child Policy of an existing Parent Policy.
Returns (boolean): Returns True if the current policy term has been linked to a Parent Policy as a Child Policy, and False if no such link currently exists.
Used within the context of a Policy Program, this function is used to identify the Program Name for the current policy term.
Returns (text): Returns the Program Name of the Policy Program for the current policy term.
Used within the context of a Policy Program, this function is used to identify the Program Name of the Parent Policy.
Returns (text): Returns the Program Name of the Parent policy term.
ParentProgramPolicyTermStatus()
Used within the context of a Policy Program, this function is used to identify the current Transaction Status of the Parent policy term.
Returns (text): The policy term status for the current policy term's immediate Parent Policy term.
ParentPolicyNumber()
Used within the context of a Policy Program, this function is used to return the top-level policy number within the policy hierarchy. This function can be used in emails, calculated fields, and documents.
Returns (integer): Returns the Policy Number of the parent policy within the hierarchy of the policy program.