On Field Update Invoke的作用:当某个字段变动时,调用BC的一个方法.
Named Method: 当前BC的方法被调用是,调用另一个方法或者设置字段值
这两个User Property的作用很多人都知道,不过如何将两个结合使用就比较巧妙
例如有三个bc,BCA,BCB,
在BCA上定义
On Field Update Invoke: "Status", "BCB", "SetCache1"
在BCC上定义
Named Method: "SetCache1", "SET", "Baseline Net Contribution / Unit - Cached", "[Baseline Net Contribution / Unit - Current]"
不需要在BC上定义SetCache1方法。
上面的方法只会更改BCB上的一条记录。
如果要更改BCB上的所有记录
BCA上定义
On Field Update Invoke: "Status", "BCA", "SetChiledCache1"
Named Method: "SetChiledCache1",INVOKEALL,"BCB","SetCache1"
BCB上定义
Named Method: "SetCache1", "SET", "Baseline Net Contribution / Unit - Cached", "[Baseline Net Contribution / Unit - Current]"
在假设一个例子,如果是三层的BC, 要改变BCC的所有记录。
该方法的缺点为只能更改暴露在Applet上的field, 假设有一个Field:Account Fund Id 没有在Applet上显示,则需要新建Control,设置html type = Hidden,然后将其拖到Applet上。
也可以使用Siebel8后新提供的User Prop, 在list colunn下可以添加User Prop
Name = ForceActive
Value = Y
另: 关于Named Method的一个补充,Siebel在8.0之后提供了新的Applet的User Property,可以在Applet上使用Named Method.
BC上的Named Method的一个bug就是WriteRecord不会起作用,如下
Name: Named Method 22
Value: "WriteRecord", "INVOKESVC", "HLS Case", "Workflow Process Manager", "RunProcess", "'ProcessName'", "AG HLS Case", "'RowId'", "[Id]"
Workflow 不会被调用。
但是如果写到Applet上
Name: Named Method 1: WriteRecord
Value: "INVOKESVC", "Workflow Process Manager", "RunProcess", "'ProcessName'", "AG HLS Case", "'RowId'", "[Id]"
可以正常工作