Home » Developer & Programmer » Forms » frm-40654: record updated by another user
frm-40654: record updated by another user [message #82034] Mon, 14 April 2003 07:33 Go to next message
kim
Messages: 116
Registered: December 2001
Senior Member
hello,

i am getting the error "frm-40654: record has been updated by another user. re-query to see change." this is happening if i commit my form and then try to update data. no one else is using this database/form, so why am i getting this error? thanks.
Re: frm-40654: record updated by another user [message #82039 is a reply to message #82034] Tue, 15 April 2003 00:25 Go to previous messageGo to next message
Mohammad Afzal
Messages: 1
Registered: April 2003
Junior Member
Any One user were make changes,and quit form but at that time server had been make lock. at that time has not being released lock,. so u r getting message.first of all u release lock.
Re: frm-40654: record updated by another user [message #82041 is a reply to message #82039] Tue, 15 April 2003 06:28 Go to previous messageGo to next message
kim
Messages: 116
Registered: December 2001
Senior Member
thank you, but how can i release a lock?
Re: frm-40654: record updated by another user [message #82048 is a reply to message #82039] Tue, 15 April 2003 21:47 Go to previous messageGo to next message
Robin ( Bangladesh)
Messages: 25
Registered: September 2002
Junior Member
Use commit or rollback

robin
Re: frm-40654: record updated by another user [message #82050 is a reply to message #82039] Wed, 16 April 2003 06:22 Go to previous messageGo to next message
kim
Messages: 116
Registered: December 2001
Senior Member
here is my code:

procedure commit_changes is
begin
calc_chk_wt;
calc_screens;
calc_chk_pct;
commit;
end;

the three other procedures are used to do some calculations. it still isn't working, what else can i try? thanks.
Re: frm-40654: record updated by another user [message #82052 is a reply to message #82039] Wed, 16 April 2003 10:06 Go to previous messageGo to next message
Julie
Messages: 98
Registered: February 2002
Member
Kim,
When I had this problem before, it was because some of the inate behavior of my form was changing a value in one of the database columns on the form. It can be a column with a LOV set to validate that is changing the value of a column. Or, it can be that there are trailing spaces in your data that the form is truncating, then finding different.
It's an annoying problem, but try to think in terms of what data is your form changing for you.
Good luck.
Re: frm-40654: record updated by another user [message #82058 is a reply to message #82052] Thu, 17 April 2003 01:35 Go to previous messageGo to next message
Maaher
Messages: 7065
Registered: December 2001
Senior Member
Or, you could try setting the block-level parameter (in the 'Advanced Database' node) DML returning value to true. This has helped me out in a similar situation.

MHE
Re: frm-40654: record updated by another user [message #82073 is a reply to message #82034] Fri, 18 April 2003 05:22 Go to previous messageGo to next message
Sun
Messages: 92
Registered: August 2002
Member
Did u created the layout through wizard or manual. If u might have created manually... one chance is u might have forget to set the primarykey value. property in the item. check the primary key values. (What r all the primary keys given at the time of creating the table.)

The second thing is are u entering all the values are assigning some values. If u are assinging, check the update allowed property... it may also create the problem...
Re: frm-40654: record updated by another user [message #82122 is a reply to message #82034] Fri, 25 April 2003 03:50 Go to previous messageGo to next message
Jayasri
Messages: 28
Registered: July 2000
Junior Member
I too often encounter this problem.
The only possible reason is, you might be trying to assign some value to the base table item in POST-QUERY.
When I changed this in my form, it worked fine.
Re: frm-40654: record updated by another user [message #200909 is a reply to message #82050] Wed, 01 November 2006 19:53 Go to previous messageGo to next message
djmartin
Messages: 10181
Registered: March 2005
Location: Surges Bay TAS Australia
Senior Member
Account Moderator
Kim,

I know this is an old problem but we have been getting this error in our production environment but not our development environment. Did you solve this problem? IF so, how?

David
Re: frm-40654: record updated by another user [message #201040 is a reply to message #82034] Thu, 02 November 2006 05:49 Go to previous messageGo to next message
yogen
Messages: 39
Registered: October 2006
Location: UK
Member
I also got the same problem.

i executed this query in database.

select * from dba_objects
select do.object_name,sid,s.serial#,s.osuser,
row_wait_obj#, row_wait_file#, row_wait_block#, row_wait_row#, --s.session_id,
dbms_rowid.rowid_create ( 1, ROW_WAIT_OBJ#, ROW_WAIT_FILE#, ROW_WAIT_BLOCK#, ROW_WAIT_ROW# )
from v$session s, dba_objects do
where s.ROW_WAIT_OBJ# = do.OBJECT_ID ;

and from this query i could see the locked object in the database.
identify the concerned table which is locked and release the lock by killing the session usin sid and serial# value.

I think this must help you.
Re: frm-40654: record updated by another user [message #310720 is a reply to message #82034] Wed, 02 April 2008 03:52 Go to previous messageGo to next message
amcminn
Messages: 1
Registered: April 2008
Junior Member
I have spent a while trying to fix this issue as i was having the same error, and im relatively new to Oracle forms.

The fix for me was as mentioned above, i.e. the primary key was not set on the data block that seemed to be causing this issue.
Thought I'd throw this up in case it may point someone in this direction.

Thanks.
Re: frm-40654: record updated by another user [message #310767 is a reply to message #310720] Wed, 02 April 2008 06:10 Go to previous messageGo to next message
athar.fitfd@hotmail.com
Messages: 193
Registered: October 2007
Location: pakistan
Senior Member
I have also faced such kind of situation, and found the reason
you changing value in a database field that is already been changed through any trigger you have written in you application.

i hope this helps


bye

Athar
Re: frm-40654: record updated by another user [message #310933 is a reply to message #310767] Wed, 02 April 2008 20:14 Go to previous messageGo to next message
solisdeveloper
Messages: 48
Registered: March 2008
Location: Mexico
Member
Hi:
I went through the same just recently.

I was calling a procedure to update several tables and then I used "COMMIT". The data was updated, but i was getting the same error message. Then I realized that it was being triggered by the "when-new-record-instance" somehow after commiting my form was creating or navigating to a new instance of a record in my block (changed-status)and what worked for me was to clear the form.


I hope this helps!
Re: frm-40654: record updated by another user [message #334601 is a reply to message #310933] Thu, 17 July 2008 05:45 Go to previous messageGo to next message
ahmad_uaf
Messages: 68
Registered: March 2006
Location: Pakistan
Member

Hello Guys
having the same situation.
when i update the record , giving the message
"FRm-40656 Record has been updaetd by another User Requery to see chages"

i have jus define "ON-LOCK" trigger and code there only NULL.
my problem is soloved in this way
Regards,
Re: frm-40654: record updated by another user [message #334633 is a reply to message #334601] Thu, 17 July 2008 08:13 Go to previous messageGo to next message
Frank
Messages: 7901
Registered: March 2000
Senior Member
No, you just created a bigger problem.

You just hid the error.
Re: frm-40654: record updated by another user [message #365234 is a reply to message #82050] Thu, 11 December 2008 03:11 Go to previous messageGo to next message
AMATHONGKONG
Messages: 1
Registered: December 2008
Junior Member

IF U HAVE CALCULATION USING DIVIDE, USE FUNCTION ROUND();
EX :

DECLARE
A NUMBER;
BEGIN
A := ROUND((A/B),2);
END;

IF U DON'T USE ROUND, THE FIRST TIME, U CAN SAVE, BUT IF U CHANGE IT WITHOUT REQUERY, IT WILL POST MESSAGE ERROR 'record updated by another user'

HOPE IT'L BE USEFUL


BLACK KNIGHT


SABBE SATTA BHAVANTU SUKHITATHA
Re: frm-40654: record updated by another user [message #365306 is a reply to message #365234] Thu, 11 December 2008 06:29 Go to previous messageGo to next message
chandan.rattan
Messages: 84
Registered: December 2008
Location: India
Member

i think you can do it using system level message

:System.Message_Level := '25';

try this one...and revert back.....
Re: frm-40654: record updated by another user [message #381705 is a reply to message #82034] Mon, 19 January 2009 06:04 Go to previous messageGo to next message
sheeba28
Messages: 4
Registered: September 2005
Location: Bangalore
Junior Member
I had the same issue and was trying all the solutions mentioned above. The difference was I was querying the record.


Mine was one column has the value as 'NULL' for some records. Someone had done manual insert 'NULL' instead of NULL.

And this is solved.

Thank you everyone.

Cheers!
Re: frm-40654: record updated by another user [message #388144 is a reply to message #82034] Mon, 23 February 2009 07:44 Go to previous messageGo to next message
lykmyk
Messages: 9
Registered: March 2007
Junior Member
Hello:

If you are getting this issue "frm-40654: record updated by another user" then you need to first ensure that primary keys are set correctly on the underlying tables.

Oracle by default will try to place a lock on all records that share a foreign key.
Re: frm-40654: record updated by another user [message #440128 is a reply to message #388144] Thu, 21 January 2010 04:12 Go to previous messageGo to next message
shmuel
Messages: 1
Registered: January 2010
Junior Member
The FRM-40654 might also be caused by the following bug in Virtual Private Database (VPD).

Suppose you try to update a detail table of which the VPD predicate checks existences of a row in a master table. Let VPD allow update of this detail table. Assume that the master table has a policy which does not allow update of the master. Then a select for update displays NO rows erroneously. When a field in a form is updated, then the forms engine carries out a select for update in order to lock. Therefore, the form receives the message '0 rows updated' and is fooled into thinking that someone changed the record, whence the message. This is Oracle Bug 7344505 as mentioned in metalink ID 759252.1, which refers to the 'Oracle database team' for a solution. (A trace revealed that VPD computes and applies the master predicate twice.)

A bypass is to create an on-lock trigger which turns VPD off, places a lock, and turns VPD on again. This trigger overwrites the standard forms lock. (You should not place the NULL statement here, for this would allow users to annihilate each other's changes without notice.) Here are some code chunks from an on-lock procedure in a general library built by CMG.

...

lv_data_name VARCHAR2(30) ;

BEGIN
...
lv_data_name := get_block_property( lcv_block_name, DML_DATA_TARGET_NAME ) ;

[set variable in stored package to bypass VPD]

IF lv_data_name IS NOT NULL
THEN
lock_record ;
IF form_success
THEN
...
ELSE
[turn bypass off]
RAISE form_trigger_failure ;
END IF ;
ELSIF lv_data_name IS NULL
THEN
execute_trigger( 'lock-procedure' ) ;
IF form_success
THEN
...
ELSE
[turn bypass off]
RAISE form_trigger_failure ;
END IF ;
END IF ;

[turn bypass off]

Re: frm-40654: record updated by another user [message #600742 is a reply to message #440128] Mon, 11 November 2013 22:05 Go to previous messageGo to next message
rohith1523
Messages: 1
Registered: November 2013
Junior Member
HI ,
i solved problem in one scenario of this error

1)i am using database datablock
2)i am updating one column of datablock in trigger like last update time field
3)when i update again and try to save it is throwing error.

solution i move trigger code into for pre-insert and pre-update to caputure
last updatetim Razz
Re: frm-40654: record updated by another user [message #600764 is a reply to message #600742] Tue, 12 November 2013 03:45 Go to previous messageGo to next message
cookiemonster
Messages: 13958
Registered: September 2008
Location: Rainy Manchester
Senior Member
If you're getting that error because of database triggers changing the data the simple solution is to set the datablock property DML returning values to Yes
Re: frm-40654: record updated by another user [message #653004 is a reply to message #334601] Thu, 23 June 2016 08:08 Go to previous messageGo to next message
Mraouf
Messages: 14
Registered: June 2016
Location: Egypt
Junior Member
me too and it working
Re: frm-40654: record updated by another user [message #658826 is a reply to message #600764] Wed, 28 December 2016 00:53 Go to previous messageGo to next message
aspardeshi
Messages: 2
Registered: August 2012
Location: Pune
Junior Member
Thanks buddy, you made my day ! Smile This DML returning to 'Yes' works ! Mine was a different issue, the error was coming up after I post the record for next columns ! But anyway, it works fine ! Thanks a ton. Smile
Re: frm-40654: record updated by another user [message #681398 is a reply to message #82034] Wed, 15 July 2020 05:05 Go to previous message
MarcBattle
Messages: 1
Registered: July 2020
Junior Member
I try to delete a record.
In my case, I have a field that is a substring of a CLOB field.
I put the field as "Query Only" and it solve the problem.
Previous Topic: Cursor position after compilation
Next Topic: Display image item from database reading all type of image
Goto Forum:
  


Current Time: Thu Nov 21 21:32:33 CST 2024