displayvalue( value, inArray, replacement, default )
Tries to match a value in a given array with a value at the same index in a replacement array and returns either the value at the same index or a default value if the value is not found.
See also: resource()
Keyword | Type | Description |
---|---|---|
|
Any Type |
The value to search for in the array. Will cast to the type of inArray. |
|
Any Type Array |
The array to be searched. |
|
Any Type Array |
The array of replacement values. |
|
Any Type |
The default value to be returned if the search value is not found. |
Any Type
This function is typically used to return a text display value that corresponds to an ID value stored in a process variable and makes it easier to generate reports that show human-readable values instead of numeric IDs in process data.
You can also use it to search a CDT array and return the CDT that has a field value matching a process variable value. Do this by creating an expression similar to the following: displayvalue(pv!departmentID, pv!departments.departmentID, pv!departments, "none")
The type of the argument passed to value must match the types in the replacement array, otherwise the default value will be returned.
If the length of the replacement array is shorter than the inArray array, the replacement array will be repeatedly extended until it is the same length as the longer inArray array.
This function supports expressions or process variables for arrays.
1
2
3
4
5
6
7
8
9
a!localVariables(
local!priority: 2,
displayvalue(
local!priority,
{0,1,2},
{"Low","Medium","High"},
"Unknown"
)
)
Returns High
. If you change local!priority
to 3
, the expression returns Unknown
.
1
2
3
4
5
6
displayvalue(
{ "Group 1" },
{ "Group 1", "Group 2", "Group 3", "Group 4" },
{ "Order", "Customer", "Invoice", "Parts" },
"Unknown Group"
)
Returns "Order"
.
1
2
3
4
5
6
displayvalue(
{ 3 },
{ 1, 2, 3, 4, 5 },
{ "A", 2, "C", "D", 5 },
"Unknown"
)
Returns "C"
.
1
2
3
4
5
6
displayvalue(
{ true },
{ true, false },
{ "First", "Second" },
"Unknown"
)
Returns "First"
.
1
2
3
4
5
6
displayvalue(
{ "Group 4" },
{ "Group 1", "Group 2", "Group 3", "Group 4" },
{ "Order", "Customer", "Invoice" },
"Unknown Group"
)
Returns "Order"
. If the matching index from inArray is not found in replacement, then the the index loops back to beginning of the list. In this case, the first value from replacement is returned.
resource()
function to display internationalized textIn the custom_locale_en_US.properties
file located in the <INSTALL_HOME>/server/_conf
directory, define the following key value pairs:
Define a pv!priority
process variable of type Number and set the current locale to en_US
.
1
2
3
4
5
6
displayvalue(
pv!priority,
{0,1,2},
{resource("low"),resource("medium"),resource("high")},
"Unknown"
)
Returns High
when pv!priority = 2
because the resource() function looked up the value for the key high
.
Feature | Compatibility | Note |
---|---|---|
Portals | Compatible | |
Offline Mobile | Compatible | |
Sync-Time Custom Record Fields | Compatible | Can be used to create a custom record field that only evaluates at sync time. |
Real-Time Custom Record Fields | Incompatible | Custom record fields that evaluate in real time must be configured using one or more Custom Field functions. |
Process Reports | Compatible | |
Process Events | Compatible |
displayvalue() Function