I currently have a workflow developed for the PLUSGMOC application. For anyone not familiar with the MOC application it is based upon a view of the workorder table with a number of child tables used to track various things. For example there is a child table called PLUSGMOCRVLST which contains a list of reviewers assigned to the record.
The business requirement is that the MOC can only be changed to WAPPR status after all of the reviewers have completed their review.
There is also a business requirement is support a single step that marks all reviewers complete.
I have built a workflow that presents a manual input node to the user giving them the option of marking their review complete, or marking all reviews complete, if they have the correct security settings. After the manual input node I have an action that sets the reviewed checkbox to checked (REVLIST.setvalue reviewed=1, where REVLIST is a relationship from the MOC to the review line where reviewer=&PERSONID&.
After this action is a condition that checks to see if all of the reviewers are complete. If yes then we change status to WAPPR. If no, then we circle back around and assign the MOC to the remaining reviewers.
When the user routes workflow and selects the "I have reviewed" option the value gets set, but workflow does not detect this change so always takes the negative path of the condition. If the user routes the workflow again, the workflow detects the change and follows the positive path at the condition and changes the status.
This seems to happen any time that I change a value on a child table. What do I need to do to get the workflow to detect these changes on the child table?