Note: In form builder, triggers 'execution hierarchy' caused funny issue in enter-query mode.

来源:互联网 发布:怎么做淘宝代理 编辑:程序博客网 时间:2024/05/16 16:00

Today, I'm almost tortured by the weird form behavior in enter-query mode in one of my custom forms.

Yesterday, I don't remeber exactly when, the block could still turn to light-blue when I hit F11 to enter 'enter-query' mode. But later I noticed it didn't change but always in white color.

I checked all the properties of the form, block and item, but none look suspicious. I also compare the properties with those in a standard form. Also nonthing suspicious.

Later I tried to copy all the objects, including blocks,lov,record groups, program units etc into a new form and run , still the same. How come? It has been torturing me almost about 4 hours.

Finally I checked metalink and found a note(133933.1)  about how to change color of item in enter-query mode, actually in Oracle form there's no such attribute to easily set this. The note provided a sample plsql unit to loop all the item and set different visual attribute for items in normal mode and enter-query mode. So suddenly I thought it's the trigger that cause the weird behavior. So I delete some triggers and it proved my guess. After some narrowing down, I finally located it's the 'when-new-record-instance' trigger.  I know the standard feature must be in app_standard.even('when-new-record-instance'), so I added it to block level 'when-new-record-instance' trigger and it worked. Then how come the form lever one was not executed?  Then I realized it's the 'execution hierarchy' I tried to set this block level one to 'Before' and 'After' and 'Before' behaves what I expected. So it's solved.