热度: |
DVM是Siebel 很强大的功能之一,它能实现针对BC Field的逻辑验证, 并且可以在指定的逻辑验证失败时执行动作,这样的动作包括调用BS,Workflow ,修改当前BC的Field (但仅能修改为常量)
配置DVM的一般步骤:
- 创建数据验证规则集
- 创建运行时事件动作集,关联规则集
- 创建运行时事件,关联动作集
这里示例场景为:
“Quote,当报价状态[Status]由已接受修改为其它状态时,验证报价产品总金额是否大于150”
如大于150,有两种显示方案
第一种方案: 界面弹出报错,状态不改变。
第二种方案: 使用规则动作调用BS 修改报价注释为‘脚本:金额合计超出标准,请调整折扣’
第三种方案: 使用规则动作直接设置BC Field 为常量“规则字段提示:金额合计超出标准”
创建数据验证规则集
1. 管理 – 数据确认 ,新建规则集,关联指定的BC
2. 新建确认消息,消息级别指对应的BC,消息来源指对应规则集
3. 定义验证逻辑规则
4. 表达式计算值为 False 时,规则集验证不通过
第一种方案:让界面直接报错,在规则细节中设置
此BS 使用客户端业务服务定义的,在管理 – 业务服务中新建并定义
注意ActiveBusObject()方法的使用范围,切忌滥用
第三种方案:直接设置BC Field 为常量
注意:规则集中立即显示错误的话会中断规则动作
如果有多条规则消息需立即显示,规则集Form界面勾上“集合错误”
5. 最后激活一下,修订的流程是一样的,只是多了一个版本
创建运行时事件动作集,关联规则集
1. 关于运行时事件,前面已经讲过,这里不多说了,先创建动作集
2. 动作集参数注意一下
业务服务环境就是指的BS参数,只是这些参数都是字符串形式以逗号分隔(包括参数之间)
规则集中支持对每次验证进行历史记录,在管理-数据确认 > 验证历史记录
Enable Log 参数可以指定是否开启历史记录功能
Rule Set Name 即规则集名称
创建运行时事件
1. 因为场景要求 验证失败时状态不会修改,所以运行时事件中我们使用 PreSetFieldValue 方法
2. 分别在事件和动作集菜单中重新加载个性化配置文件
效果图: