Siebel排序不起作用(但它在数据库中)

时间:2015-10-28 12:15:37

标签: database sorting siebel

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

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

日期排序(以Siebel显示)

  • 二〇一四年十月二十○日
  • 2014年10月25日
  • 二〇一四年十月一十八日
  • 2014年10月17日
  • 2014年10月16日
  • 2014年10

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

  • 2014年10月25日
  • 二〇一四年十月二十○日
  • 二〇一四年十月一十八日
  • 2014年10月17日
  • 2014年10月16日
  • 2014年10

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

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

2 个答案:

答案 0 :(得分:0)

这个命令没有任何意义。在这种情况下,我不会责怪缓存,我宁愿说Siebel根据另一个字段/列来排序数据,这与您在applet中更新和查看的字段/列不同。

您可以通过启用 SQL假脱机来查看实际发生的情况,这将生成执行每个SQL语句的大日志。最简单的方法是使用专用/开发人员/厚Web客户端。你只需要在你的shorcut命令行中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列不会是您更新的列。

答案 1 :(得分:0)

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