SAP_WF: Customer Connection – Event Linkage setting
Here’s one of the items off my wishlist for the SAP Customer Connection that is in the collection phase right now.
To learn more about Customer Connections, you can visit Influence.sap.com and search for Workflow, or just click here.
How may times have you discovered that through some fluke – whether configuration or user action – a workflow may get triggered twice on the same object? Or, heaven forbid, many more than two times?
You can do your due diligence. You can implement a call to SAP_WAPI_WORKITEMS_TO_OBJECT in a Check Function Module and look to see if there are any workflows on this object. You can add steps in your workflow to look for other workflows. There are (clearly) a variety of ways to check this and stop it.
But suppose you were able to tick a box on the event linkage?
As a workflow developer or a workflow administrator, your life immediately became better. You would not have to clutter up your workflow with these tasks.
You would not have various check functions for various business objects all performing the same functionality. When you look at the event linkage (and let’s admit it, we all do) you would see, right there in plain sight, a setting that says something like ‘Prohibit multiple instances’ or maybe ‘Stoppen mehrere Instanzen’. 😉
I could probably not count the number of times I’ve been burned (usually in Development, thank goodness) by a workflow that accidentally gets triggered multiple times. I’ve even heard anecdotal stories of someone who accidentally triggered 10s of thousands of workflows – and yet the SAP system itself never even hiccupped.
But wow, it would sure be nice if all the current and future Workflow Developers and Administrators could count on such a setting, if that was their business requirement.
What do you think? And are you interested in joining the SAP Customer Connection for Workflow? Please do sign up if you’re interested!
Cheers,
Sue
I think that this is a good idea. I've had to implement those solutions (check function, additional step in the workflow) to prevent another workflow instance starting.
Anyhow, there is one detail that should be perhaps paid attention. For example, just now I am looking into a solution that has two workflows. Both of them use the same business object. Both are started with different events of the same business object. Both workflows can have an active running instance at the same time. If I checked this new checkbox, the second workflow could not be started, if the first workflow was already running, or?
Of course it is impossible to please everyone, and of course I should not use this new functionality, if it messes up my solution. Anyhow, if this new functionality will be implemented, it should be clearly documented that what it does or doesn't do. Does it prevent new workflows from starting, if there is any workflow instance with the same object instance? Does the existing workflow(s) need to be in process. What if it is completed, can you then start a new workflow? Can this be "event-depended" (not based on SAP_WAPI_WORKITEMS_TO_OBJECT but something more fancier that takes into account that which event was used to start the existing workflow instance(s))?
Kind regards,
Karri
Hi Karri,
Thanks for your input. In my mind, it is only running instances of Workflow against the same business object instance that are problematic. In some cases it is the same event firing that is an issue - and in some cases a different event can also cause problems.
In the situation you speak of, since there are different events triggering the workflows, then I don't think this switch (which I envision on the event linkage table, so applicable only to one specific event) would have any impact.
The details of my imaginary solution would need to be thoroughly thought out (and of course, clearly documented, as is all SAP functionality 😉 )
Please keep the gears turning! Do *you* have wishlist items?
Cheers,
Sue
Hi Sue
This option will be good atleast we do not have to copy paste and edit 🙂
Thanks
Arghadip
Hi Susan,
I agree, the best option would be to just check the active running instances. The option could be named something like "Do not start workflow, if there is already an active instance". Then it would be clear for everyone.
I have one item for the wishlist: Enhance the standard email sending step (or create a new enhanced version of it). I want to be able to send emails that are in HTML format (=e.g. put hyperlinks easily inside the text).
Kind regards,
Karri
Hi Karri,
That would make a wonderful blog post (hint hint).
Sending emails in HTML would be amazing - but would we still have to use the <gasp> SAPScript editor?
Please consider adding your own thoughts in a blog, maybe beginning with 'SAP_WF:Customer Connection -' so we can track all the great ideas (and they don't all seem to originate with just one rabble-rouser 😉 )
Cheers,
Sue
Hi Susan,
Great idea I have the same problem all the time, for example with logistic invoices which can be "saved as completed, saved as completed, saved..." .
You have my support, I also wish the same could be done for the GOS (generic object services) manual start.
Ronen
It sounds like you need to write a blog about what your proposal for GOS is? I recommend using the 'WF:Customer Connection' as a preface?
Ramki Maley also proposed creating a Wiki to contain all our wishes. Which is a great idea IMHO, so perhaps he or I will set one up soon.
Hopefully, all the lonely WF-ers out there will have something to contribute!
Cheers!
Sue
Hello Sue,
that solution could be name "Use singleton workflow instance" and the implementation could follow a solution that I've blogged here ... some time ago:
http://scn.sap.com/community/bpm/business-workflow/blog/2013/05/05/the-super-singleton-concept-for-workflow-instances-3-step-approach
Florin
Hi Florin,
This is very good (of course 😛 ) but wouldn't it be great to have this baked in by SAP so that customers didn't have to?
Please take a look at Influence.sap.com and find the Workflow 2015 topic (POST data) and see where you have any interests? This Influence activity is open to all and it would surely benefit if we had your input!
Thanks,
Sue