Can Subform Data be passed from a Parent Process to a Child Subprocess?
I have a parent process that has data populated in a sub-form. I then have a child sub-process that has this same sub-form defined in it. When I call the sub-process from the parent process, I want to pass all the data that is in the Parent sub-form to the Child's sub-form. Can this be done?
When I configure my sub-process call, the data mapping tool will only allow you to map the low-level sub-form fields. It will not allow you to map the sub-form itself nor the repeating element of the sub-form:

The problem with this is that when the process runs and the sub-process is called, only the first row of data from the parent sub-form gets passed to the child sub-form.
-
Try also linking the TermReasonsSubform on the left to the right. For repeating elements, you need to map both the parent and the children for the repeating data to move over correctly.
For your other issue about not seeing certain fields, can you elaborate a bit more? I've never had fields missing from the mapping screen before, but I've never needed to pass nested subforms before, neither. To avoid having potentially dozens of fields to map between parent and child processes, I made a pretty elaborate template to keep the form in the parent process and only pass metadata to the child processes for task control.
-
I actually already tried to link the TermReasonsSubform field. The mapping tool will not allow you to do that.

The screen-shot above was taken right after I had clicked on TermReasonsSubform on the left and had dragged it over to the TermReasonsSubform field on the right. But when I release the mouse button, nothing happens. The mapping does not get created. The system will only allow you to map the lower-level fields.
What I was talking about with the missing data is that I configured the mapping as shown above where only the low-level field was mapped (in this case "TermReason"). I then published the application and tested it. At run-time, the parent process had several entries in the sub-form:

But when the child process received the data, only the first entry from the parent sub-form got passed to the child:

-
For now, the only workaround I've figured out is building a string via concatenation with a delimiter in the parent process, then parse and loop through the string in the child process. Another less practical (but probably cleaner) solution is to put a loop in the parent process and call the child process once per entry.
-
It does work if you do copy or share all data in the schema, and don't specifically map records. We are doing it several times with several subprocesses in our complex app. We are also able to map repeating nodes in Data population. So to me it sounds like a bug with the mapping tool in this use case.
-
Quick update on this. AgilePoint replied back with this comment in the support ticket:
As of now, mapping repeatable subform from Parent to Child process is not available. This request will be added to the Enhancement list, but Engineering will take a decision based on feasibility analysis . This functionality require extensive engine level changes and testing.
So for now, the only way to do this is use the "Share all Attributes" or "Copy all Attributes" options when configuring your sub-process calls.
Please sign in to leave a comment.
Comments
8 comments