|
Home > Archive > BizTalk Server General > January 2006 > Rule engine: PO approvals
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
Rule engine: PO approvals
|
|
| Paul J. Galvin 2006-01-13, 9:59 pm |
| Greetings,
I am wanting to use the rules engine to manage a purchase order approval
process.
I'm new to the rules engine, so I'm struggling a bit.
The idea in my head now is to make two overall categories of facts available
to the rules engine:
1) An approval tree
2) A partial or full list of approvals.
The approval tree will include the full set of approvals required derived
from the the person originating the PO. It's a common sense tree, where the
user's manager must approve it, and then the manager's manager and then the
manager's manager's manager, etc. The tree's depth depends on the total
value of the PO.
There is a little twist in that there is an automatic non-managerial
approval required by the local site's purchasing manager, which I envision as
implementing in the approval tree where it just says that if the PO amount >
$0 then the first approver is the local purchasing manager. Another twist is
that for some specific product codes, the local IT department must also
approve the purchase.
The client will work something like this:
1: Collect PO details.
2: Loop:
2a: Ask rules engine, "who is the next required approver".
2b: If answer is "no more approvals needed" then we're done and exit loop.
2c: Forward email to next approver.
3: Endloop.
Of course, if a PO request is denied, then we break out of the loop.
Every time the client calls to the rules engine, it passes all the previous
approvers and the approval tree.
I have two overall questions: Is this an appropriate use of the rules engine
and secondly, is it something that one can reasonably accomplish?
Any hints or advice are greatly appreciated.
Regards,
--Paul J. Galvin
ISSG
| |
| skesiraju@gmail.com 2006-01-13, 9:59 pm |
| Usage of rules engine in this case might not be best solution. As far
as i can see from above, i think a simple c# function will do it.
If in case you want to use the rules engine, for the above scenario you
need to have level of approval as one of your XML elements and enable
forward chaining so that the other rules can evaluate and take it into
consideration for the rest of the rules, so that the rest of rules know
whoc is the next approver and don't fire that rule as well.
Rules engine can accomplish this very easily and will be a very easy
for you to add any more conditions if you need to in future.
hope this helps.
Thanks,
Sandeep Kesiraju
| |
| Marian Drumea [MVP] 2006-01-13, 9:59 pm |
| Hi Paul,
I think BRE is the right way to go here, combined with business
process/orchestration involving human interaction for approvals and to
enable the flow. You can look at HWS or better, at K2. It makes sense
to have the rules defined outside the code, because you will be able to
change or allow other users to change after deployment, simply by
editing the policies.
Thanks,
Marian Drumea [MVP]
http://www.MarianDrumea.com
|
|
|
|
|