Personalized Community is here!
Quickly customize your community to find the content you seek.
Choose your path Increase your proficiency with the Dynamics 365 applications that you already use and learn more about the apps that interest you. Up your game with a learning path tailored to today's Dynamics 365 masterminds and designed to prepare you for industry-recognized Microsoft certifications.
Visit Microsoft Learn
2021 Release Wave 2Discover the latest updates and new features releasing from October 2021 through March 2022.
2021 release wave 2 plan
The FastTrack program is designed to help you accelerate your Dynamics 365 deployment with confidence.
FastTrack Community | FastTrack Program | Finance and Operations TechTalks | Customer Engagement TechTalks | Upcoming TechTalks | All TechTalks
Have you ever had that moment where you feel like your workflow is set up correctly, but it just isn’t routing quite the way you wanted it to? Understanding the logic behind using Workflow conditions with ‘And’ and ‘Or’ statements can save a ton of time when setting up your approval steps during the implementation of Workflow and help eliminate these moments.
Microsoft Dynamics GP uses the same logic and order of operations as SQL. In fact, for those of you who are good with SQL, this makes the conditions even easier to understand and build. Below I have illustrated an example that I hope will help you better understand just how it works. I will use the Purchase Order Requisitions workflow based on a Document Amount and the GP user who Requested the requisition.
I have 6 users and their GP User id’s are as follows: LU1, LU2, LU3, LU4, LU5, LU6.
Each of my first steps have a different approver and my workflow only requires 1 approval based on the user and dollar amount combination.
Let’s focus on the top two approvals for LU1, LU2, and LU3.
Here is how I commonly see these conditions set up:
(Approval Step for Kelsey)
(Approval Step for Cheryl)
Using the screenshots above, if LU1 submits a requisition (REQ00000000000001) for $150 who would you expect to be the approver???
We want it to be ‘Cheryl’ according to our chart, but it will actually be both ‘Kelsey’ and ‘Cheryl’ due to our setup.
Why? It is due to the order of operations in SQL. Here is the query that we just wrote with our condition.
Here is what our requisition looks like in SQL in the POP10200.
These are the select statements that we created on our workflow step conditions. Remember, every first step in your workflow is checked at the time you submit, and every first step that is TRUE, will require approval. (In this case we have 4 first steps on the same level and 2 will be true)
Notice how the OR statements above no longer include your document amount from your AND condition, they just include the Requested By user ID. This makes both statements true for LU1 regardless of amount.
How do we change our conditions so they meet the order of operations in SQL and include our document amount as well for each user combination?
We need to have our document amount AND requested by User, included in each OR statement. Please see below for my updated setup.
Now, using the screenshots above, if LU1 submits a requisition (REQ00000000000001) for $150 who would you expect to be the approver???
We want it to be ‘Cheryl’ according to our chart, and it will be Cheryl only now with the correct setup in place.
Here is what our requisition looks like in SQL in the POP10200 again.
These are the select statements that we created on our new workflow step conditions.
Above you can see that the condition for Kelsey in red is no longer true because our OR statement now also includes the document amount and not just the requested by user id. Cheryl’s step is the only one that is true, now so she will be assigned the approval properly.
My hope is that the illustrations above will give someone that light bulb moment if this was unclear beforehand. It is not always easy to convey a concept like this into words a it takes hands on practice to get really good at creating your conditions.
How would you add an additional condition?
If PO Requisition $ is less than $10.00, then no approvals are required
Thus only PO Reqs over $10.00 go thru the Steps
If PTE Total Quantity Hours = 40, then no approvals are required.
Thus only Timesheets with less than 40 hours or more than 40 hours go thru the Steps
When dealing with hundreds and or thousands of transactions, not everything needs to be approved. Maybe only a small percentage.
I would like to thank you for this very detailed and informative explanation. It was exactly what I wanted to find out about the logic of the Workflow Condition Editor.
Business Applications communities