Software AG Products 10.7 | Integrating On-Premises and Cloud Applications | Service Development | Conditional Expressions | Operators for Use in Conditional Expressions | Relational Operators | Lexical Relational Operators
 
Lexical Relational Operators
You can use the lexical relational operators to create filters that compare string values. Keep the following points in mind when using the lexical operators:
*When evaluating filters that contain lexical operators, Integration Server uses the locale collating sequence specified on the Broker to compare the values of the strings. The behavior of lexical operators depends on whether a locale is set for the Broker. If no locale is specified, the lexical relational operators behave like the standard relational operators.
Note:
To set the filter collation locale, use My webMethods to change the locale on the Broker Server. You might need to restart the Broker Server for the change to take effect. For more information about administering the Broker Server, see Administering webMethods Broker.
*If you use a lexical operator to compare strings in an expression (such as in a BRANCH step or in a pipeline link), Integration Server treats the lexical operators as if they were standard relational operators.
*If you use a lexical operator to compare a value that is not a string with another string value, Integration Server treats the non-string value as an empty string (that is, ""). For example, in the expression (%myInt% L_EQUALS ""), the %myInt%variable is declared to be of type integer. This expression always evaluates to true because %myInt% contains an integer value that Integration Server treats as an empty string ("") when it evaluates the expression.
*If you use a lexical operator to compare numbers in fields of type String, Integration Server treats the numbers as strings.
*Filters that use lexical relational operators to compare string values will be saved with the trigger subscription on the Broker. Filters that use standard relational operators to compare string values will not be saved on the Broker.
*When you view filters on My webMethods, a lexical operator appears as its equivalent standard operator. For example, the expression %myString% L_EQUALS "abc" appears as myString=="abc".
The following table describes the lexical operators that you can use in filters.
Operator
Description
L_EQUALS
Lexical equal to.
This example...
Evaluates to true if...
%myString% L_EQUALS "abc"
The value of the myString variable is abc.
L_NOT_EQUALS
Lexical not equal to.
This example...
Evaluates to true if...
%myString% L_NOT_EQUALS "abc"
The value of the myString variable is not abc.
L_LESS_THAN
Lexical less than.
This example...
Evaluates to true if...
%myString% L_LESS_THAN "abc"
The value of the myString variable is less than abc.
L_LESS_OR_EQUAL
Lexical less than or equal to.
This example...
Evaluates to true if...
%myString% L_LESS_OR_EQUAL "abc"
The value of the myString variable is less than or equal to abc.
L_GREATER_THAN
Lexical greater than.
This example...
Evaluates to true if...
%myString% L_GREATER_THAN "abc"
The value of the myString variable is greater than abc.
L_GREATER_OR_EQUAL
Lexical greater than or equal to.
This example...
Evaluates to true if...
%myString% L_GREATER_OR_EQUAL "abc"
The value of the myString variable is greater than or equal to abc.