概述
如图,如果我们需要特定情况下才能触发保存,如id编号大于0才能保存,应该怎么做呢
1. 新建一个程序单元(规格和主体,规格是包头,主体是包名),
输入如下内容
procedure Dn_commit is
begin
IF :FLQTB.ID<=0 then
fnd_message.set_STRING('id必须大于等于0');
fnd_message.error;
else
Commit_Form;
END IF;
end;
说明:
:FLQTB.ID是从FLQTB数据块的ID项获取值,冒号(:)不可少,你的数据块一定要有这个项,如图
fnd_message.set_STRING('id必须大于等于0');
fnd_message.error;
这两个是一起的,设置弹出框的内容和样式,如图:
Commit_Form; 是提交数据
2. 新建触发器,KEY-COMMIT
输入刚刚创建的过程,包名.过程名( formOp.Dn_commit;),不区分大小写
3. 挂载,参考EBS之挂载表单的详细步骤
4. 效果
那么怎么阻止删除呢,同理
1. 在刚刚创建的程序单元(formOp),写一个新的过程(Dn_delete),内容如下:
procedure Dn_delete is
begin
if :FLQTB.ID=3 then
fnd_message.set_STRING('测试3不能删除');
fnd_message.error;
RAISE form_trigger_failure;
else
DELETE_RECORD;
END IF;
end;
说明:
RAISE form_trigger_failure; 是限制光标跳转
DELETE_RECORD;是删除某一行
2. 新建触发器,KEY-DELREC
输入刚刚写好的 过程(formOp.Dn_delete)
3. 挂载,参考EBS之挂载表单的详细步骤
4运行结果:
最后
以上就是活力帽子为你收集整理的EBS之阻止保存,阻止删除的全部内容,希望文章能够帮你解决EBS之阻止保存,阻止删除所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复