如何使用 SQL 查询 Maximo 域?

Posted

技术标签:

【中文标题】如何使用 SQL 查询 Maximo 域?【英文标题】:How to query a Maximo domain with SQL? 【发布时间】:2019-09-27 14:41:05 【问题描述】:

我在 Maximo 7.6.1.1 中有一个名为 DIVISIONS 的域。



我想编写一个查询 DIVISIONS 域以获取 VALUE 和 DESCRIPTION 字段的 SELECT 语句。

查询会变成一个视图;通过 dblink 在单独的数据库中使用。

【问题讨论】:

【参考方案1】:

只需在MAXDOMAIN表中添加标识域描述和类型(DOMAINTYPE)。

对于表域和交叉域(都从数据库表中查找值,MAXTABLEDOMAIN 中将有一个附加条目。此记录上的 OBJECTNAME 属性将标识所引用的源表。

对于跨域域,CROSSOVERDOMAIN 表将包含许多目标域的源和目标对 - 使用时将导致源值从标识为 OBJECTNAME 的表复制到与跨界域。

您可以通过查看 MAXATTRIBUTE 表(WHERE ATTRIBUTENAME = 'target attribute' AND OBJECTNAME = 'target_object' 然后检查 DOMAINID 值)来查看哪些域与各个属性相关联

:)

【讨论】:

【参考方案2】:

我可以查询ALNDOMAIN表(ALN代表字母数字):

select
    *
from
    alndomain
where
    domainid = 'DIVISIONS'


对于它的价值,还有一个 parent 域表(因为缺少更好的词)。

select
    *
from
    maxdomain
where
    domainid = 'DIVISIONS'

【讨论】:

【参考方案3】:

在 maximo 中,有一个包含所有类型域条目的表。 为了查询该表,您可以像这样查询

SELECT * FROM MAXDOMAIN WHERE DOMAINID='DOMAINID' AND DOMAINTYPE='SYNONYM';

maximo 根据域的类型有单独的表格。

SELECT * FROM NUMRANGEDOMAIN WHERE DOMAINID='NUMRANGEDOMAINID';

SELECT * FROM CROSSOVERDOMAIN WHERE DOMAINID='CROSSOVERDOMAINID';

SELECT * FROM ALNDOMAIN WHERE DOMAINID='ALNDOMAINID';

SELECT * FROM SYNONYMDOMAIN WHERE DOMAINID='SYNONYMDOMAINID';

【讨论】:

PS:表域没有单独的表,并且 domainId 不是您的域的名称 是的,有 - MAXTABLEDOMAIN(包含交叉域和表域定义,请参阅 CROSSOVERDOMAIN 了解其他字段级别详细信息)

以上是关于如何使用 SQL 查询 Maximo 域?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 maximo 中查询邮件跟踪详细信息

maximo开发中可能用到的一些sql(各级菜单查询完整删除应用)

如何在 maximo 中隐藏具有类似于银行帐号的特殊字符的字段值

如何在 Maximo 中的任何地方保存记录

如何将cmd中的命令输出到文本区域

我该如何在MAXIMO中管理货架到期的项目