1. 创建函数:cux_com
Function cux_com(str1 Varchar2, str2 Varchar2) Return Number Is
l_return Number := 0;
Begin
If Upper(str1) = Upper(str2) Then
l_return := 1;
Else
l_return := 0;
End If;
Return l_return;
End;
2. 判断重复的BLOCK:Req_acc;控制BLOCK: Control
2.1 在BLOCK:Req_acc\ Control属性设置“查询所有记录” 为 “是”:
Contorl设置如下:
2.2. 在CONTROL 数据块中增加Item:
COUNT_ITEM (Data Type:Number)
2.3 PRE_DATA :普通的char型item即可(用于)
2.4.在BLOCK:Req_ac中增加ITEM:
FLAG(Data Type:Number):
增加公式:(下面的连接附,表示编号跟描述同时相同为重复)
cux_com(:Control.Pre_data,:Req_acc.Acc_code || :Req_acc.Acc_desc)
3. 添加BLOCK:Req_ac的when_validate_record触发器,触发器中的代码为:
:Control.Pre_data := :Req_acc.Acc_code || :Req_acc.Acc_desc; --用来判断重复的字符,多字段可以累加,对应flag公式
If :Control.Count_item > 1 Then
fnd_message.debug('存在重复数据!');
Raise form_trigger_failure;
End If;