cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Change Management w/ multiple approvers

DonSenchuk
6-Contributor

Change Management w/ multiple approvers

We're in the beginning stages of implementing a Change Notice workflow to release our CAD docs. The OOTB workflows map very closely to our internal process with one small exception.


 


Between the Reviewer approving the changes made and the Auditor signing off for the final release, I need to have multiple departments sign off on the changes. The easy part was having all of them be part of an activity within the workflow. I've got it to the point where if all of them choose 'Complete', it moves through the rest of the workflow without any problems. Similarly, if all of them pick 'Rework', it goes back to the responsible party to have more changes made.


 


The problem lies in having one pick 'Complete' and any number of the rest of them picking 'Rework'. In this case, the workflow acts like they've all picked 'Complete' and sends it onward to the Auditor.


 


I've opened a case with PTC and haven't heard anything for some time. Because of the delay in hearing from tech support, I'm curious if this is a relatively easy possibility or if I'm simply barking up the wrong tree here.

6 REPLIES 6

Is there one Approval Task in the workflow with multiple people assigned to the task, or multiple Approval Tasks with one person in each of the tasks?

On the Routing tab of the task(s) what is the Routing Type and Routing/Tallying Expression?

My guess is that your expression is not correct.
Steve D.


DonSenchuk
6-Contributor
(To:DonSenchuk)

There is one Approval Task in the workflow with multiple people assigned to the task. (Well, groups actually.)


I don't have anything in the routing expression. That's one of the things I'm still working on. I just began to suspect, due to PTC's very long delay in answering, that I was asking for something that couldn't be done.



In Reply to Stephen Drzewiczewski:


Is there one Approval Task in the workflow with multiple people assigned to the task, or multiple Approval Tasks with one person in each of the tasks?

On the Routing tab of the task(s) what is the Routing Type and Routing/Tallying Expression?

My guess is that your expression is not correct.
Steve D.



HI Don, I assume you are looking for this:


1- The activity will wait for everyone to hit "Approve" but if ONE person at ANY time hits "Reject" you want it immediately routed down your "reject" or "rework" loop.

If that is the case, there is a supported method for this. It's fairly simple and works well. See the attached PPPT from PTC.

[cid:image001.gif@01CE6B4C.D0270DF0]

Steve Vinyard
Senior Solution Architect

Don,

I think the below will get it done for you.

In short you'll need a threshold connector that each activity routes to if
release and an OR connector set as shown below. See second image showing
the workflow.

I had a somewhat unique situation where my threshold limit is dynamic (we
have either 4 or 5 reviewer depending on if an optional reviewer is set at
the "Submitter Review" task) and therefore I could not use an OOTB
threshold connector. But I think you'll get the idea.

Hope this helps.





David Graham
Windchill Developer/Administrator
CAx Administrator


Emhart Glass Manufacturing Inc.
Emhart Glass Research Center
123 Great Pond Drive | Windsor, CT 06095 | USA
Telephone +1 (203) 376-3144 | Telefax +1 (860) 298 7397
Mobile +1 (203) 376-3144 |
DonSenchuk
6-Contributor
(To:DonSenchuk)

Thanks to everyone that participated.


The final solution I decided to use was Jon Tribes. I've tested and so far it works seamlessly.


 


In the Routing tab of the Assigned Activity, using Approved and Rejected as the two Routing Events, add the following:


 


WfAssignedActivity mySelf = ((WfAssignedActivity)self.getObject());
if (result != "Approved") {
//Set result to "Approved" if it has been chosen by all of the required users. In all other cases, set to Rejected.
result = WfTally.all(self, "Approved", "Rejected"); }


 


 


In Reply to Don Senchuk:



We're in the beginning stages of implementing a Change Notice workflow to release our CAD docs. The OOTB workflows map very closely to our internal process with one small exception.


 


Between the Reviewer approving the changes made and the Auditor signing off for the final release, I need to have multiple departments sign off on the changes. The easy part was having all of them be part of an activity within the workflow. I've got it to the point where if all of them choose 'Complete', it moves through the rest of the workflow without any problems. Similarly, if all of them pick 'Rework', it goes back to the responsible party to have more changes made.


 


The problem lies in having one pick 'Complete' and any number of the rest of them picking 'Rework'. In this case, the workflow acts like they've all picked 'Complete' and sends it onward to the Auditor.


 


I've opened a case with PTC and haven't heard anything for some time. Because of the delay in hearing from tech support, I'm curious if this is a relatively easy possibility or if I'm simply barking up the wrong tree here.


If you have the task set to Any, you can get away with no Tally expression. But if you are using All or a threshold of voters, then you need to specify the logic of how the voting results affect the final result.

We've had a case where you could Approve, Rework or Reject. Then you need to figure out the different combinations of votes and assign that to the result.

Steve D.
Announcements