Refer to [url]http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuite8_ga/Developer/8-0-SP1_Developer_Users_Guide.pdf[/url] page 445:
If you use a lexical operator to compare a value that is not a string with another string
value, the 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 the 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.
…
Use lexical relational operators (such as L_EQUALS, L_LESS_THAN) to compare fields of type String.
Use standard relational operators (such as =, ==, !=, <, >, <= and >=) to compare fields that are not of type String.
…
That might explain your case.
#Integration-Server-and-ESB#Flow-and-Java-services#webMethods