I need to loop through all the Configuration Items attached to a SDM change order and then assign an approval task if the CI has specific contact fields populated on the CI. Based on the results of the approval, I may need to reset the entire parent approval loop (and not just for the CI owners)
From my parent process (ChangeManagement), I have one child process (LoopCIs) that pulls all the CIs from the change order and their contacts. This then loops through each CI to check the values of the CI contacts. If it matches the rule, then this calls another child process (AssignApproval) that assigns the approval task, emails the contact(s), and waits for the results( variable: ApprovalCode).
When the AssignApproval task is completed, the LoopCI process evaluates the results and determine if we break out of the loop or continue with the next CI. It is correctly pulling the results from the child AssignApproval process and continuing or breaking as needed. When it completes, control is returned to ChangeManagement.
My problem is that I can't capture the child dataset from the parent ChangeManagment. I am using the same format as when AssignApproval returns to LoopCI, but the assignment to the parent variable is always 'undefined'.
Here is my syntax from the operator in the ChangeManagement process after the LoopCI process completes:
Process.CIapprovalCode = Process.LoopCI.ApprovalCode;
I also tried pulling back from the grandchild directly from the parent:
Process.CIapprovalCode = Process.AssignApproval.ApprovalCode;
with the same results.
I have verified by looking at the processes' datasets in operations that the grandchild and child variables are populated correctly.