Is there any way to stop, and then even delete, a forms process instance from workflow or some other method outside of forms? We are on version 10 of forms and workflow.
Thanks!
Is there any way to stop, and then even delete, a forms process instance from workflow or some other method outside of forms? We are on version 10 of forms and workflow.
Thanks!
Thanks for the response. It does sound like calling the workflow from Forms is the best way to implement this.
Got a couple questions/comments if you don't mind...the cancelling of this item can be done in our external system at anytime regardless of where the Forms process currently is. So, if I have 10 assignment tasks in my Forms process, I could see calling the workflow before each assignment and then acting accordingly.
Question..Would calling the workflow each time before the assignment be the most efficient way to do this? Is there a better to do this way without duplicating the number of events in the process, that is to not have the same number of workflow calls as I would have task assignments ? I'm concerned about all the extra processing I may be adding.
What if the item is cancelled in the external system while the task is currently assigned to a user? Should I use a timer event to repeatedly call the workflow to see if the item was cancelled and if I do, can/should I design the process to stop the Forms instance while an assignment is assigned?
Thanks!
That's an ...interesting problem. You basically need a way to register signals in the Forms process and have those triggered by an outside activity. That's not currently available in Forms. We can look into extending the range of signals available in Forms in the future (the BPMN standard does allow for it, but it's not implemented in Forms yet), but, obviously, that's not going to help you now.
Currently, the only way to handle this would be to have Workflow check if the process should be canceled before every task. And there is no way to do it without doubling the number of tasks in the process if you need to check before each user task.
Thanks. And as far as trying to check for the cancellation after a task is assigned, but not yet completed, would any of the timers that can be attached to the task work for this? I've never used the timers in any of my implementations.
Hi Miruna,
Just a quick update. Using a timer catch event on the task, and with a signal throw and catch I think I was able to make it all work as seen in the example below. Thanks again for your help.
The ONLY thing is each time the process returns back to the assignment task from the timer event, a task assignment email is sent! Is there a way to change this so that only the initial task assignment email is sent?
Thanks so much for you help!
To delete a form that is active you can go to Processes -> Instance Monitoring and select the form you would like to delete. Once you check the process that you would like to delete a small trash can icon will appear. You can also left click on the 3 dots on the left hand side of the instance and select delete.
If you are trying to terminate a Workflow, use the common searches button within the workflow admin and options to filter to find the workflow that you would like to terminate. Right click on the workflow and select 'End Workflow'
Thanks for your response, but I am looking for how to stop a FORMS process instance FROM workflow.
Is this trying to stop the Forms process that started the workflow or are you trying to do something else?
Miruna, thanks for your reply.
I didn't originally think of starting a workflow from Forms, but it could work that way. Basically, I am using workflow to check the status of a related item in another database, and if that item has been marked as cancelled, then I need to stop the related Forms instance.
So the workflow could be called from Forms, but my original thought was to have the workflow run on a schedule independent of Forms.
Thanks in advance for your help.
It think it would be easier to control if you do it as part of the Forms process rather than as a scheduled workflow. Just add a Workflow task in your Forms process and have it call the workflow that will do the lookup in the other database. Set Forms to wait for workflow completion and have the instance pass back some variable with Set Business Process Variables. Once Workflow completes the lookup and signals back to Forms, you Forms process can go to a gateway that can check if the variable is set to the right value and flow into a termination action if it is.