I have a process designed with multiple reviewer levels. The process is designed to automate a route slip for a project. The route slip is a simple PDF that has comment fields for each user to enter their comments for the project into. In some of the reviewer levels there are multiple users who need to add their comments to the PDF at the same time. I have set up the process at those points to go through a gateway element. The element is set to And-Wait, and has at most three branches. The branches are exactly the same in that I'm setting some variables, and then have a User Assigned Task set up to allow each user to add their comments to the form. The form has a section set up for each user to enter their own comments into. The intended goal is to capture each users comments before the form goes to the next reviewer level. The problem is that when I get to the next reviewer level in the process only the last user who adds comments inside the gateway has their comments saved and passed through. I am a little puzzled on why the gateway element isn't capturing each users comments. Any assistance or insight into my problem would be greatly appreciated.
If I understand correctly, a level of review is represented by a gateway on the process map, and one user reviews the document (via an Assign Task operation) in each branch in the gateway.
Each Assign Task operation needs to use a different variable to save output. If each Assign Task operation uses the same variable as output, each time a user completes their review, their data overwrites the previous user's data.
When the gateway completes, you need to retrieve the comments from each variable that captures Assign Task output, and save them in a single variable. The gateway does not do this automatically. You can use a Set Value operation to accomplish this.
The Gateway element sends the item in parallel and they each get a copy of the Form variable for the duration of their branch. Once the split is completed it'll update the main process Form variable with the content from the last branch that was complete.
Right now, there is not built in functionality that will combine the three instance of the Form variables from the three branches back into the main process. You'll need to do that manually using a SetValue operation.
I would store the comments from each branch in a string variable. Then update the main process Form variable with the content of the comments variables outside of the Gateway, just before it goes to the next approver.