【问题标题】:Maximo: Mimic Workflow assignments with an SQL queryMaximo:使用 SQL 查询模拟工作流分配
【发布时间】:2019-09-14 18:55:12
【问题描述】:

我想编写一个 SQL 查询来模拟 Maximo Start Center 分配部分中的结果。这些分配是工作流程分配。

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

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

但是,查询返回的工单比启动中心分配中显示的要多。

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

【问题讨论】:

  • 您好,您对工具应用了哪些过滤器来显示该结果?这是否包含在共享的示例数据中。与目标 (5) 一样,方差 (-5)。以及您要选择的列,我认为('CM','PM')中的工作类型对于 WO1605,WO1615 来说是独一无二的
  • 您登录的用户是否无权访问其他网站的 WO?

标签: sql oracle select maximo


【解决方案1】:

如果您突出显示的 portlet 是针对 WORKORDER 的结果集,我的其他答案将起作用,但事实并非如此。您突出显示的 portlet 是 Workflow Inbox,它基于 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 注释,您可以在其中添加 unioned 查询以针对 PRPMASSET 或其他任何内容。

【讨论】:

    【解决方案2】:

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

    1. 转到日志记录应用程序
    2. 选择sql Root Logger 并添加一个日志级别为INFO 的WORKORDER.WORKORDER(即来自DB Config 的SERVICE.OBJECT)的“子”Logger。
    3. 准备好打开您的日志文件。
    4. 加载您的启动中心。
    5. 打开您的日志文件。

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

    【讨论】:

    • 写完这个答案后,我意识到您突出显示了一个工作流收件箱 portlet,而不是结果集 portlet。我将把这个答案留在这里,因为我认为它通常很有帮助。如果它被否定,我会删除它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-02
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    相关资源
    最近更新 更多