Skip to content

Solution for “This item cannot be updated because it has been changed by another user or process”

Solution for “This item cannot be updated because it has been changed by another user or process” published on 10 Comments on Solution for “This item cannot be updated because it has been changed by another user or process”

If you saw the “This item cannot be updated because it has been changed by another user or process. To update the item, please close the item and open it again” exception then you know all that PAIN what filling engineers who implementing SCSM. But now we have THE SOLUTION.

The history of that exception is very-very long, but Microsoft stay on that and don’t want to fix. Full description of the problem you can find here and here. The idea how to fix this is pretty simple: check the different between changes made by current user and some background processes and if that changes are not affect same fields then do not throw the exception. And I still don’t understand why it was not implemented out-of-box.

But now THE MAN, the hidden Jedi of SCSM community, Aaron Croasmun, have created a solution to solve that problem. It’s called “Property Level Optimistic Concurrency control for console forms” and available on TechNet Gallery. It’s absolutely free and ready-to-use. Inside of the downloaded zip file you will find full and detailed instruction how to setup it so I will not describe it here. You can use it for out-of-form, with your customized form or even with your own forms. This is really great!

Now how it works. The logic behind that custom control is same as I wrote before: check if properties changed by user in console doesn’t conflict with properties changed by other processes (workflows, other users etc.). If there is no conflicts, the form will be saved without any prompts and error message.

But what if same fields was changed in different processes? In this case you will see the nice “resolve conflict” dialog and will able to select which changes should be saved:
image

That’s very easy to read:

  • Property: display name of the property where conflict found
  • Original value: value when form was opened by current user
  • Current CMDB Value: value in SCSM in the moment of saving
  • Your Value: value set by current user

You can choose any value to save.

This is GREATEST solution for SCSM at the moment! Thank you, Aaron, for that!

Please support Aaron by voting on TechNet Gallery.

Share

%d bloggers like this: