【问题标题】:Siebel policy executes twice when it should only execute onceSiebel 策略在应该只执行一次时执行了两次
【发布时间】:2011-07-05 01:00:48
【问题描述】:

我的问题是一个策略运行了两次,而不是一次。

当机会字段 [status] 更改为“关闭”时,该策略运行。该策略执行一个工作流,但是当我更改该字段时,该策略会运行两次,以 2-15 秒的延迟间隔执行两次工作流(为该机会创建一个活动)。

我搜索了该字段中是否有另一个策略正在运行,并且我已确认该策略运行了两次(完全相同的策略)。我尝试在工作流中进行查询和决策点,以“验证”是否创建了一个活动并且它有效,但前提是策略运行延迟 > 9 秒。如果它的工作时间小于这个值,则工作流会运行两次。

我该如何解决这个问题?

【问题讨论】:

    标签: workflow crm siebel policies


    【解决方案1】:

    工作流程策略用于管理数据库触发器。触发器在 s_escl_req 表中创建了一条记录,所以看看这里发生了什么。那么:

    • 确保您只有一个 Workflow Monitor 代理
    • 运行生成触发器并重试。

    如果您想更详细地调试,请查看 SIEBEL_ROOT\siebsrvr\trigger.sql 文件以查看您的表和字段是否出现了两次。如果是这种情况,您可能希望使某些政策过期。

    PS:解决这个问题的正确方法是在metalink上搜索...

    【讨论】:

      【解决方案2】:

      我会这样做:

      1. 使用数据库实用程序检查 Opportunity 表(我认为是 S_OPTY)上的数据库触发器,看看是否有两个意外触发器;工作流程策略的行 ID 应该在那里。如果是这种情况,请按照前面的答案删除并重新生成触发器。

      2. 如果不是,请查看 S_ESCL_REQ(发送即时触发器)和 S_ESCL_STATE(发送延迟触发器)中发生的情况,并查找 BT_ROW_ID 与 S_OPTY 记录的 ROW_ID 匹配的记录。这将有助于进一步调查。回帖!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-10-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多