问题:今天在做一个项目开发,要求当对从块的保存时,主块的某个字段数据发生变化,并保存到数据库。本来在从块的pre-insert触发器中对其进行赋值,界面数据是发生变化了,但是没有保存到数据表,但重新查询时,数据没变化!
分析:oracle ebs 当form数据发生变化进行保存时,会执行整个form,block的执行顺序会按照form中的排序进行先后执行,如果主块在从块之上,这样导致会主块在从块执行之前就已经执行了,当执行到从块时,主块就不会执行了!
解决方案:
1、自己写主从块的insert、update、delete等触发器程序单元
2、利用oracle ebs自身的直接对块进行操作方法,但要对其进行一些设置
2.1、设置整个form的控制台窗口
![](https://img-my.csdn.net/uploads/201209/20/1348128483_8956.jpg)
2.2、调整主从块的位置
![](https://img-my.csdn.net/uploads/201209/20/1348128652_8984.jpg)