BPM Online

From Starfish ETL
Jump to navigation Jump to search

BPM Online (OData) Advanced Filtering

Sometimes it is necessary to filter BPM Online in ways that are not possible through a SQL statement. You may use the 'Filter' virtual field to override the filter that is sent to the BPM OData web service. 'Filter' will show up as a field for all tables. It is possible to match on this column or perform a SmartLookup on it. In the value for this field you will supply the full filter in the OData Query format http://www.odata.org/documentation/odata-version-2-0/uri-conventions/#FilterSystemQueryOption.

Filter Example

This is an example of a query you would supply in the Filter column when matching on it.

Account/Id eq guid'1de420aa-9577-46ac-8326-c3a566a58c3b'

Coded SmartLookup Example

This example would filter Contacts on the Contact's related Account ID, returning the Surname field.

ScriptedField=SmartLookup("ContactCollection", "Surname", "Filter = Account/Id eq guid'1de420aa-9577-46ac-8326-c3a566a58c3b'")

SQL SELECT Example

This example would filter for Products related to a single Order. This example would be used as your SQL Selection Statement when using BPM as your Origin.

SELECT * FROM OrderProductCollection WHERE Filter = 'Order/Id eq guid''e1d0c2ab-7d41-4e23-b040-3ba524778063'''