Oracle Form: Master-Detail Relationship

Oracle Form: Master-Detail Relationship

Post by Pat » Fri, 07 Oct 2005 02:10:38

Hi All,

I have a question on Oracle Forms (version 6i) for your comment.

When I build a master and a detail block, link it up with a relation,
some triggers will be generated by oracle forms, e.g. on-populate-details,
which query the detail block automatically when the master block is queried.
However, it used "go_block", "execute_query" to populate the data which
I found it has performance problem in forms processing. Imagine I have
a master block with 5 detail blocks, that might impose quite some network
traffic which makes the forms "run" very slowly.

Are there any alternatives for such processing?


Oracle Form: Master-Detail Relationship

Post by Yuri Ivano » Fri, 07 Oct 2005 02:47:31

Pat ?
Hi! You can remove all auto-generated triggers and replace it with your.
But you must be very accuracy. It is not easy job :)
And one more. _IMHO_ you got slow work not because these triggers -
check your queryes and database structures :)
I told this, because I have expirience with character-mode forms on 9600
tty - it work very quickly by itself :)
Good luck!


Oracle Form: Master-Detail Relationship

Post by DA Morga » Fri, 07 Oct 2005 02:56:57

Take Yuri's advice but also look at:
Query array size
Number of records buffered
Optimizer hint (based on SQL*Plus and Explain Plan testing)
Maximum records fetched
Daniel A. Morgan
(replace x with u to respond)

Oracle Form: Master-Detail Relationship

Post by znak » Sat, 28 Jan 2006 02:58:19

On Wed, 05 Oct 2005 10:56:57 -0700, DA Morgan < XXXX@XXXXX.COM >

In most oracle forms I think that a "deferred" option can be chosen
when defining a relationship between datablocks.

As I remeber it this means that the data in the block is fetched only
if and when the user activates the block.

Of course optimization is always an option, but the deferred option
can be considered especially if the user are not using all "child"
blocks but only a limited number . say 1 of the five.
maybe that can help you?