巧用On Field Update Invoke,和Named Method

来源:互联网 发布:node inspector 编辑:程序博客网 时间:2024/06/05 05:46

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]"

可以正常工作

 

 

 

 

 

原创粉丝点击