Oracle的标准的From定制除了二次开发外,还有另外一种方法,那就是Form个性化,可以减少开发的时间,Form个性化可以完成很多功能,比如:当打开From时弹出一个消息框、修改Item的属性、调用一个功能、新建一个菜单项等等。
下面我们来看几个例子,
1. 打开要个性的from,路径为:Help->Diagnostics->Custom Code->Personalize
2. 打开个性化界面,有三个部分:头部分,条件部分,动作部分
头部,我们可以定义多个个性化规则,需要指明:
Seq:规则的顺序
Description:规则说明
Level:是基于功能还是基于表单的
Enabled:是否启用
我们填写如下
条件部分:
Trigger Event:触发这个规则的Trigger
Trigger Object:触发的对象
Condition:触发条件
Process Mode:触发模式
我们填写如下:
表示当在 MTLCST块的WHEN-NEW-RECORD-INSTANCE触发,并且是不在查询模式下时执行在Actions定义的动作
动作部分:
动作也可以有多个步骤,Type 有四类:Property,Message,Builtin,Menu
Property:可以改变Form对象的属性值
Message:弹出消息
Builtin:调用一个功能
Menu:新增一个菜单
我们填写如下:
表示当块MTLCST上有WHEN-NEW-RECORD-INSTANCE触发时弹出消息框,保存后,新打开Form时,结果为:
填写如下时:
表示把MTLCST.PERIOD_NAME的提示改为Period。
结果为:
当输入为:
时,此时Trigger event不能是WHEN-NEW-RECORD-INSTANCE,我们改为WHEN-NEW-FORM-INSTANCE,保存重新打开Form
如果改这样
我们填写如下:
我们打开Form时,将打开baidu
当填写如下:
打开Form时会执行一个Procedure cux_personalize_test_pkg,这个包往表cux_alert_test1里插入一条记录。