I'll start with the technical and then wrap up with the functional.
Indirectly, I highlighted a problem about this approach here: https://moremaximo.com/discussion/automatic-start-stop-asset-downtime-automation-script-is-blocking-wostatus-record#bm6da13bf0-6c2e-4716-bd45-1fc7f608ff50
If you want to save the record you should save via the appbean and not the mbo. When your launch point is an action, you can do something like:
appBean=service.webclientsession().getCurrentApp().getAppBean()
appBean.save()
service.webclientsession() won't be populated on Mbo level events (such as changing an attribute) but utilizing the UIContext typically works. You'd do something like:
from psdi.common.context import UIContext
appBean=UIContext.getCurrentContext().getWebClientSession().getCurrentApp().getAppBean()
appBean.save()
This approach triggers a save on the set but then fetches the Mbo again so it can be saved again.
With the technical out of the way... I hate the idea. Asking someone to save is a pretty common action in most web applications. I'm all for automating repetitive tasks but I don't view saving a repetitive task. Make sure they know how to use the keyboard shortcut to save as they may find that easier to add to their process.
Unless you tie the launch point to every attribute, meaning you're saving field by field, this will only work some of the time. And if you do it field by field and there are validation issues (IE you need an ASSETNUM, LOCATION, or GL Account on a WORKORDER before you can save it), you'll be causing an error that interrupts the user flow.
------------------------------
Steven Shull
IBM
------------------------------