Appian Community
Site
Search
Sign In/Register
Site
Search
User
DISCUSS
LEARN
SUCCESS
SUPPORT
Documentation
AppMarket
More
Cancel
I'm looking for ...
State
Not Answered
Replies
6 replies
Subscribers
8 subscribers
Views
4216 views
Users
0 members are here
Share
More
Cancel
Related Discussions
Home
»
Discussions
»
AI and Rules
Today I found a problem regarding evaluation of logical functions and boolean va
Stefan Helzle
A Score Level 3
over 10 years ago
Today I found a problem regarding evaluation of logical functions and boolean variables with null values. The function "and(null())" evaluates to "true", "or(null())" evaluates to "false" and "not(null())" tells me that null parameters are not allow. Adding some true() or false() values to the and() and or() functions return correct values.
When I bring the if() function into play which always handles null() values to false() the whole behaviour looks quite inconsistent to me. I think that "and(null())" as well as "or(null())" should evaluate to "false". The function "not()" should take null() values as "false" and for consistency "not(null())" should evaluate to "true"....
OriginalPostID-125072
OriginalPostID-125072
Discussion posts and replies are publicly visible
Parents
0
shiv.sinha
Appian Employee
over 10 years ago
For the logical functions: AND OR, null values that are part of input arrays are filtered out before evaluation. In both cases, since the null value is removed; the AND, OR functions return their default value when faced with an empty array. For AND, that value is true, and for OR, that value is false.
NOT works a little differently then the preceding 2 functions, as you had noticed. NOT requires a boolean value since it needs to be able to convert to its complement. That is why there is an error generated when null() is used in NOT, whereas AND OR functions return outputs.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Reply
0
shiv.sinha
Appian Employee
over 10 years ago
For the logical functions: AND OR, null values that are part of input arrays are filtered out before evaluation. In both cases, since the null value is removed; the AND, OR functions return their default value when faced with an empty array. For AND, that value is true, and for OR, that value is false.
NOT works a little differently then the preceding 2 functions, as you had noticed. NOT requires a boolean value since it needs to be able to convert to its complement. That is why there is an error generated when null() is used in NOT, whereas AND OR functions return outputs.
Cancel
Vote Up
0
Vote Down
Sign in to reply
Verify Answer
Cancel
Children
No Data