Expressions in Filters

An expression <Expr> element allows a complex filter to be written consisting of multiple selection conditions. You can specify logical AND and OR operators in order to build up filters of any complexity. An <Expr> element can contain two <Item> elements, two <Expr> elements, or one <Item> element and one <Expr> element.

Nota: In Connect Portal, each selection condition within a complex filter must be specified within brackets. When creating filters in a text editor, the <Expr> and </Expr> elements in the filter are equivalent to an opening and closing bracket respectively.

An example of a complex filter is shown below:

<Filter>
<Expr operator="OR">
<Expr operator="AND">
<Item name="/PurchaseOrder/EntryDate" operator="EQU" value="02042001"/>
<Item name="/PurchaseOrder/SupplierCode" operator="EQU" value="71003"/>
</Expr>
<Expr operator="AND">
<Item name="/PurchaseOrder/EntryDate" operator="EQU" value="26032001"/>
<Item name="/PurchaseOrder/SupplierCode" operator="EQU" value="71010"/>
</Expr>
</Expr>
</Filter>

This is equivalent to the following query:

If ((Entry Date = 02/04/2001) and (Supplier code = 71003)) OR

((Entry Date = 26/03/2001) and (Supplier code = 71010)).

Selection conditions are evaluated from left to right and from the innermost selection condition outwards. We recommend that each selection condition is specified within an <Expr> element.