Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: how: 3 blocks (1:many:many) using only 1 database source

Re: how: 3 blocks (1:many:many) using only 1 database source

From: ++mcs <mcstock_at_enquery.com>
Date: 14 Aug 2005 04:32:49 -0700
Message-ID: <1124019169.586723.56350@f14g2000cwb.googlegroups.com>


first, make sure your form design really makes sense -- if the error is being caused by the same user updating the same record in a different block on the same form, determine why the user should be allowed to update the same data in more than one block

however, you did not state whether the user is actually doing any updates in block 3 -- if the user is not performing updates, then determine what processing you've coded into your forms that is causing updates (or deletes) when records are present in block 3

if the code added to your form or the user is not causing updates (or deletes) when records are present in block 3, then the data changes must be caused by another user, and you've run into a typical forms issue

if the problem is due to forms code or the user, determine what exactly is peforming the DML -- do you really need to have the same record displayed (and available to update) simultaneously in more than one block? that usually is not a good design. or are the updates done by the code really necessary?

if changes are initiated by the user, and the data really need to be displayed in more than one area of the form, you can use the 'Synchronize with Item' property item to have the same database value displayed in two or more items (in the same block), and have forms automatically coordinate them. this is often used with multi-record blocks, where the additional items are on a separate canvas and have their 'Number of Items Displyed' property set to 1.

if the changes are initiated by code in your form (and that code is necessary) or by other users, then you have to code a block or record refresh -- which involves writing code to issue an EXECUTE_QUERY action
(making sure block coordination only occurs where necessary) or
manually resetting item values and resetting the SYSTEM.RECORD_STATUS
(via the SET_RECORD_PROPERTY built-in)

however, it sounds like the best bet might be to revisit the over-all design of the form -- can you give more information on what business functionality the form is intended to support? can you specify what is causing the update (or delete) of records that the user is currently viewing in block 1?

++ mcs Received on Sun Aug 14 2005 - 06:32:49 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US