Value Control
- Last UpdatedMar 24, 2025
- 3 minute read
This optional parameter controls how the combined value of multiple attributes are affected when any of the attribute values are blank or null (that is, missing). It takes one of the below three states:
-
Always – in this case the value is a literal combination of the referenced attributes and separators (if the Separator parameter is defined). This is the default behaviour.
-
RemoveEmpty – in this case if a referenced attribute is empty, blank (either single or multiple blank spaces) or NULL, then both the attribute and its relevant separator (if the Separator parameter is defined) are not included in the value.
-
IgnoreIfAnyEmpty – in this case if any of the referenced attributes have a value that is Empty, blank (single or multiple blank spaces) or NULL then the value is not updated.
Example 1:
val1: "A"
val2: " " (or empty, multiple blank spaces or NULL)
val3: "C"
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]"
valueControl="RemoveEmpty"/>
Result: ObjectID value is updated to "A--C".
Note: The ‘-‘ characters are not recognized as separators hence are not also removed, see the Separator parameter below.
Example 2:
val1: ""
val2: " "
val3: null
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]"
valueControl="RemoveEmpty"/>
Result: ObjectID value is not updated.
Example 3:
val1: "A"
val2: null
val3: "C"
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]"
valueControl="RemoveEmpty"/>
Result: ObjectID value is updated to "A--C".
Example 4:
val1: "A"
val2: " " (or empty, multiple blank spaces or NULL)
val3: "C"
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]"
valueControl="IgnoreIfAnyEmpty"/>
Result: ObjectID value is not updated.
Example 5:
val1: ""
val2: " "
val3: null
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]"
valueControl="IgnoreIfAnyEmpty"/>
Result: ObjectID value is not changed.
Example 6:
val1: "A"
val2: null
val3: "C"
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]"
valueControl="IgnoreIfAnyEmpty"/>
Result: ObjectID value is not updated.
Example 7:
val1: "A"
val2: " "
val3: "C"
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]"
valueControl="Always"/>
Result: ObjectID value is updated to "A- -C".
Example 8:
val1: ""
val2: " "
val3: null
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]" valueControl="Always"/>
Result: ObjectID value is updated to "- -".
Example 9:
val1: "A"
val2: null
val3: "C"
<ObjectID value="[assoc1:val1]-[assoc2:val2]-[assoc3:val3]" valueControl="Always"/>
Result: ObjectID value is updated to "A--C".
Separator:
The Separator parameter allows an explicit separator function to be applied, where the value of this parameter is inserted between the referenced attribute values.
Note: The Separator parameter cannot be used if text characters are also included in the value definition.
Example 1:
val1: "A"
val2: "B"
val3: "C"
<ObjectID value="[assoc1:val1][assoc2:val2][assoc3:val3]"
Separator="-" />
Result: ObjectID value is updated to "A-B-C".
Example 2:
val1: "A"
val2: " " -> It can be Empty, single or multiple blank space, NULL
val3: "C"
<ObjectID value="[assoc1:val1][assoc2:val2][assoc3:val3]"
valueControl="Always" Separator="-" />
Result: ObjectID value is updated to "A- -C".
Example 3:
val1: "A"
val2: " " (or empty, multiple blank spaces or NULL)
val3: "C"
<ObjectID value="[assoc1:val1][assoc2:val2][assoc3:val3]"
valueControl="RemoveEmpty" Separator="-" />
Result: ObjectID value is updated to "A-C".
Example 4:
val1: "A"
val2: " " (or empty, multiple blank spaces or NULL)
val3: "C"
<ObjectID value="[assoc1:val1][assoc2:val2][assoc3:val3]"
valueControl="IgnoreIfAnyEmpty" Separator="-" />
Result: ObjectID value is not updated.
Example 5:
val1: " " (or empty, multiple blank spaces or NULL)
val2: "B"
val3: "C"
<ObjectID value="[assoc1:val1][assoc2:val2][assoc3:val3]"
valueControl="Always" Separator="-" />
Result: ObjectID value is updated to " -B-C".
Example 6:
val1: "A"
val2: "B"
val3: "C"
<ObjectID value="random[assoc1:val1]_[assoc2:val2]_[assoc3:val3]"
valueControl="IgnoreIfAnyEmpty" Separator="-" />
Result: A validation Error is raised that the Separator parameter cannot be used with any other text inside the value expression other than referenced attributes.
Note: This parameter can be used whenever any attribute value is being derived from multiple attributes.