Hi, It would certainly be helpful to able to mimic what you are trying to achieve in your own environment on apex.oracle.com so adding the table definitions and data would be useful. You will also need to confirm your Username and Password for the PSGCA workspace so people are able to log in.
Seems our posts in https://forums.oracle.com/thread/227579 are removed, guess that the thread was too old..
Anyway, I had this 'Current version of data..' error in my app. after I upgraded to apex 4.2.2 but only in Internet Explorer.
I found that removing a custom plugin I had on that page solved my problem.
I'll have to check with the developer of that plug-in, so apparently it's not a generic problem for 4.2.2
What Paul said. If you upload something and want to share it with us, make sure that you pass us a valid unlocked account with developer rights, and mention your workspace name.
Are there custom processes being run? If yes, are they run before the multi-row processing?
Another way to check is to simply create a new application, and then create a new master-detail form, and only using a standard theme with no customizations (no custom template, no custom code. Just a plain silly bog standard wizard generated page). Still have issues then?
Edit: I suppose this hangs together with https://forums.oracle.com/thread/2578165
It seems like your page has a bit of extra things going on. That is fine, but if you decide to upload your page make sure we have all the pieces, and indeed as Paul said, if might be good to have the required objects so we can run the page. It shouldn't be too hard to get 2 table structures over, and put some records in (a couple are fine). Templates and such may still be good to check if they have been customized though!
I have now uploaded and created the tables and imported seed data into those tables for my system called ' I and I '. I created a sample Purchase Order through the PO menu item and a sample Invoice through the Invoice menu item. The Invoice detail is what is causing the problem. I was able to create Invoice 'ABC123' and add a line of Invoice Detail. On the same line of detail, I was able to update the 'Service Begin' field multiple times as well as the Hours/Days field. After that, I was able to update Expenses from null to .2 without a problem. BUT when I wanted to update Expenses from .2 to 0, then I get the 'Current version of database has changed...' and it is now locked. You have to delete the record and recreate it in order to change the fields to the correct values.
I have two dynamic actions on the page.
I have two custom processes that occur AFTER ApplyMRU.
The workspace is PSGCA.
The login for the page is Valerie.Belcher@Williams.com
The password is Raymond1909.
Once you select the application I and I and run it, you will have to log in. Your id is guru and your password is guru
Once you log in, go directly to Invoice page by selecting Invoice from the menu options.
Select ABC123 and go to the Invoice Detail screen (page 310).
Thanks in advance for your help!!
For some reason I could narrow it down to the format mask on the expenses column, which was
When I changed it to
everything magically started working.
For people wondering about PR:
Returns negative value in <angle brackets>.
Returns positive value with a leading and trailing blank.
Restriction: The PR format element can appear only in the last position of a number format model.
I'm just not sure why this particular mask causes it. Since checksums are generated I ran this sql to take a guess:
select DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw(exp1)) md5_val1, DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw(exp2)) md5_val2, DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw('1.00')) md5_val1_1, DBMS_OBFUSCATION_TOOLKIT.md5 (input => UTL_RAW.cast_to_raw('1.00')) md5_val2_2 from ( select expenses exp1, to_char(expenses,'999G999G999G990D00PR') exp2 from invoice_details ) a
which generates this output.
MD5_VAL1 MD5_VAL2 MD5_VAL1_1 MD5_VAL2_2 C4CA4238A0B923820DCC509A6F75849B 4DF59D42C9EE6119AEB2ADC95E7B7CF6 41CF2677CC4EC9356DAD8E76DFB87448 41CF2677CC4EC9356DAD8E76DFB87448
Still unsure, but maybe it's to do with how and when the checksums are generated?
Drawing a blank here - as you can see there is no guru, ace or oracle badge under my name so I'm safe
I made changes to page 310, made backup to 24 but probably doesn't matter since your app is local. Probably safe to change your credentials and/or remove your application.
awesome effort on the example. That helps us help you a lot better!
WOW! Thank you! That was it! Good grief! So just to educate me, why would a format like that be provided for a number if it could possibly cause this error? I would never have found this without your observant eyes! THANK YOU SO MUCH, Mr. GURU!
Well, the format works fine in sql and causes no harm in reports, but I don't fully understand why apex determines there has been a change of data because of this mask. I know there is a checksum generated during render and another during submit and how they are compared to determine if data has changed between those 2 points. But there must be some nuance to it here for some reason - wish I knew.
Were any of the numbers to be displayed/saved negative? Since negative number cause angle brackets <> to display -- and HTML loves angle brackets, it makes my wonder if that could cause a problem in a roundabout way. Or, just the fact that they are in the definition even if never used -- no negative numbers -- might lead to the problem.
While it would seem most likely to occur with negative numbers, in the example of VRickert there were no negative numbers. I only tried with positive ones even because I know the brackets may cause further issue - but no joy. That is part of why I don't see what kind of goes 'wrong' here: on a positive number it looks like an actual positive number with no fluff around it.
But doesn't there have to be code somewhere with angle brackets in it -- in case the number comes out negative? Could whatever wraps that code be messing/messed up?
You don't need angle brackets to show negatives. Oracle will put a '-' sign for negative numbers with the regular formats. 'PR' format will not work. I had no other code, just that format specification. It was a weird error.