Solved

Oracle Message 'Do you want to save your changes?'

Posted on 2003-11-13
5
3,340 Views
Last Modified: 2011-04-14
I am using Forms 4.5

I made a minor change to a program unit on a form which validates that the serial number entered on Block A is within a specific range. (I had to change the numbers of the range that is all) The When-Validate-Item trigger on the serial number field calls this program unit.

Once the form has been compiled, on a previous block (block B) the following situation arises:
When the user tries to navigate out of the block B to a previous one, block C, an Oracle message appears asking the user if he/she wants to save the changes made, when NO changes were made, all the user did was navigate to the block and attempt to navigate out of it almost immediately.

When this error was reported, I rolled back to a previous fmb version, redid the changes, and tested. Now the message did not appear. What is happening? ANyone has had an experience as this?

Also,why does this message appear even when no changes have been made to the records, no changes at all. All the user does is navigate to the block in question and attempts to navigate to the previous block.
0
Comment
Question by:hsury
5 Comments
 
LVL 48

Expert Comment

by:schwertner
ID: 9747522
If you use different blocks a possible solution is to define the items as "display" items (if you really do not update them).
If you you call a different form then call it with "nosession" option.
0
 
LVL 15

Expert Comment

by:andrewst
ID: 9787181
Please post your trigger code.
0
 

Author Comment

by:hsury
ID: 9832848
Further investigation into the problem came up with some interesting points. Here is what was happening but why is the question:
Oracle, for some reason, detected the block status as changed when data was retrieved and displayed in a multi record block on that form.(This was not the block the change was made to). The following message was displayed: “Do you want to save the changes you have made?”. If the user hit the Yes button, a second message was displayed: “FRM-40400:Transaction complete.  _  [number] of records applied and saved.” even though there had been no changes made.  
Has any one had a similar experience? The block status was confirmed to be “CHANGED” instead of “QUERY”.

The changed form was discarded and the fix redone. This time, the block status remained at “QUERY”, no message was displayed and the form behaved as expected.
Any ideas on what could have happened in the first instance?
0
 
LVL 22

Accepted Solution

by:
Helena Marková earned 250 total points
ID: 9835257
Isn't there a trigger with some initialization of items there ? Also Post-Query trigger ...

This is from an "Initialization" topic in the on-line help:
Note: If a trigger assigns a value to an item in a null record, the record is no longer null. Form Builder never assigns an initial value to any item in the record. For example, a PRE-FORM trigger fires while the form contains only null records. If it assigns a value to an item, it must ensure that all other items of the record receive appropriate initial values.
0
 
LVL 48

Expert Comment

by:schwertner
ID: 9837489
Looking at:
which validates that the serial number entered on Block A is within a specific range. (I had to change the numbers of the range that is all)

Please, carefully check this code or post it here. may be you put in that item  a value 9may be the old original value), or assign a value.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Note: this article covers simple compression. Oracle introduced in version 11g release 2 a new feature called Advanced Compression which is not covered here. General principle of Oracle compression Oracle compression is a way of reducing the d…
I remember the day when someone asked me to create a user for an application developement. The user should be able to create views and materialized views and, so, I used the following syntax: (CODE) This way, I guessed, I would ensure that use…
This video explains at a high level with the mandatory Oracle Memory processes are as well as touching on some of the more common optional ones.
This video shows how to set up a shell script to accept a positional parameter when called, pass that to a SQL script, accept the output from the statement back and then manipulate it in the Shell.

679 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question