So we recently started working with classic workflows and things have been turning out great. But we are having an issue where once a ticket has been attached to a parent, and the child ticket has a work flow attached to it. The 'Close All Children' Action from the parent fails due to there being open tasks in the child ticket or tickets.
We are looking to:
1)Add/Edit functionaility that would be similar to the 'Close All Children' function, to change the status of a workflow task status to a completed one. Now we also run into a delema where, technically the child ticket wasn't resolved, but that will have to be a discussion among our clients and the analsyts.
What I found here looked promising Change status for all child ticket , but I was hoping to get the full solution. The link to the servicedeskusers.com site doesn't work for me.
2) Using macros check to see if the ticket has a parent, and if yes, then cancel all workflow tasks if there are any. This way the Close All Children option will work.
3) If there is some way that when a solution is logged for a parent request/incident, that same log solution can carry over to the child records. Then I would need something similar to the cancelled status on a CR ticket, to take what ever status we use in the log solution to set the work flow tasks to a complete status.
I know this is asking for a lot, but it is just a complicated solution that our team needs to address.
Although it blows out your workload in the short term, maybe CA PAM would be a way to handle this. As I understand it, it is far easier to write conditional code checks here, than to try and do so within SDM. Sorry that I don't have any specifics on how to do this, just the idea that it may be a better fit.
Note that it isn't an oversight that the Close All Children does not close out open Workflow Tasks. This is a check to prevent tickets from being closed accidentally. See here for some similar advice:
Bypassing Status transitions when closing all chil - CA Knowledge
You could log an Idea here in CA Communities for this behaviour to have an option to change it.
Otherwise, you've got a bit of work ahead of you - as I see you've noticed. Although that specific ServiceDeskUsers thread is not at that link, if you enter general terms such as "servicedeskusers Propagate_Status_to_Children" into a web search, you'll come up to other links that reference it and which have additional information. (Warning - it gets horrid fast.) You may even be lucky to come across a Google Cache page to the original, although I haven't tried that.
Eg: Resolved: Problem developing customization to set child solutions - Customizations / Modifications - ServiceDeskUsers
The other reason that it may be worth investing the time into the CA PAM development, is that you're more likely to get a solution that will be robust between versions of SDM. Looking at those ServiceDeskUser posts, I see phrases such as "This used to work, but . . ." which is not uncommon with custom SPL code.
Sorry that I don't have better or more technical news.
Also note that you may hit limits around 500 if attempting to close a lot of child tickets.
Does any site have experience with closing out Children with open Workflow Tasks?
As Darcey suggest the quickest and easy approach will be to write a small spel or action macro that will set the child(s) to Cancel status. This way all workflow tasks will be cancelled automatically as OOB functionality(at less this was working for CO and will reuire testing for other ticket type).
In the same course of changing the status you can of course manipulate others fields like adding a solution.
My 2 cents
I agree with you that this may be more flexible to implement using PAM. However I have never understand why CA didn't have a better integration between the two.
This is really not user friendly to have two jump to different interface to take action in your flow (more specifically for end user/manager approvals).
Up to a point that to remediate in some implementation we did a combination of both
where classic workflow task trigger PAM to handle the business logic and set back the different tasks/action in the classic workflow allowing to be fully transparent for the user.