Oralce Form开发:判断BLOCK中的重复值

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;



 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值