ESM Listener Operators and Conditionals
ESM Listener Operators and Conditionals
Defining Operators in Listener Configuration XML
| Operator | In the Listener XML |
|---|---|
| Equals | = |
| Greater or equal | >= |
| Greater | > |
| Is null | IS NULL |
| Less or equal | <= |
| Less | < |
| Like | LIKE |
| Not equal |
!= or <> |
| Not like | NOT LIKE |
| Not null | IS NOT NULL |
Source Condition Operators
| Equals | Greater or equal | Greater | Is null | Less or equal | Less | Like / Not like | Not equal | Not null | |
|---|---|---|---|---|---|---|---|---|---|
| Date | With macros | With macros | With macros | Yes | With macros | With macros | No | With macros | Yes |
| Date & time | With macros | With macros | With macros | Yes | With macros | With macros | No | With macros | Yes |
| External ref. | No | No | No | Yes | No | No | No | No | Yes |
| Decimal | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| Number | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| Reference / Backreference | No | No | No | Yes | No | No | Like / not like name | No | Yes |
| Embedded ref. | No | No | No | Yes | No | No | No | No | Yes |
| String | Yes | No | No | Yes | No | No | Yes | Yes | Yes |
| Text | No | No | No | Yes | No | No | No | No | Yes |
Target Condition Operators
| Equals | Greater or equal | Greater | Is null | Less or equal | Less | Like / Not like | Not equal | Not null | |
|---|---|---|---|---|---|---|---|---|---|
| Date | With macros | With macros | With macros | Yes | With macros | With macros | No | With macros | Yes |
| Date & time | With macros | Yes | Yes | Yes | Yes | Yes | No | With macros | Yes |
| External ref. | No | No | No | Yes | No | No | No | No | No |
| Decimal | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| Number | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| Reference / Backreference | To and from source | No | No | Yes | No | No | Like / not like name | No | Yes |
| Embedded ref. | No | No | No | Yes | No | No | No | No | No |
| String | Yes | No | No | Yes | No | No | Yes | Yes | Yes |
| Text | No | No | No | Yes | No | No | No | No | Yes |
Support for Empty Values in Conditions
| Equals | Greater or equal | Greater | Is null | Less or equal | Less | Like / Not like | Not equal | Not null | |
|---|---|---|---|---|---|---|---|---|---|
| Date | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| Date & time | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| External ref. | No | No | No | Yes | No | No | No | No | Yes |
| Decimal | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| Number | Yes | Yes | Yes | Yes | Yes | Yes | No | Yes | Yes |
| Reference / Backreference | To and from source | No | No | Yes | No | No | Like / not like name | No | Yes |
| Embedded ref. | No | No | No | Yes | No | No | No | No | Yes |
| String | Yes | No | No | Yes | No | No | Yes | Yes | Yes |
| Text | No | No | No | Yes | No | No | No | No | Yes |
Notes About Empty Values
For operators not supported for datatypes empty values are not considered. Is null and Is not null value conditions are naturally supported for each data type. They cannot be used with property conditions (two attributes' values cannot be compared with Is null or Is not null operator).
To and From source special conditions do not match if the reference is empty.
Value conditions
- Only the attributes value can be empty. The value that is compared to the attribute cannot be empty i.e. null, you can use Is null operator to match with null values.
- Equals, Like, Greater (or equal) than, Less (or equal) than operators never match with empty values.
- Not equal and Not Like operators always match with empty values for all the data types they are supported.
Property conditions
- Is null and is not null operators are not supported.
Another value is null
- The behavior is similar to value conditions:
- Equals, Like, Greater (or equal) than, Less (or equal) than operators never match with empty values.
- Not equal and Not Like operators always match with empty values for all the data types they are supported.
Both properties are null, not comparing same attributes in the same entity
- If source property conditions compare two different attributes or the target property condition compares two attributes (can be same attribute) and their values are empty, the condition never matches.
Both properties are null, comparing same attribute (old value to new value)
- If the source property condition compares the attribute's old value to new value, and both of the values are null, then the Equals and Like are true and rest of the operators are false.
- Other operators always fail.
Table of Contents