This UI makes it easy for users to build expressions, especially business users or non-technical users of FlowWright.
The expression builder (C #- based expressions computed on server-side code) will also display Variables and globals based on context. Functions, variables, and globals can be added with a double click.
Open a new process definition. Drag the evaluate decision step to the canvas and connect to the Start step as shown below.
Select the "EvaluateDecisions" step and inspect the step properties where inputs are required as Variable/Global to store the result, as shown below.
Use "Alt + E" to invoke the Workflow Expression Builder as a modal window inside the marked box. Use the expression builder UI to build an expression and validate it. Select the Use & Close button. The expression is copied to the Expression window and placed in the workflow step property.
The step property field is shown below.
Parts of the UI
1) Expression – Placeholder to build the expression. This can be done via manual entry type, picking operators (7), or function (8).
2) Verify – Select this function to verify the logic of the expression. It will allow you to enter a value into the defined input fields and simulate the expression. Example Expession: = CONCAT(“Dear, “ + variable.username + “, we’re today : “ +DAYTEXT(TODAY())
3) Use & Close: Depending on the starting point and the window is closed, the expression is used in the process or form control.
4) Save As – Saves the expression as a new function to re-use. Will be displayed in the functions overview (8) – Section Custom Expression
5) Send to Clipboard: copy the expression into the clipboard to be pasted later.
6) Clear Expressions: erases any definition in the expression builder
7) Available Operators
8) Available Functions (See Table below)
9) Description and example of the function
Functions Aggregate Table
AVERAGE |
Description: Returns the average of the given numbers
|
COUNT |
Description: Counts the number of numerical items.
|
MAX |
Description: Returns the largest value from a set of data
|
MIN |
Description: Returns the smallest value from a set of data
|
SUM |
Description: Sums up all the given numbers
|
Functions Numeric Table
ABS |
Description: Returns the absolute value of a given number
|
FLOOR |
Description: Round a number down to the nearest specified multiple Example: FLOOR(36,7) // returns 35
|
ISEVEN |
Description: check if a numeric value is an even number. Example: ISEVEN(7) // returns False |
LOG |
Description: Gets the logarithm of a number
|
MOD |
Description: Returns the remainder of the division of the given number in the divisor |
QUOTIENT |
Description: Returns the result of integer division without the remainder
|
POWER |
Description: A number raised to a power
|
ROUND |
Description: Rounds a number to a specific number of digits
|
ROUNDUP |
Description: Always rounds a number up
|
ROUNDDWN |
Description: Always rounds a number down
|
SQRT |
Description: Positive square root of a positive number
|
TRUNC |
Description: Truncate a number to a given precision Example: TRUNC(4.9) // returns 4 TRUNC(-3.5) // returns -3 TRUNC(PI(), 3) // returns 3.141
|
Function Date Time Table
ADD_DAYS |
Description: Adds days to the given date. Returns the new date.
|
ARE_SAME_DATE
|
Description: Returns a boolean value TRUE - if date1 is same as date2 FALSE - if date1 is not same as date2
|
COMPARE
|
Description: Returns the quarter of a given date
|
CONVERT_TO_UTC
|
Description: Returns an UTC date time for requested timezone OR offset value CONVERT_TO_UTC("2021-04-15T06:00:00","-05:00") // returns 2021-04-15T11:00:00) CONVERT_TO_UTC("2021-04-15T16:00:00","Eastern Standard Time") // returns 2021-04-15T20:00:00
|
CONVERT_UTC
|
Description: Returns an UTC date time based on current time zone CONVERT_TO_UTC("2021-04-15T06:00:00") // returns UTC value based on your current time zone
|
DATE |
Description: Returns the value for the given parameters
|
DAYNUMBER |
Description: Returns the day of the month of a given date.
|
DAYTEXT |
Description: Returns the day of the month of a given date in long format.
|
DAYS |
Description: Returns the number of days between the two dates
|
FORMAT_DATE |
Description: Returns a formatted date
|
HOUR |
Description: Returns the hour as a number from 0 (12:00 A.M.) to 23 (11:00 P.M.).
|
HOURS_DIFF |
Description: Returns the difference between two hours columns
|
WORKDAYS |
Description: Returns the number of working days between the two dates
|
MINUTE |
Description: Returns the minute as a number from 0 to 59.
|
MONTH |
Description: Returns the month of a given date.
|
MONTHTEXT |
Description: Returns the month of a given date in long format.
|
NOW |
Description: Gets the current time in 24hour format
|
NOW_UTC
|
Description: Gets the current UTC time in 24hour format
|
QUARTER |
Description: Returns the quarter of a given date. Example: MONTH(variable.startdate) // returns 2
|
SECOND |
Description: Returns the second as a number from 0 to 59.
|
SUBTRACT_DAYS |
Description: Subtract days from the given date. Returns the new date.
|
TODAY |
Description: Gets the current date
|
TODAY_UTC
|
Description: Gets the current server date in UTC Format
|
WEEKNUM |
Description: Returns the yearly week number of a given date.
|
YEAR |
Description: Returns the year of a given date.
|
Functions String / Text
CONCAT |
Description: This operator concatenate text values into a single text value
|
CONTAINS |
Description: Returns a value indicating whether a specified character occurs within this string. Example: CONTAINS("FlowWright","iBPMS", "Enterprise Business Automation Software", "Flexible","Adaptable", "Embeddable") // true if the value parameter occurs within this string; otherwise, false. |
CONTAINSLIST |
Description: Returns a value indicating whether a specified character occurs within this string. Example: CONTAINSLIST("1", "2", "3", "4","5","6","7","8","9","10","123") // true if the value parameter occurs within this string; otherwise, false. |
EXACT |
Description: compares two strings and returns TRUE if both values are the same Example: EXACT(variable.username, global.username) // returns TRUE – if the value of both variable and global are the same
|
LEFT |
Description: Extracts a given number of characters from the left side.
|
LEN |
Description: Returns the amount of characters of a given text string.
|
LOWER |
Description: Converts a specified string to lowercase
|
MID |
Description: Extracts a given number of characters from the middle of a supplied text string. Example: MID(“I Like FlowWright”, 3,4) // returns “Like” |
REPLACE |
Description: Replaces a part of a string with the new string.
|
REPT |
Description: Repeats a string a given number of times.
|
RIGHT |
Description: Extracts a number of characters from the right side of a given text string.
|
SEARCH |
Description: Searches a string within another string
|
SUBSTITUTE |
Description: Replace text in a given text string by matching.
|
TEXT |
Description: Formats the given value based on the given text format
|
TRIM |
Description: Removes all spaces from a string except for single spaces between words.
|
UPPER |
Description: Convert a specified string to uppercase
|