如何使用 SQL 查询 Maximo 域?

How to query a Maximo domain with SQL?

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



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

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

如何使用 SQL 查询 Maximo 域?

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

select
    *
from
    alndomain
where
    domainid = 'DIVISIONS'


值得一提的是,还有一个 parent 域 table(找不到更好的词)。

select
    *
from
    maxdomain
where
    domainid = 'DIVISIONS'

在 maximo 中,有一个 table,其中包含所有类型域的条目。 为了查询那个 table 你可以查询 like

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

maximo 根据域类型有单独的 tables。

SELECT * FROM NUMRANGEDOMAIN WHERE DOMAINID='NUMRANGEDOMAINID';

SELECT * FROM CROSSOVERDOMAIN WHERE DOMAINID='CROSSOVERDOMAINID';

SELECT * FROM ALNDOMAIN WHERE DOMAINID='ALNDOMAINID';

SELECT * FROM SYNONYMDOMAIN WHERE DOMAINID='SYNONYMDOMAINID';

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

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

对于交叉域,CROSSOVERDOMAIN table 将包含目标域的多个源和目标对 - 使用时将导致源值从 table 标识为OBJECTNAME 到与交叉域关联的目标 table。

您可以通过查看 MAXATTRIBUTE table(WHERE ATTRIBUTENAME = 'target attribute' AND OBJECTNAME = 'target_object' 然后检查 DOMAINID 值来查看哪些域链接到各个属性

:)