所以我正在研究Siebel更改客户端请求并且必须测试它是否正常工作。由于我们没有权限从Siebel本身编辑某些内容,因此我们必须直接进入数据库(某些记录变为只读)。
我们有一个Applet,在视图中列出了用户的“操作”。在从数据库修改数据之前,排序工作正常。您可以输入一条记录,然后它变为只读。我访问了数据库并修改了测试日期,令我惊讶的是,Siebel不再正确地对列表进行排序。数据库(SQL Server)按日期排序很好,但Siebel将执行以下操作。
这不仅限于applet本身,还取决于Business Services检索的内容。我们检查了applet和BC,但找不到任何排序规范或任何可能导致这种情况的代码。这就像排序顺序,取决于在Siebel中缓存的日期字段。
关于为什么会这样的任何想法?
答案 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,因此它将对此进行排序而不是日期。