如何以编程方式访问Maximo list where子句

时间:2019-06-21 15:47:12

标签: maximo

在Maximo的WOTRACK应用程序中,我需要找到某种方式以编程方式访问当前窗口查询的where子句。很明显,这存在于Maximo中,因为您可以在UI的“高级搜索”>“ Where子句”下访问它。我需要找到某种方式以编程方式获取此信息,并将其传递给正在使用的应用程序。

过去,我通过让用户在Maximo中打开where子句窗口,然后仅检索包含where子句的textarea元素的值,来掌握一种获取这些数据的方法。我希望找到通过Maximo的Java类访问它的方法,因此用户不必打开该窗口。我已经浏览了Maximo的Javadocs,并且看到有一个WhereClauseTextArea类,我相信它将负责创建文本区域。我希望能够将UI会话ID传递给Maximo的Java类,并获取列表的当前where子句。有一个简单的方法吗?我希望能够使用JavaScript从Maximo的前端进行访问,或者通过Java从Maximo的后端进行访问,或者使用自动化脚本作为最后的选择。

2 个答案:

答案 0 :(得分:3)

在Maximo 7.6.1.1 / Jython中,我们可以使用getWebClientSession()方法:

from psdi.common.context import UIContext

wclause = UIContext.getCurrentContext().getWebClientSession().getCurrentApp() \
    .getResultsBean().getMboSet().getUserAndQbeWhere()

service.error("The WHERE clause is : ", wclause);

答案 1 :(得分:0)

Maximo具有许多不同的where子句源(应用程序限制,对象限制,关系,QBE(示例查询)过滤器,站点限制等)。使用自动化脚本(Python或JavaScript),您应该能够从mbo.getThisMboSet().getUserWhere().getUserAndQbeWhere().getWhere()捕获所需的内容。正如评论者所指出的那样,.getCompleteWhere()也可能会有所帮助。

您可以在这些psdi.mbo.MboSet方法上找到JavaDoc,或者在其他here方法中找到“ where子句获取”方法。