Maximo:使用 SQL 查询模拟工作流分配

Maximo: Mimic Workflow assignments with an SQL query

我想编写一个 SQL 查询来模拟 Maximo Start Center 分配部分中的结果。作业是 workflow 作业。

我尝试查询 workorder table 并指定用户所在的 assignedownergroup

select
    *
from
    workorder
where
    status in ('WAPPR','APPR','INPRG')
    and assignedownergroup = 'FIRE'

但是,查询的工作订单 returns 多于启动中心分配中显示的工作订单。

如何编写查询来模拟启动中心中的工作流分配?

获取 SQL Maximo 的最简单方法是 运行 是:

  1. 转到日志记录应用程序
  2. Select sql 根记录器并添加一个 "child" 记录器WORKORDER.WORKORDER(来自 DB Config 的 SERVICE.OBJECT),日志级别为 INFO .
  3. 准备好打开您的日志文件。
  4. 加载您的启动中心。
  5. 打开您的日志文件。

Maximo 发出的用于加载结果集的 SQL 应该靠近日志文件的底部。

如果您突出显示的 portlet 是针对 WORKORDER 的结果集,我的其他答案会起作用,但事实并非如此。您突出显示的 portlet 是基于 WFASSIGNMENT where assigncode = 'userid'.

的工作流收件箱

模拟工作流收件箱的完整查询在 Oracle SQL:

中如下所示
select
    (select 'WO '||wonum||' ('||description||') is waiting for '||wfassignment.description 
        from workorder 
        where workorderid = wfassignment.ownerid
            and wfassignment.ownertable = 'WORKORDER'
        /* Union in other tables */) description,
    app
from wfassignment
where assignstatus = 'ACTIVE'
    and assigncode = 'JDOE'

我不确定作业描述中的 WO 前缀是从哪里来的。但是由于您可以根据自己的对象将工作流添加到自己的应用程序中,所以我认为它来自某处的元数据而不是代码。并且描述本身可能是 MAXMESSAGES.

中的格式字符串

您会注意到我的查询中的 Union in 注释,您可以在其中添加针对 PRPMASSETunioned 查询或随便。