Automation Scripts run on the "server side" (see Note 1), so you cannot use them instead of beans. However, you may be able to hook a button on the dialog to an Action associated with an Action Launch Point on an Automation Script and have that script do the copying. The catch is that you can't have the script close the dialog or do other UI things like bringing up the "longop" indicator / spinny wheel.
A good warning when getting into Automation Scripting is to be careful to not think the only way to do things in Maximo is with Automation Scripting. It is super tempting when holding the Automation Scripting hammer to think of all problems as nails, but sometimes a hammer isn't the right tool for the job. For example, a crossover domain may solve the problem you are facing and would perform better and be more supportable than a customization / automation script. (Yes. Generally speaking, you should consider automation scripts to be UNsupportable customizations, not supportable and upgradeable configurations.)
Your assumption that automation scripting is a "replacement for MBO level class execution" is almost accurate. It is more of a no-outage-required tool for customizing MBOs -- which is probably what you meant, but not quite what you said.
Note 1: Basically all of Maximo technically runs on the server in a WebSphere or WebLogic JVM / application server. But in the application server, Maximo is split into different modules, such as "businessobjects" or "mbo", "maximouiweb", "meaweb" and so on. The term "server side" in reference to Maximo means "in the businessobjects module", where the MXServer lives. On the other hand, beans, for example, live in the maximouiweb module, which is considered "client side" or "UI" and which serves up / interacts with the "browser side".
Update 2022-11-25: Note 2: Maximo version 7.6.1.2 introduced some access to the UI from automation scripts, courtesy of service.webclientsession()
and some other methods. It also facilitated access to the UI through psdi.common.context.UIContext.getCurrentContext().getWebClientSession()
, which some have found works better than service.webclientsession()
. Using these new methods, it is possible to open and close dialogs and do some other interesting things. However, it is still a mistake to think of automation scripting as being similar to JavaScript in a browser, and I recommend avoiding dependence on access to WebClientSession
where possible.