Problem with Decision Table in the Flow

TanyapongS
Tera Contributor

 

Hi everyone,

 

I'm encountering an issue with my flow when using a decision table. Despite verifying all the input values being passed, the decision table consistently returns false during flow execution. 

 

Has anyone experienced a similar issue or have any suggestions on what might be causing this? Any help or insights would be greatly appreciated!

 

Please see the below screenshot for more infomation.

 

Annotation 2024-08-07 185001.png

my flow execution details said the input is India and the date is 2024-08-07 at 18:40:11

Annotation 2024-08-07 185111.png

and here is the condition in that decision table. You can see the input value is matched and fell into one conditional statement/line and it should return True but the flow still returns False for this.

 

Thank you.

 

2 ACCEPTED SOLUTIONS

Laszlo Balla
ServiceNow Employee
ServiceNow Employee
  1. Check the actual sys_id of the user location being passed against the sys_id of the location you have in the Decision condition. It is possible that you multiple location with the name India, and therefore there is no matching decision row. Look at the [sys_decision_question] table to see more details of your conditions including the encoded query.
  2. Try to change the table to [cmn_location] from [sys_user] on the DT input, and set the locations from that table directly.

View solution in original post

MattiasJonsson
ServiceNow Employee
ServiceNow Employee

The way I read your DT and the log, it seems that that DT uses a [sys_user] record as the reference with a dot walk to India.

However, in the LOG you feed the input as "India" while it should be a User Record that's the input and the DT will then dotwalk down to the location of the provided user and see if that matches the string.

 

So, check your inputs…

If helpful or correct, please state so!

View solution in original post

3 REPLIES 3

Laszlo Balla
ServiceNow Employee
ServiceNow Employee
  1. Check the actual sys_id of the user location being passed against the sys_id of the location you have in the Decision condition. It is possible that you multiple location with the name India, and therefore there is no matching decision row. Look at the [sys_decision_question] table to see more details of your conditions including the encoded query.
  2. Try to change the table to [cmn_location] from [sys_user] on the DT input, and set the locations from that table directly.

MattiasJonsson
ServiceNow Employee
ServiceNow Employee

The way I read your DT and the log, it seems that that DT uses a [sys_user] record as the reference with a dot walk to India.

However, in the LOG you feed the input as "India" while it should be a User Record that's the input and the DT will then dotwalk down to the location of the provided user and see if that matches the string.

 

So, check your inputs…

If helpful or correct, please state so!

TanyapongS
Tera Contributor

Thank you so much for helping me solve this issue!! @MattiasJonsson @Laszlo Balla 

 

I am new to the decision table, and with both of your solutions, it made me understand how the decision table works more. Yes, both of you are correct. My input is India, which is the value from cmn_location, so once I change from the sys_user table to cmn_location, it works perfectly fine.

 

Thank you both again