Filters
| Filters are optional in READ requests, they are mandatory in UPDATE, DELETE, EXECUTE and STATECHANGE requests. |
The filter block in the request body is used to filter the Business Objects (BOs) that are the subject of a READ, UPDATE, DELETE, EXECUTE, LOOKUP, or STATECHANGE request.
The filter can contain multiple lines. Each line is evaluated as part of a logical AND condition.
You can use any fields of the BO for filtering, provided that you have authorization to view those fields. Currently, the following operators are supported:
Operator | Description |
|---|
exists | value = true: returns all records where the given field name has a value value = false: returns all records where the given field name does not have a value |
contains | returns all records where the given field contains the given value |
eq | returns all records where the given field matches the given value exactly |
ne | returns all records where the given field does not match the given value |
lt | returns all records where the given field has a lesser value than the given value |
le | returns all records where the given field has a lesser value than or equal to the given value |
gt | returns all records where the given field has a greater value than the given value |
ge | returns all records where the given field has a greater than or equal to the given value |
in | returns all records where the given field matches any item in a given list of values exactly |
ni | returns all records where the given field does not match any item in a given list of values exactly |
--- EXAMPLE ---
{
"filter" : {
"[Property1]": {
"exists": "<boolean>",
"contains": "<value>",
"eq": "<value>",
"ne": "<value>",
"lt": "<value>",
"le": "<value>",
"gt": "<value>",
"ge": "<value>",
"in": "<value>",
"ni": "<value>"
},
"[Property2]": {
"exists": "<boolean>",
"contains": "<value>",
"eq": "<value>",
"ne": "<value>",
"lt": "<value>",
"le": "<value>",
"gt": "<value>",
"ge": "<value>",
"in": "<value>",
"ni": "<value>"
}
},
"values" : {},
"answers" : {},
"arguments" : {}
}
Special Filter feature for reference fields
The LOOKUP feature is also supported in filter expressions. To use it, prefix the expression with a $ sign. See fhe following example:
{
"filter": {
"$PropertyRef": {"eq": "OBJ371"}
}
}