Processing of WHEN-NEW-ITEM-INSTANCE FORMS4.5
Date: 1995/11/22
Message-ID: <4909lc$8kr_at_dub-news-svc-4.compuserve.com>#1/1
FORMS 4.5.6.0.7 I am struggling to understand the precise circumstances under which the WHEN-NEW-ITEM-INSTANCE trigger fires.
My interpretation of the reference manual and the processing flow-charts indicate that it should fire when BOTH the the following conditions are true:-
- The trigger process is 'Returning for Input' AND
- the value of cursor item differs from the value it held on the last occasion that the 'Return for Input' process executed.
However, I find this interpretation at odds with the observed behavior. I would expect the following trigger to fire just once whenever the user navigates ordinarily to block1.item1.
WHEN-NEW-ITEM-INSTANCE (attached to block1.item1)
begin
go_item('block2.item1');
go_item('block1.item1');
end;
However, I find that what actually happens is that the form fires the WHEN-NEW-INSTANCE-TRIGGER ad infinitum
- presumably because the go_item('block1.item1) is (unexpectedly) causing the trigger to re-fire!
The same code as a WHEN-NEW-BLOCK-INSTANCE trigger, fires only once (as I would expect).
Questions
- Am I mis-understanding the trigger processing here, or is this a bug.
- The processing flow-charts indicate that the 'Return for Input' process executes as part of the 'Put Cursor At' process which itself is invoked by many of Built-ins.
Am I right in assuming that the 'Return for Input' process does NOT execute when invoked from a built-in operating as part of a sequence of statements in a trigger? c) Does any-one know of a more up-to-date/accurate description of the Forms trigger processing model than the ORACLE reference?
Thanks. Received on Wed Nov 22 1995 - 00:00:00 CET