Known Limitations and Best Practices
Domain Service Scope and Usage
The Domain service can be used to define relationships and dynamic filters between variables.
Allow all listed values for a given column
In some use cases, you might need to authorize all values listed in the domain for a given column. For example, you want to link the car type to horse power:
| OP | TYPE | OP | HORSEPOWER |
|---|---|---|---|
| = | Sedan | = | 100hp |
| = | Sedan | = | 110hp |
| = | SUV | = | 110hp |
| = | SUV | = | 150hp |
In addition, you have an additional car type (Truck) where the horse power can be one of the value listed in the domain. In that case, you can leverage the null value.
| OP | TYPE | OP | HORSEPOWER |
|---|---|---|---|
| = | Sedan | = | 100hp |
| = | Sedan | = | 110hp |
| = | SUV | = | 110hp |
| = | SUV | = | 150hp |
| = | Truck | = | null |
At runtime, if the user selects Truck as type, he can enter 100, 110 or 150 for the Horsepower.
Below, the table used for this example (as the operator is the same for all columns, it can be defined at table level):
{
"operator": "EQ",
"columnDef": [
{
"var": "Type",
"type": "STRING"
},
{
"var": "Horsepower",
"type": "STRING"
}
],
"rows": [
[
{
"values": [
"Sedan"
]
},
{
"values": [
"100hp"
]
}
],
[
{
"values": [
"Sedan"
]
},
{
"values": [
"110hp"
]
}
],
[
{
"values": [
"SUV"
]
},
{
"values": [
"110hp"
]
}
],
[
{
"values": [
"SUV"
]
},
{
"values": [
"150hp"
]
}
],
[
{
"values": [
"Truck"
]
},
{
"values": [
null
]
}
]
]
}
©2026 PROS, Inc. All Rights Reserved.
Footer menu
Trademarks
All other brands and their products are trademarks or registered trademarks of their respective holders and should be noted as such. This product includes software developed by the Apache Software Foundation https://www.apache.org/
