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

Database Siebel排序不起作用(但在数据库中起作用),database,sorting,siebel,Database,Sorting,Siebel,因此,我正在处理一个客户要求的Siebel更改,并必须测试它是否工作正常。因为我们没有从Siebel本身获得编辑某些内容的权限,所以我们必须直接转到数据库(一些记录变成只读) 我们有一个小程序,它在视图中列出了用户的“操作”。在修改数据库中的数据之前,排序工作正常。您可以输入一条记录,然后它变成只读。我访问了数据库并修改了测试日期,令我惊讶的是,Siebel不再正确排序列表。数据库(SQL Server)按日期进行排序,但Siebel将执行以下操作 日期排序(以Siebel显示) 2014年1

因此,我正在处理一个客户要求的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日
这不仅限于小程序本身,而且还限于业务服务检索的内容。我们检查了applet和BC,但找不到任何排序规范或任何可能导致此问题的排序代码。这就像是根据日期字段的排序顺序缓存在Siebel中


你知道为什么会这样吗?

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

通过启用SQL假脱机,您可以看到实际发生的情况,这将生成一个包含每个SQL语句的大日志。最简单的方法是使用专用的/developer/thickweb客户端。你只需要在shorcut的命令行中。例如:

"D:\Siebel\Client\bin\siebel.exe /c D:\Siebel\publicsector.cfg /s D:\sql_trace.log"
如果您没有访问专用客户机的权限,您也可以。或者,如果SQL Server提供类似于Oracle管理控制台的功能,则可以监视数据库


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

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