欢迎来到天天文库
浏览记录
ID:14684290
大小:25.00 KB
页数:10页
时间:2018-07-29
《oracleebsform触发器学习大全》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、文档密级:内部公开OracleEBSFormTrigger学习大全打开,关闭,创建,更新记录的trigger次序PRE-……在进入一个form,或是导航到一个新的block时触发,PRE-……系列的触发器一般是在WHEN-NEW-……-INSTANCE系列之前,它们如果失败了的话,就不能成功导航到下一个对象了,只能留在当前的位置。在这些触发器里可以设置一些判断条件来限制是否可以导航到新的位置。WHEN-NEW-……-INSTANCE这一类的trigger都是当鼠标光标每次落到一个新的block,record,item上时触发的,而且就算失败了,也不会发生什么
2、错误。但是when-new-form-instance,只有当form启动时,光标导航到第一个导航块的第一个导航item时触发,如果一个应用有多个form,当光标在各个form之间转换时,并不会触发它。POST-TEXT-ITEM和WHEN-VALIDATE-ITEMPost-text-item的触发点:当输入的光标从一个Text-Item转到其它item,可以用它来改变item的值,而when-Validate-item虽然也是在离开前触发,但是作用不同,Post-Text-Item本身是没有验证的,when-Validate-item可以用来补充一些验证
3、(除了form本身的验证),但是当form验证成功以后,会把item标志为‘valid’,而不会再去验证了,如果这时我们再去修改它的值,那么就有可能会把无效的值导入到数据库。在创建和更新一条记录时,先触发when-Validate-item,再触发Post-Text-Item,然后是when-Validate-record。POST-……系列的都是离开当前的block,record,item时触发的此资料属深南电路所有,未经许可,不得扩散。文档密级:内部公开WHEN-WINDOW-ACTIVATED做原材料属性修改平台时,第一次使用这个触发器,用来从另一个w
4、indow返回时,刷新当前window,代码写在了这个触发器里。使用之前用fnd_message.debug试验了一下,打开窗口后不停的弹出message。只要这个窗口在活动期间就会不停的执行这个触发起里面的代码,所以执行的代码应该用if条件限制一下。Form的Trigger的优先级是从item,到block,到form级别,如果另外设置ExecutionHierarch属性(override,before,after),则按照设置后的顺序执行。如果是override的话,则执行完这个级别的触发器,就不往上执行了,before就是执行完这个级别的触发器后,如
5、果上一个级别也有这个触发器的话,继续去执行,after就是先去执行上一个级别的触发器,然后再回来执行。感觉触发器比较难理解的还是每一种触发器触发的时间,和在开发中怎么使用。目前了解的就是pre-…,when-new-…-instance,when-…-validate,post-query和几个on-…触发器 验证代码写在WHEN-VALIDATE-RECORD和PRE-INSERT的不同验证代码写在WHEN-VALIDATE-RECORD和PRE-INSERT的不同1、写在WHEN-VALIDATE-RECORD,可以及时地提示错误信息,如果验证时要和后台
6、数据库关联的话,那么要写在PRE-INSERT,因为PRE-INSERT,ON-INSERT都是一条一条记录执行的,这样批量录入时,每一条记录的验证都可以取到最新的数据库记录。2、批量录入时,有一条的PRE-INSERT不成功,则所有记录都不能保存成功 此资料属深南电路所有,未经许可,不得扩散。文档密级:内部公开Post-Query和When-New-Record-Instance关系Post-Query和When-New-Record-Instance假定数据库中有100条记录,块设置显示行数为10,那么当光标在显示出来的记录间移动时,只触发When-Ne
7、w-Record-Instance,不触发Post-Query。当光标移到第十一条记录时,触发Post-Query 不可见item的when-validate-item使用问题:如果一个item是不可见的,那么改变它的值,还会触发when-validate-item吗?结果:会触发,但不是在改变它的值后触发,而是在光标移到另一个block时。关闭窗口时也触发了。测试:设block1的item1为不可见,在item2的when-validate-item给tem1赋值,运行时,改变item2的值后,在block1的各item间移动光标都没有触发item1的wh
8、en-validate-item,直到光标离开这个b
此文档下载收益归作者所有