There is an HD WF Orchestration on a base WF when Header goes New β Open on effective date, details follow. My subflow interjects then. We have a process where that Transition happened and then we add another detail. If the Header is sitting in Open and we add a detail will it get picked up by the orchestration or will it only run once?
If the header and details are coupled by an orchestration such that when the Header transitions from New β Open, the Details transition from New β Open, adding details (with a workflow state of New) while the header is at Open will automatically orchestrate those details to Open.
While it isnβt immediately clear what the Subflow is accomplishing, I expect it will intercept the headerβs transition to Open and actually take the header through some other path (but ultimately exit to Open). If the subflow itself is inserting detail records at a New state, the orchestration from the header should run when exiting the subflow and entering an Open state, at which point the details should transition.
Does that help/answer your question? Short answer: yes, adding details while the header is Open will orchestrate them to Open.
After some follow-up discussion, the expected behavior is that adding a new detail record while the header is at an Open state will cause that detail to orchestrate from New to Open (if the workflow has those orchestrations built, of course). The current scenario is as follows, and the subflows are not interfering with the behavior in this case. Credit to @brigid.mulligan for the added context.
Detail has a single workflow transition from New to Open. This is orchestrated by an orchestration definition with Orchestrating Table = Header, Target Table = Detail, and header state/state type of Open/Active.
- The header is in a state of
Newand has details in the state ofNew - Moving header to
Openkicks the orchestration and moves all details fromNewtoOpen - Add a detail record (at
New) while the header is atOpen, then save - Newly-added detail will orchestrate to
Openafter save
In other words, the header orchestration keeps opening details as they get inserted as opposed to running a single time:
- When the driving record transitions to
Open, the system checks if it should orchestrate any other records - When the target record is inserted at
New, the system checks if there are any valid orchestration transitions to follow
In a scenario where there are multiple chained orchestrations, the following is true:
Scenario:
- Header has transitions from
NewβReady To OpenβOpen, and each transition orchestrates details toReady To OpenandOpen, respectively - Per the above, if the header is at
Ready To Openand a detail is inserted atNew, that detail will orchestrate toReady To Open
Examples:
- If the header is at
Openand user inserts a detail atNew, the detail will not orchestrate and will remain atNew. This is because the header is not at the orchestrating state,Ready To Open, that would cause the detail to transition fromNew. - If the header is at
Openand a user inserts a detail atNew, then uses a logic block queued transition toReady To Open, the detail will then orchestrate toOpenautomatically. This is because the header is currently at the orchestrating state ofOpenthat causes the detail to transition fromReady To Open.