cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
vikna
Helper III
Helper III

Multiple condition not working as expected

I have 24items in 4 locations and the below flow is only for one item.

What I need is, whenever a quantity of an item reaches below threshold limit, an email should be sent to the Stock managers.

 

 

vikna_0-1628044143153.png

 

Based on above flow, only the first and last condition is working.

The two conditions in the middle is returned with below error even though the quantity is below threshold limit.

 

vikna_1-1628044738663.png

 

Hope anyone can advise me.

 

 

1 ACCEPTED SOLUTION

Accepted Solutions

Hi,

thank you very much for your suggestions...

however, it turns out that the data in Sharepoint is actually "a single line of text" instead of numbers.

 

Two solutions :

1. change sharepoint list to numbers. Too tedious as the list is long.

2. Add expression to convert the value into integer : 

int(triggerOutputs()?['body/QUANTITY'])
int(triggerOutputs()?['body/THRESHOLDCRITICAL'])

 

vikna_0-1629350069387.png

 

This solved the problem...

thank you !!

View solution in original post

2 REPLIES 2
poweractivate
Community Champion
Community Champion

@vikna 

 

Check for any leading or especially trailing whitespace anywhere in the middle two conditions.

 

Here is demonstration how easy it is for a trailing whitespace to be there without it being very obvious to notice it:

 

8321-pla-01.png

 

The above two variables look like they are equal.

 

According to the below, the second one has the whitespace, though this would not be known unless it was checked by clicking there:

 

8321-pla-02.png

 

According to the Flow test run below, the values are not equal, even if they appear to be, because one variable has a trailing space at the end, the other does not have it.

test-8321-pla-01.gif

 

I also repeated the test with both values being the same, then the true branch was executed.

 

Check if in your case, in the middle two conditions, there happens to be a whitespace at the end or beginning. Check values with dynamic content as well. For example, make sure THRESHOLD doesn't have a space after it. It is, however, more likely that the problem is that either the LOCATION or the MODEL has the problem.  Be sure in case to check the left side too of those and make sure of no trailing or leading whitespace.

 

If you have verified this is not the issue, check if the input itself does not have that whitespace as well, or otherwise if the input is not matching - e.g. check if when the item is modified, that the input matches exactly and has no whitespace. 

 

Also note about Case Sensitive. PLAZA SHELL is not equal to Plaza Shell - when replacing those two values in my test Flow, I get the result that they are not equal.

 

If you identified this issue and want to ignore whitespace and make it not case sensitive, you need to wrap both sides of the condition in expressions.

To make it ignore whitespace, use trimhttps://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#t...

 

To make it ignore case, use toLowerhttps://docs.microsoft.com/en-us/azure/logic-apps/workflow-definition-language-functions-reference#t...

 

To use both at same time, do something like:

 

 

 

 

toLower(trim('PLAZA SHELL')) 

 

 

 

 

for the right side,

and for the Dynamic Content on the left, put in:

 

 

 

 

toLower(trim()) 

 

 

 

 

then click inside the innermost parentheses, switch to the Dynamic Content tab, and select, for example, LOCATION and it will autofill it for you, becoming something like

 

 

 

 

toLower(trim(<<AutoPopulatedDynamicContentShouldBeHereNow>>))  

 

 

 

 

- then press OK.

 

Check if any of the above help you.

 

 

Finally, if none of the above work, triple-check if those specific SharePoint's item's fields are really being populated with correct values upon creation or modification - including the THRESHOLD, the MODEL, the LOCATION, etc. - especially for the PLAZA SHELL and any of the others that are not satisfying the condition.

 

If it is possible, also try to clone the Flow and test only the PLAZA SHELL group of three conditions and see what happens in the cloned Flow.  To go even further, in that "PLAZA SHELL" Flow for example, go ahead and try separating all of the three conditions in that cloned flow to three separate conditions in the Flow (rather than one condition with ANDs in it), such as only the THRESHOLD, only the MODEL, only the LOCATION, etc. in each condition, and only for PLAZA SHELL as well, and just have dummy Yes or No actions and let it continue over to the next condition regardless if the condition was satisfied or not.

Then you can try to debug which condition(s) is/are succeeding and which is/are failing. When trying even just all three conditions at once (let alone all 12) it may be difficult to know which of the three is the problem, and then which one of those three is the problem. When split up into three conditions, and especially with each of the three conditions being in its own condition block, it may be easier to know that, for example, two of the conditions may be succeeding , but that one specific condition is failing - and then to also know more clearly what value was in the input and what value was it being compared with for that specific condition. For example, suppose you tried this and found the LOCATION condition was failing, but that the other two were succeeding. It could be a sign that something about the LOCATION is either coming in not as expected, or the Condition is not working as expected - this could be a trailing whitespace, or could be something else entirely, and this might be further looked at by checking in the cloned Flow's Run what  was the value of the specific input and then also what was it being compared in the failing Condition. 

 

If none of this worked, tell what you tried and that the issue still persists even after you tried those. It would be especially helpful to attempt the breaking apart of the three conditions in a clone of the Flow if possible prior to replying that it still didn't work, as that should be most likely to be able to help you pinpoint the issue. Since probably if it still did not work for you, I'd probably ask for a run history screenshot of the three conditions separated in a cloned Flow and what were the values - you might as well try that if the other ways do not work and you might find out the cause.

 

 

Hi,

thank you very much for your suggestions...

however, it turns out that the data in Sharepoint is actually "a single line of text" instead of numbers.

 

Two solutions :

1. change sharepoint list to numbers. Too tedious as the list is long.

2. Add expression to convert the value into integer : 

int(triggerOutputs()?['body/QUANTITY'])
int(triggerOutputs()?['body/THRESHOLDCRITICAL'])

 

vikna_0-1629350069387.png

 

This solved the problem...

thank you !!

View solution in original post

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

Community Connections 768x460.jpg

Community & How To Videos

Check out the new Power Platform Community Connections gallery!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.

Users online (3,078)