0

I have a complex situation that I was wondering if you guys have an idea on how to do:

I have 2 lists, the parent list (CRDB) and child list(ReleaseDB). The parent list can have one or many child. There is a option field on Child called ReleaseStatus which can be set by user as “In-Progress”, “On-Hold”, “Ready to Release”. Also I have option field on Parent list called CRStatus which can be also set by user as “In-Progress”, “On-Hold”, “Ready to Release”.

Now So let says parent A have 3 child record and in that suppose user is updating all 3 child ReleaseStatus as “Ready to Release” then update parent CRStatus as “Ready to Release” else do nothing..if say any ReleaseStatus is not Ready to Release then do nothing.

Parent parentStatus Child ChildStatus.

A X Ready to Release Ready to Release Y Ready to Release

Z Ready to Release

B X Ready to Release No Update Y In-Progress

Z Ready to Release

So in the above example during update of child status as "Ready to Release" tehn check for all child record status is also "Ready to Release" and then update CR-Status as "Ready to Release"

Pls let me know whether this is possible in workflow. Also I m little new to event receiver. So it would be great if you could send me working code so I can try in my machine. Hopefully this explaination of my problem is clear enough. Please let me know if you need any clarification, all help are appreciated, thanks!

1 Answer 1

0

This sounds a lot like a parallel approval workflow. The parallel aspect can get a bit tricky. My recommendation would be to set it up with a replicator so that the approvals run one after the other first and then, once you're confident that works, implement parallel tasks. Here's a guide to creating a workflow with a custom task field:

http://msdn.microsoft.com/en-us/library/hh824675(v=office.14).aspx

And here's a guide to using replicators:

http://moldenco.blogspot.com/2007/03/working-with-replicator-in-sharepoint.html

Using replicators in parallel adds a bit to the challenge. If you have a working replicator running one at a time and use a OnTaskChanged while loop to monitor approval or rejection, the first task that trips that field will essentially kick off the rest of the workflow. That means that if you have, say, 5 approvers in a list, you are going to need to keep a tally within the workflow of approvals so that said while loop only kicks you out once it's reached that total.

This page... kind of handles parallel replicators but to be honest I haven't found a site that really does so to a level I can reference with confidence:

http://sergeluca.wordpress.com/2008/05/08/step-by-step-tutorial-creating-workflows-for-windows-sharepoint-services-and-moss2007-part-1220-managing-several-approversreviewers/

Just make sure the workflow works, then make sure the replicator works in non-parallel, and then and only then try to solve the parallel issue. Maybe your clients are okay with non-parallel tasking...

1
  • any other solution pls...its urgent..
    – Deepak
    Commented May 28, 2013 at 10:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.