cancel
Showing results for 
Search instead for 
Did you mean: 

End Condition Dynamic Parallel Processing

Former Member
0 Kudos

Hi All,

I am working on a PO release workflow with parallel approvers so i used the MISCELLINEOUS tab with APPROVERS (multiline container elements) and assigned the &AGENTS[&_WF_PARFOREACH_INDEX&]& to expresssion in DECISION TASK

Now the system sends the work items to all those agents identified dynamically. However, when any one of the agents choose NO(REJECT) Option in DECISION the workflow gets completed only for that agent but "the work item still lies in all the other approvers/agents inbox"

Please let me know how to ensure that once any one of the agents reject then work items are deleted from others tooo.

I tried end condition in DECISION Step with no success. Any help in this regard will be appreciated.

Thank you,

Rgds,

Lakshmi Narayana

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

One more query after going through your question:

Are you using any method in the reject Outcome of the decision step to programatically reject the PO in the background, Once user clicks Reject button?

Regards,

Sangvir Singh

Former Member
0 Kudos

HIi Lakshmi,

As you have mentioned that after any action form one user, it should get deleted from other's inbox.

For this, use of parallel processing would not be appropriate because in that case, all the workitems are different and hence they are independent of each other.

However to achieve your functionality, first fetch all the possible agents and then send one workitem to all.

So when any action is done on that workitem, it will disaaper from other's inbox.

Regards,

Sangvir Singh

Former Member
0 Kudos

Dear Sangvir,

My requirement is to have 4 or X no of parallel approvers at 1st level and all of them have to approve the PO so that it goes to next level. It is not that one of 4 can approve and it should goto next stage (which we do as general case)

So I must use either BLOCK or this dynamic parallel procesing option but couldnt find a way to Logically delete the work item if one of them rejects it.

@Karri:

Yes I am trying to analyse why the event didnt trigger when i did it via EVENT CREATE step.

However, when i rejected it manually using ME29N it did trigger the event and all other workitems in other approver's inbox have been logically deleted.

Any clues??

Regards,

Lakshmi

Former Member
0 Kudos

HI Lakshmi,

Thanks for giving more details.

As you have mentioned, there is no event being triggered when you are rejecting the PO.However in database, filed PROCSTST of table EKKO gets changed to value 08 when PO is rejected.

SO you can use this filed to create a wait step .

First create a Z event of your BOR object.

IN SWEC crete a new entry for document EINKBELEG and attach your Z event to it.Also put filed restriction to filed PROCSTCT for new value 08.

Now put this Z event as a wait event in your workflows.Whenever you PO is rejected, status will be changed to 08 which will further trigger the wait event step, and hence you can end your rest of workflows.

Hope this helps!

Regards,

Sangvir Singh

former_member183917
Active Contributor
0 Kudos

Alternatively, you can use the below approach.

Create a fork with 2 legs and necessary condn as 1. In 1 leg, place the user decision step and trigger a local event in the reject step of user decision (Pls make sur local event is created). In other leg of fork, listen to this local event, so the workitem will be removed from remaining user's inbox.

Vinoth

Former Member
0 Kudos

Thank you all for your valuable suggestions...

@Karri: the event triggering is happening now.. All i did was log off my system and login again.. Seems the buffer issues continue to trouble me...

@Sangvir/Vinoth: Am trying the ways suggested by you guys and will check if i they suit my requirement in a better way..

I will close the thread once i check all these options...

Thanks all for great help and cooperation..

Rgds,

Lakshmi

Former Member
0 Kudos

After the rejection you could raise a custom event, for example REJECTED (which you need to create). And in the main workflow you can listen this method (wait for event step), and if the event is triggered, you can react to it accordingly (for example end the workflow).

Regards,

Karri

Former Member
0 Kudos

Thank you very much for the response kerri...

I forgot to mention that..

I did raise a custom event and the WAIT FOR EVENT step is included in the fork also... to my surprise for some reason that event never been called as i cant see it in SWEL (remaining events i can see)...

Is there something that i am missing or I should follow any otherway of handling the REJECTION in case of dynamic parallel processing...

Pls help me

Rgds,

Lakshmi

Former Member
0 Kudos

Hi,

I think that the event is the best and easiest option, and you should definatel go for it. Now you just need to find out why the event is not triggered. Is the event in implemented status in SWO1 (I assume you are using business object).

Regards,

Karri

Edited by: Karri Kemppi on Apr 9, 2010 11:49 AM