我想设置从 Maximo 7.6.1.1 到外部系统的出站集成。Maximo 和外部系统都有 Oracle 12c 数据库。
在外部系统中,我想从 Maximo WORKORDER 表中选择打开的 WO,以进行近实时数据分析。
标准集成选项似乎是:
我注意到物化视图通常不被认为是有效的集成选项。
例如,我可以通过 dblink 在 Maximo.WORKORDER 表上的外部系统中创建物化视图。物化视图可以通过多种不同的方式设置,包括按计划刷新、近乎实时等。
据我所知,物化视图是一种相当强大的集成技术。但是,我没有听说过任何同行为了 Maximo 集成目的而使用物化视图。
为什么物化视图不是 Maximo 集成的合适选择,是否存在技术原因?
例子:
两个数据库都需要是后期模型 Oracle dbs 才能实现物化视图,但情况并非总是如此。
The Definitive Guide to Jython 的附录 A 描述了下载 SetupTools 以与 Jython 一起使用。
https://jython.readthedocs.io/en/latest/appendixA/
这向我表明应该可以从 Maximo 的 Jython 自动化脚本中下载和使用 SetupTools(在我的例子中是 v7.6)。这本书将我们指向以下 URL 以复制将执行此操作的 Jython 脚本:
http://peak.telecommunity.com/dist/ez_setup.py
我在上面的脚本中添加一行来调用函数“use_setuptools”:
use_setuptools()
Run Code Online (Sandbox Code Playgroud)
然后我在 Maximo 应用程序上创建一个按钮并将上述脚本与按钮按下相关联,我收到以下错误:
系统消息 BMXAA7837E - 发生错误,导致 EZ_SETUP 启动点的 EZ_SETUP 脚本无法运行。urllib2.HTTPError: HTTP 错误 403: SSL is required in at line number 280
堆栈跟踪指向由“use_setuptools”调用的函数“download_setuptools”中的以下行:
src = urllib2.urlopen(url)
Run Code Online (Sandbox Code Playgroud)
这似乎是因为请求的 url,在我的情况下:
http://pypi.python.org/packages/2.5/s/setuptools/setuptools-0.6c11-py2.5.egg
...在到达以下网址之前重定向了几次:
请注意,该 url 使用 HTTPS 而不是 HTTP。以下说明了为什么会这样:
https://sourceforge.net/p/pypi/support-requests/300/
Maximo 包含的 jython.jar 不包含 ssl 模块,因此我们可以:
我正在安装(很好地尝试)Maximo Asset Management,并且已经在 Windows 2008 R2 服务器上安装了 MS SQL。我已经安装了中间件,现在正在尝试执行安装 Maximo 7.5 的步骤。我试过在谷歌上搜索这个错误消息,但是上面只有 1 个没有答案的线程,而且消息本身非常模糊和神秘。有没有人以前遇到过这个问题,或者可以就我应该研究什么来解决这个问题提供任何建议?
马克西莫 7.6.1.1:
我想通过在单独的系统中调用 URL 来运行 Maximo 自动化脚本。
是否有可能做到这一点?
在 Maximo 的 WOTRACK 应用程序中,我需要找到某种方式以编程方式访问当前窗口查询的 where 子句。很明显,它存在于 Maximo 中的某个地方,因为您可以在 UI 中的 Advanced Search > Where Clause 下访问它。我需要找到某种方式以编程方式获取此信息并将其传递给我正在使用的应用程序。
过去,我通过让用户在 Maximo 中打开 where 子句窗口,然后只检索包含 where 子句的 textarea 元素的值,设法将这些数据结合在一起。我希望找到某种方式通过 Maximo 的 Java 类访问它,这样用户就不必打开该窗口。我已经翻阅了 Maximo 的 Javadocs,我可以看到有一个 WhereClauseTextArea 类,我相信它负责创建文本区域。我希望能够将 UI 会话 ID 传递给 Maximo 的 Java 类并取回列表的当前 where 子句。有没有一种简单的方法可以做到这一点?我希望能够使用 JavaScript 从前端访问它,或者使用 Java 从 Maximo 的后端访问它,或者作为最后的手段使用自动化脚本。
我们正在基础 Maximo 之上构建一个工作订单管理集成层,通过提供的 REST/OSLC API 进行通信,但在查找工作订单可以转换为给定工作订单的所有可能状态时,我们遇到了困难。
是否有 REST/OSLC API,或者某种将其公开到外部的方法(例如某种一次性配置导出),以及给定工作订单可能的状态转换?
这应该考虑我们对 Maximo 所做的所有自定义,包括附加状态、额外条件等。我们的目标版本是 7.6.1。
关于 Maximo 公式的 PDF提到了 MAXVARS:
Maximo 公式是继 Maximo 脚本之后 Maximo 定制的合理下一步。Maximo 公式遵循类似 Excel 的语法来定义使用变量输入来计算值的表达式。与脚本编写不同,在脚本编写中,大多数变量需要预定义并绑定到某些 Maximo 属性/属性/ MAXVARS,公式表达式可以在表达式内使用任何这些 Maximo 属性/属性/ MAXVARS ,而无需预定义或绑定它们。
我假设 MAXVARS 是某种全局变量。
但是当我搜索文档时,我没有看到任何详细解释它们的内容。
什么是 MAXVARS 以及它们如何使用?
描述 maximo 7.5 中的关系以及所有详细信息,包括后端数据库流程。
假设我在 maximo 7.5 资产管理中创建了 Owner_group 和 person_group "owner_group=:person_group" 之间的关系,那么这个查询的实际含义是什么。我对此很困惑。
您能解释一下数据库中的过程吗?
请考虑以下场景,我在工作订单应用程序的 ABC 选项卡中。我在 ABC 选项卡下有表 XYZ,它使用 WORKORDER 和 SERVRECTRANS 对象之间的关系显示 SERVRECTRANS 表中的值。
现在我将在 XYZ 表底部引入新的“选择项目”按钮,该按钮使用 WORKORDER 和 CONTRACTLINES 对象之间的关系取值 CONTRACTLINES 对象。到目前为止一切都很好。
当我在此“选择项目”对话框中单击“确定”时,我希望将值从对话框复制到 SERVRECTRANS。WO.class 中没有可用作对话框值的开箱即用方法,而其他按钮则有。
如果您在 WO 应用程序中看到其他表,您可以看到对话框值,如“copyServiceItemsToWpSerSet”。这是将值从 1 mboset 复制到另一个 mboset 的开箱即用类。
我可以编写像上面那样的新方法,也可以编写单独的新 bean 类来将选定的对话框值复制到 SERVRECTRANS,但我想检查在这种情况下使用 Auto-Script 的可能性。
我认为自动脚本是 MBO 级别类执行的替代品,但我仍然想探索。
提前致谢。
嗨,我正在 Maximo 中编写一个自动化脚本,该脚本触发 cron 任务。我在打印语句中插入换行符时遇到问题。我试过 '\n' & 只是在我的打印之间添加一个 print() 。两者都不起作用,我所有的打印件都被打包到我的日志文件中的一行中。
我调用此 MAXIMO REST API 来获取属于某个组的事件:
https://doamin/maximo/oslc/os/mxosincident?lean=1&oslc.pageSize=10&oslc.select=*&oslc.where=ownergroup="I-AMS-TEST-VG"
Run Code Online (Sandbox Code Playgroud)
上面的查询工作正常,我得到了属于 I-AMS-TEST-VG 0-9 页的所有事件。
我想根据事件状态进一步过滤它 - INPROG、QUEUED、SLAHOLD
所以我在 WHERE 子句中添加了这个附加子句:
https://domain/maximo/oslc/os/mxosincident?lean=1&oslc.pageSize=10&oslc.select=*&oslc.where=ownergroup="I-AMS-TEST-VG"&status IN ["INPROG","SLAHOLD","QUEUED"]
Run Code Online (Sandbox Code Playgroud)
但上面的查询正在获取所有事件状态。根据 Maximo 文档,我发现上面的语法没问题。
任何帮助将不胜感激。
谢谢R
我正在尝试使用来自 Maximo 76 Scripting Features(PDF 下载)的 JS 脚本。
importPackage(java.util)
importPackage(Packages.psdi.server)
var ctx = new HashMap();
ctx.put("url","http://localhost:7001/maximo/oslc/script/countryapi?_lid=wilson&_lpwd=wilson");
service.invokeScript("LIB_HTTPCLIENT",ctx);
var jsonResp = ctx.get("response");
var countries = JSON.parse(jsonResp);
Run Code Online (Sandbox Code Playgroud)
当我执行脚本时,我收到此错误:
ReferenceError: "importPackage" is not defined in <eval> at line number 1
Run Code Online (Sandbox Code Playgroud)
为什么我收到这个错误?
maximo ×12
integration ×2
automation ×1
java ×1
javabeans ×1
javascript ×1
jython ×1
middleware ×1
nashorn ×1
oracle ×1
package ×1
parameters ×1
ssl ×1
url ×1
variables ×1
websphere-8 ×1
where-clause ×1