AndyHill Posted December 10, 2019 Posted December 10, 2019 Not sure if anyone else has this problem or if this has been discussed previously (have searched the forums). Our change requests go through several stages of authorisation: CP1, CP2 etc. These stages require a completion of a task from the owner of the change at which point the Change Manager is contacted to approve the next level. This issue we have is that your change manager recently left and whilst I have updated the BPM for new requests all the old requests that are still in progress break when getting moved to the next stages. Here is the error message returned for this workflow: Xmlmc method invocation failed for BPM invocation node 's1/approval-00dccce6-55ba-4fb6-0c90-c1e4d3d2879e': <methodCallResult status="fail"> <state> <code>0200</code> <service>task</service> <operation>taskCreate2</operation> <error>The specified user 'USERNAME' does not exist</error> </state> </methodCallResult> Is there anyone to fix these with the live calls as having to recreate the change or resolve them without the relevant stages completed is not best practice and won't look great come audit time.
Gerry Posted December 10, 2019 Posted December 10, 2019 Hi Andy, Yes that is a pain, and it is not easy to solve. The problem is, when you get a running instance of a process, the process is snapshotted at the time of the process creation, so anything you code in there is there for the life of that process. This creates an interesting problem when it comes to auditing the data, because if you can just change the target of these (yet to be created) tasks, then you could possibly change data in a way that would not be desirable. it would perhaps seem more sensible to have these tasks assigned to a role, rather than to an individual, then you will never have this problem as when someone takes over responsibility, you simply add them to the role and remove the outgoing person from the role. Is the an option for you? Gerry [edit] James answer below is also an option if you want to do it manually, you would need to know which processes you have in flight that are affected and go into each one, but as James rightly points out (and I had completely forgotten) is you can actually do this manually...
James Ainsworth Posted December 10, 2019 Posted December 10, 2019 Hi Andy, There is a feature for updating the individual BPM Instances that have already started. If you don't see this option at the top right of the list of BPM workflows, you will need to enable the following setting. From the list of BPM instances you can sort on the name of the BPM workflow and then edit each workflow based on the version. The editing only allows the changing of the options on the existing nodes. You can't add or delete nodes. But in your case if you are just changing who an authorizer is, then this may work for you. When viewing a BPM Instance it will highlight in green where the workflow is currently at. This way you only need to modify the instances that have not gone past your authorization node where the issue is occurring. You can use this same tool to fix the BPMs that have already failed on this authorization node. Hope this helps. Let me know if you have any questions. Regards, James 1
AndyHill Posted December 11, 2019 Author Posted December 11, 2019 @Gerry @James Ainsworth thanks both. Will be making use of both of these ideas.
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now