Issue regarding Lexical operators

Hi All,

I am currently facing an issue with lexical operators…I am trying to put the below condition on the trigger for subscribing a doc…

%testing/test/test/Filter% L_EQUALS “ABC” &&
(%testing/test/test/AdditionalFilters/Filter2/Value% L_EQUALS “401855” || %testing/test/test/AdditionalFilters/Filter2/Value% L_EQUALS “404170”) || %testing/test/test/AdditionalFilters/Filter2/Value% L_EQUALS “404386” || %testing/test/test/AdditionalFilters/Filter2/Value% L_EQUALS “DEF”)

I am using Wm 7.1.2

but the document is not picked up by the trigger…when I try to use “==” instead of the lexical it is working fine…But I wanna use lexical only…so any one please let me know how to crack this…Another thing when I tried this condition using a branch step it is absolutely working fine…I am not able to understand what is wrong with the trigger…please help…thanks in advance…

Refer to http://techcommunity.softwareag.com/ecosystem/documentation/webmethods/wmsuite8_ga/Developer/8-0-SP1_Developer_Users_Guide.pdf 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.

Thank you for the response.

But I am not passing any integers all the fields are strings. But still it is not accepting…Strange thing is when I just put the first three lines of the filter it is working fine on the trigger but when I keep the fourth and fifth filter lines it is not taking it…it is so strange…please any one look into this issue…is there any bug that any one is aware of that is posted on this lexical operators…

thanks in advance…

Not sure if it’s related, but you seem to be missing a parenthesis.

sorry i guess that was a typo…i have the parenthesis in my code…is there any bug in 6.5 or 7.1 related to lexical operators…anyone has any idea of…please let me know…
thanks

No have not come across any issue or fix for lexical operators of that sort, i am on 7.1 and nested as well as complex expression with lexical operation work for me, please recheck if you are not doing any error in syntax while entrying in trigger.

-nD

Maybe you should try to remove your filter (or create a new trigger with no filter) and display the values of your “filter” %testing/test/test/Filter% and %testing/test/test/AdditionalFilters/Filter2/Value% in order to see if they are displayed well…