Processing of WHEN-NEW-ITEM-INSTANCE FORMS4.5

From: Kevin Croocmbe <100704.1155_at_compuserve.com>
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:-

  1. The trigger process is 'Returning for Input' AND
  2. 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

  1. Am I mis-understanding the trigger processing here, or is this a bug.
  2. 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

Original text of this message