【问题标题】:Siebel sorting not working (but it does in database)Siebel 排序不起作用(但它在数据库中起作用)
【发布时间】:2015-11-13 13:26:53
【问题描述】:

所以我正在处理客户请求的 Siebel 更改,并且必须测试它是否正常工作。由于我们没有被授予从 Siebel 本身编辑某些内容的权限,因此我们必须直接访问数据库(某些记录变为只读)。

我们有一个小程序,它在视图中列出了用户的“操作”。在修改数据库中的数据之前,排序工作正常。您可以输入一条记录,然后它变成只读的。我访问了数据库并修改了测试日期,令我惊讶的是,Siebel 不再正确地对列表进行排序。数据库 (SQL Server) 按日期排序很好,但 Siebel 会执行以下操作。

日期排序(显示在 Siebel 中)

  • 2014 年 10 月 20 日
  • 2014 年 10 月 25 日
  • 2014 年 10 月 18 日
  • 2014 年 10 月 17 日
  • 2014 年 10 月 16 日
  • 2014 年 10 月 15 日

日期排序(显示在数据库中)

  • 2014 年 10 月 25 日
  • 2014 年 10 月 20 日
  • 2014 年 10 月 18 日
  • 2014 年 10 月 17 日
  • 2014 年 10 月 16 日
  • 2014 年 10 月 15 日

这不仅限于小程序本身,还限于业务服务检索的内容。我们检查了小程序和 BC,但找不到任何排序规范或任何可能导致这种情况的代码。这就像在 Siebel 中缓存了取决于该日期字段的排序顺序。

关于为什么会这样的任何想法?

【问题讨论】:

    标签: database sorting siebel


    【解决方案1】:

    这个顺序没有任何意义。在这种情况下我不会责怪缓存,我宁愿说 Siebel 正在根据另一个字段/列对数据进行排序,这与您在小程序中更新和看到的不同。

    您可以通过启用 SQL 假脱机 来查看实际发生的情况,这将在执行每个 SQL 语句时生成一个大日志。最简单的方法是使用专用/开发人员/厚 Web 客户端。您只需在快捷方式的命令行中输入add the /s parameter。例如:

    "D:\Siebel\Client\bin\siebel.exe /c D:\Siebel\publicsector.cfg /s D:\sql_trace.log"
    

    如果您无法访问专用客户端,您也可以enable the spooling on the server。或者,如果 SQL Server 提供类似于 Oracle 管理控制台的功能,您可以监控数据库。

    使用这些方法中的任何一种,您都应该能够在访问业务组件时确定 Siebel 正在运行的确切 SELECT。我的猜测是 ORDER BY 列不会是您更新的列。

    【讨论】:

      【解决方案2】:

      这是哪个业务组件?是行动吗?请检查此 BC 的 BC 用户属性“所有模式排序”。如果设置为 TRUE,它将忽略您提供的按 U1 索引排序的任何搜索规范。 S_EVT_ACT 表 (Action) 的 U1 索引是 ACTIVITY_UID,因此它将按此排序,而不是按日期排序。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-09-09
        • 2016-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-29
        相关资源
        最近更新 更多