Как вызвать скрипт автоматизации из скрипта автоматизации в Maximo - PullRequest
0 голосов
/ 14 апреля 2020

Может кто-нибудь сказать мне, как вызвать скрипт автоматизации действий из скрипта автоматизации в Maximo. Я достиг этого раньше, но не могу вспомнить / найти процедуру, используемую для вызова сценария действия.

1 Ответ

4 голосов
/ 15 апреля 2020

При вызове другого сценария не имеет значения, является ли он сценарием действия или сценарием, просто находящимся там без точек запуска (или даже с тем, который уже запускается самостоятельно, например, с точкой запуска сохранения объекта) , В приведенном ниже коде предполагается, что Jython и Maximo имеют как минимум 7.6.0.x (я точно помню, в какую версию была добавлена ​​эта функция).

Во-первых, вам необходимо убедиться, что вы импортировали java .util.HashMap в твой сценарий Затем вы начинаете с создания нового HashMap. Это контекст скрипта, в который вы будете помещать все ваши неявные переменные для другого скрипта. Затем вы используете метод invokeScript неявного service или контекст скрипта (если это в скрипте интеграции). Первый параметр этого метода - это имя нового скрипта, который вы хотите вызвать, а второй параметр - ваш HashMap, который является контекстом для нового скрипта.

from java.util import HashMap

subScriptCtx = HashMap()
subScriptCtx.put("mbo", woMbo)
subScriptCtx.put("var1", someObject)
subScriptCtx.put("var2", MXServer.getMXServer().getDate())
...
service.invokeScript("OTHERSCRIPTNAME", subScriptCtx)
...