猿问

Maximo中的Python交互式shell?

在 Maximo 7.6.1.1 中,是否可以按需执行 Python/Jython 脚本?


例如,在其他软件如 ArcGIS Desktop 中,应用程序中有一个称为 Python Window 的窗口:

在 ArcGIS python 窗口中,我可以编写任何我想要的脚本。

  • 例如,我可以编写一个脚本,循环遍历表中的记录并根据特定条件更新值。我可以按需执行。


有没有办法在 Maximo 中做同样的事情?也许在 Eclipse 中?


守候你守候我
浏览 139回答 3
3回答

慕田峪9158850

它不受支持,但您可以在 autoscript 应用程序中创建并授予自己 EXECUTE sig 选项。这将启用执行操作,允许您按需执行脚本。但是,由于没有使用启动点来提供上下文,因此您可能习惯使用的隐式变量和其他上下文将不可用。“按需自动脚本”是我所谓的脚本,我开发的目的是从该执行操作中执行。我已经编写了 On Demand 脚本来执行诸如重新同步嵌套工作流或准备我们的数据以进行升级之类的事情。On Demand 脚本虽然创建方式相同,但与 7.6 文档所称的“库脚本”的不同之处在于,即使库脚本不是(必须)从它们自己的启动点调用,调用它们的脚本通常也提供一些上下文/隐式变量。On Demand Autoscript 通常看起来像这样,您可以在 Maximo API JavaDocs 中查找文档。from psdi.server import MXServerserver = MXServer.getMXServer()security = server.lookup("SECURITY")userInfo = security.getSystemUserInfo()mboSet = server.getMboSet("SOMEOBJECT", userInfo)try:    mboSet.setWhere("somecol = 'somevalue'")    mbo = mboSet.moveFirst()    while mbo:        print "do something with mbo %s: %s" % (            mbo.getUniqueIdentifer(), mbo.getString("DESCRIPTION"))        mbo = mboSet.moveNext()    if "applicable":        mboSet.save()finally:    if not mboSet.isClosed():        mboSet.close()综上所述,您应该可以轻松地“编写一个循环遍历表中的记录并根据特定条件更新值的脚本。我可以按需执行它。”

白衣非少年

您可以使用以下代码从任何 Java 类(在 maximo 中)执行脚本——即使没有启动点:ScriptDriverFactory.getInstance().getScriptDriver(ScriptName).runScript(ScriptName, Context);...whereContext是脚本中可能需要的所有变量的哈希图。

蝴蝶刀刀

按需运行自动化脚本的说明(添加 EXECUTE sig 选项):应用程序设计器 --> 自动脚本:创建 EXECUTE sig 选项(添加/修改签名选项)选项:执行描述:执行脚本高级签名选项:无确保您的安全组在自动化脚本应用程序中具有该 EXECUTE sig 选项:(它可能默认启用)截屏注销 Maximo 并重新登录(以使用刚刚进行的更改更新您的缓存权限)。创建自动化脚本没有发射点?自动化脚本应用程序 --> 创建 --> 脚本打开自动化脚本。执行脚本操作将出现在左窗格中。使用它按需运行自动化脚本。截屏
随时随地看视频慕课网APP

相关分类

Python
我要回答