Skip to main content

Behaviors of filters in roles

You can combine different filters that are defined to be applied to the same view.

Pay attention to the following when using multiple conditions and predicates in roles:

  • The predicates Or, And, and Not are now available for use.
  • The Not predicate does not work if there are multiple conditions.
  • When multiple conditions are defined, the or or and predicate on the last condition is not used to combine conditions.
  • The predicates are applied to the conditions according to their sequential order. For example, if four conditions C1, C2, C3, C4 are defined in the following order:
        C1    and
        C2    or
        C3    and
        C4    none

    The predicates are applied to the conditions in this way (((C1 and C2) or C3) and C4).

  • The value of the String type can be entered with or without double quotes when defining a condition.

For example, a user is assigned two roles RoleFinance and RoleLogistics successively, which have different filters on the same view ProductFamily of the entity ProductFamily.

The filters in the first role RoleFinance are defined with two conditions C1 and C2 as follows:

XPath Operator Value Predicate Condition Alias
ProductFamily/Id > "3" and C1
ProductFamily/ChangeStatus Contains "Pending" or C2

The filters in the second role RoleLogistics are defined with two conditions C3 and C4 as follows:

XPath Operator Value Predicate Condition Alias
ProductFamily/Id < "5" and C3
ProductFamily/ChangeStatus Contains "Completed" none C4

The filters from the two roles are combined to be (((C1 and C2) or C3) and C4).

When a user having the two roles RoleFinance and RoleLogistics queries data with the view ProductFamily, since the change status of a product family cannot be Pending and Completed at the same time, no data will be returned.

Did this page help you?

If you find any issues with this page or its content – a typo, a missing step, or a technical error – please let us know!