Apologies if the title is confusing - I'm trying to understand if there is any difference in behaviour between Fulfilment WFs and Escalation WFs, i.e. as invoked during cancellation of a request.
I know and accept that calling a sub-process WF of type Approval or Fulfilment will ONLY instantiate and execute that sub-process IF there are valid changes in scope for the child WF, e.g. there is a open change for a particular application.
Does the same principle apply for escalation WFs or would the sub-process WF always be instantiated and executed even if the changes in the CR have already been cancelled in the database?
We have a problem at the moment whereby the WF called as part of cancelling a CR submitted from a request form is trying to call a sub-WF (to do something relevant) BUT it is not instantiating and executing this sub-WF because The subprocess xxxxxxxx (nnnnnnnn:WPDS) has no changes to proces (as taken straight from the logs).
On investigation I determined that the sub-WF the cancellation is trying to invoke has been defined/created as a Fulfilment workflow, not an Escalation workflow - but does that make a difference? Hence the question.
If this is indeed the case the follow-up question then becomes "how do we convert the WF from Fulfilment to Escalation?" Preferably without having to delete and recreate it.
Escalations are based on outstanding work so when they fire they are simply checking to see if the work associated with the escalation has been completed already (not the changes themselves). If that work, for example an approval, is not completed, the escalation workflow job is created. The changes it processes are all the changes the calling workflow had.