For everyone facing unexpected the JBO-25014 error using (ADF) BC

Hi,
I think I might have a hint for everyone facing JBO-25014 (Another user has changed the row with primary key oracle.jbo.Key) errors during updates.
I noticed that during updates, we got unexpected behavior: we have a table with an update row trigger defined on it, where we set values for some columns. During updates via ADF BC (we work with JDev 10.1.3 SU3 and JHeadstart 10.1.3 build 78 against Oracle 8.1.7.4, 9.2.0.7 and 10.2.0.1) we noticed that the value of one of the fields updated via triggers was emptied, although the update could in no way hit the logic for this field. So I reproduced the behavior in the Application Module Tester and also reproduced it in SQL*Plus using a PL/SQL procedure: the problem occurs because of Oracle's RETURNING statement, which is used in ADF BC for fields that need refresh after insert of update. We seem to hit bug 4515623: "Update...RETURNING with a trigger can produce corrupt column data".
This should be solved in RDBMS 9.2.0.8 (not there yet) and 10.2.0.2 (already released). I still have to test whether 10.2.0.2 does solve our problem, but I thought I would let you know in advance. Maybe someone can test before I can (I have to set up a 10G DB first, since I work with 9.2.0.7),
Toine van Beckhoven

Here is additional info on this behavior. I was able to install a 10G DB (10.2.0.1) where I could reproduce the problem. After that I installed patch 10.2.0.2 and tried out it the bug was solved. However: the bug is solved, but not correctly, a new bug is introduced which is still a major problem when you use ADF BC on top of tables with Before Update triggers (but as you can see below, with update triggers containing conditional logic!). So this is really a database problem, but with impact on applications using the refresh after update property in ADF BC! The new bug is known as bug 5115882.
Here is the script I used to pinpoint the problem (I highlighted the things that really show the problem):
DROP TABLE test_ts;
CREATE TABLE test_ts (test_ts_id INTEGER PRIMARY KEY,
status SMALLINT NOT NULL, someotherfield VARCHAR2(1), edittime DATE);
CREATE OR REPLACE TRIGGER test_ts_time
BEFORE UPDATE
ON test_ts
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
-- always update edittime
:NEW.edittime := SYSDATE;
-- only update someotherfield conditionally (when status=1)
IF :NEW.status = 1
THEN
:NEW.someotherfield := 'Y';
END IF;
END;
PROMPT Create one row, with status 1 and someotherfield initially 'N'
INSERT INTO test_ts
(test_ts_id, status, someotherfield, edittime
VALUES (1, 1, 'N', SYSDATE
SELECT test_ts_id, status, someotherfield,
TO_CHAR (edittime, 'dd-mm-yyyy hh24:mi:ss') edittime
FROM test_ts;
SET serverout on
PROMPT Update the row, with status 2 --> trigger logic will not fire
DECLARE
l_someotherfield test_ts.someotherfield%TYPE;
l_edittime test_ts.edittime%TYPE;
BEGIN
FOR i IN 1 .. 100000000
LOOP
NULL;
END LOOP;
UPDATE test_ts
SET status = 2
WHERE test_ts_id = 1
RETURNING someotherfield, edittime
INTO l_someotherfield, l_edittime;
DBMS_OUTPUT.put_line
( 'Returned SomeOtherField (should be ''N'' but is empty in 10.2.0.1): '
|| l_someotherfield
DBMS_OUTPUT.put_line
( 'Returned EditTime (should be greater than selected one before): '
|| TO_CHAR (l_edittime, 'dd-mm-yyyy hh24:mi:ss')
DBMS_OUTPUT.put_line ('-');
END;
PROMPT However: someotherfield is really 'N' so why is it returning NULL --> bug
SELECT test_ts_id, status, someotherfield,
TO_CHAR (edittime, 'dd-mm-yyyy hh24:mi:ss') edittime
FROM test_ts;
PROMPT Update the row, with status 1 --> trigger logic will fire
DECLARE
l_someotherfield test_ts.someotherfield%TYPE;
l_edittime test_ts.edittime%TYPE;
BEGIN
FOR i IN 1 .. 100000000
LOOP
NULL;
END LOOP;
UPDATE test_ts
SET status = 1
WHERE test_ts_id = 1
RETURNING someotherfield, edittime
INTO l_someotherfield, l_edittime;
DBMS_OUTPUT.put_line
( 'Returned SomeOtherField (should be ''Y'' and is ''Y'' also in 10.2.0.1): '
|| l_someotherfield
); DBMS_OUTPUT.put_line
( 'Returned EditTime (should be greater than selected one before): '
|| TO_CHAR (l_edittime, 'dd-mm-yyyy hh24:mi:ss')
DBMS_OUTPUT.put_line ('-');
END;
PROMPT And see: someotherfield is indeed 'Y' so expected behavior
SELECT test_ts_id, status, someotherfield,
TO_CHAR (edittime, 'dd-mm-yyyy hh24:mi:ss') edittime
FROM test_ts;
Output on 10.2.0.1:
Table dropped.
Table created.
Trigger created.
Create one row, with status 1 and someotherfield initially 'N'
1 row created.
TEST_TS_ID STATUS S EDITTIME
1 1 N 16-07-2006 15:11:35
1 row selected.
Update the row, with status 2 --> trigger logic will not fire
Returned SomeOtherField (should be 'N' but is empty in 10.2.0.1): --> bug
Returned EditTime (should be greater than selected one before): 16-07-2006 15:11:37
PL/SQL procedure successfully completed.
However: someotherfield is really 'N' so why is it returning NULL --> bug
TEST_TS_ID STATUS S EDITTIME
1 2 N 16-07-2006 15:11:37
1 row selected.
Update the row, with status 1 --> trigger logic will fire
Returned SomeOtherField (should be 'Y' and is 'Y' also in 10.2.0.1): Y
Returned EditTime (should be greater than selected one before): 16-07-2006 15:11:40
PL/SQL procedure successfully completed.
And see: someotherfield is indeed 'Y' so expected behavior
TEST_TS_ID STATUS S EDITTIME
1 1 Y 16-07-2006 15:11:40
1 row selected.
Output on 10.2.0.2:
Table dropped.
Table created.
Trigger created.
Create one row, with status 1 and someotherfield initially 'N'
1 row created.
TEST_TS_ID STATUS S EDITTIME
1 1 N 16-07-2006 23:47:51
1 row selected.
Update the row, with status 2 --> trigger logic will not fire
Returned SomeOtherField (should be 'N' and is indeed 'N' in 10.2.0.2): N --> ALLRIGHT, this correct, but look further...
Returned EditTime (should be greater than selected one before): 16-07-2006 23:47:51
PL/SQL procedure successfully completed.
TEST_TS_ID STATUS S EDITTIME
1 2 N 16-07-2006 23:47:54
1 row selected.
Update the row, with status 1 --> trigger logic will fire
Returned SomeOtherField (should be 'Y' ...but is the old value 'N' in 10.2.0.2): N --> so a new bug has been introduced so a problem still remains!
Returned EditTime (should be greater than selected one before): 16-07-2006 23:47:54
PL/SQL procedure successfully completed.
And see: someotherfield is indeed 'Y' so the Returned value is now not correct, like it was in 10.2.0.1
TEST_TS_ID STATUS S EDITTIME
1 1 Y 16-07-2006 23:47:56
1 row selected.
I am affraid we need to look at workarounds, because we rely heavily on before update triggers in the DB with conditional logic. I do not really want to change my triggers (for example removing conditional logic...). And it seems that waiting for the Oracle RDBMS to really solve this problem is not viable either (I saw notes that it will be solved in 11G, not in 10 or 9!).
Anyone from the ADF development team that recognizes this problem and is able to verify that this really is a RDBMS problem? The testcases above run on every DB version as a regular user (for example SCOTT) with some create privileges),
Toine

Similar Messages

  • [svn:osmf:] 13042: Fix for FM-287, reinstating the main sample ( that uses serial and parallel composition), and making another pass at  getting all the changed trait methods mapped correctly back- and forth between JS and Flash .

    Revision: 13042
    Revision: 13042
    Author:   [email protected]
    Date:     2009-12-17 03:45:27 -0800 (Thu, 17 Dec 2009)
    Log Message:
    Fix for FM-287, reinstating the main sample (that uses serial and parallel composition), and making another pass at  getting all the changed trait methods mapped correctly back- and forth between JS and Flash.
    Ticket Links:
        http://bugs.adobe.com/jira/browse/FM-287
    Modified Paths:
        osmf/trunk/apps/samples/framework/HTMLGatewaySample/HTMLGatewaySample.as
        osmf/trunk/apps/samples/framework/HTMLGatewaySample/html-template/index.template.html
        osmf/trunk/framework/MediaFramework/org/osmf/external/HTMLElement.as
        osmf/trunk/framework/MediaFramework/org/osmf/gateways/HTMLGateway.as

    Perre wrote:I'm used to being able to pick one or a couple of songs and then adding it a specified playlist. Is this impossible in sonata?
    It's clearly not impossible, just different than you expect. Create your playlist as you want it to appear in the Current tab (meaning don't dump every single song from your library in there, just the ones you want) and then save the playlist.
    Perre wrote:And if I try to play the m3u file created (the one with every song listed) through freevo I get a message that the directory is empty. What am I doing wrong??
    Look at save_absolute_paths_in_playlists in your mpd.conf.

  • What do I have to do? I have paid for pro, cant download the software, says error 1310 - Error writing to file....verify you have access to that directory

    What do I have to do? I have paid for acrobat pro and it won't let me download the software, says error 1310 - Error writing file... verify you have access to directory.
    I need help
    Thank you

    assuming the problem is NOT downloarding, but installing; if you have antivirus running, disable it.

  • JBO-27122 error in ADF mobile client application for blackberry

    Hi,
    I am trying to develop a simple ADF mobile client application for blackberry. Currently, working only with Blackberry 9700 simulator. I am using the following for development:
    - Jdev 11.1.1.3
    - Oracle database lite 10.3.3
    I have done all the steps as given in the oracle demo. But when I try to run the application in blackberry simulator, the page shows the following error:
    ERROR: failed to change page
    oracle.jbo.server.DBTransactionImpl.createPreparedStatement: JBO-27122: SQL error during statement preparation. Statement: select po_header_id from po_headers_all where po_header_id=1
    [oracle.jbo.server.DBTransactionImpl.createPreparedStatement] Encountered exception executing query on ViewObject: header1
    [oracle.jbo.server.DBTransactionImpl.createPreparedStatement] Error retrieving BindingContainer : 'mobile_twoPageDef'
    oracle.adfnmc.java.sql.SQLException:
    oracle.adfnmc.java.sql.SQLException:net.rim.device.api.database.DatabaseException: select po_header_id from po_headers_all where po_header_id=1 : SQL logic error or missing database
    Unable to create/prepare native statement with SQL select po_header_id from po_headers_all from po_header_id=1
    Unable to create PreparedStatement with SQL select po_header_id from po_headers_all from po_header_id=1
    Please suggest what could have been wrong while developing or deploying the application.
    P.S. : The view object (header) shows data successfully when run in the application module. Also, a .db file gets created in the SD card folder. The synchronisation is a success when mSync.exe file is run in the <Oracle_Home>/Mobile/Server/Sdk/bin.

    Sorry my content got repeated.
    you can go through this thread FOD mobile db sync with base adf server db not working
    there is link that you can follow for synchronization (check second last message)
    Edited by: Nikhil Gokhale on Apr 17, 2011 3:55 AM

  • For everyone who has problems burning and error 4280

    I have read countless posts about this problem, and spent hours trying to resolve it, as well. For those of you who have this problem, this might help...
    http://h10025.www1.hp.com/ewfrf/wc/document?docname=c00300433&lc=en&cc=us&dlc=en &product=407100

    HI,
    I take it you have actually checked that these contacts have Messages Enabled on their iPhones ?
    I find I can SMS my wife's iPhone when I am not on Wifi at work.
    However I don't get her replies back.
    I have a Pay as You Go contract  and have Data turned Off as the Carrier even charges for Location Services.
    I have a feeling that people not being on WiFi and not enabling SMS is part of the issue in these cases.
    10:06 pm      Monday; December 23, 2013
      iMac 2.5Ghz 5i 2011 (Mavericks 10.9)
     G4/1GhzDual MDD (Leopard 10.5.8)
     MacBookPro 2Gb (Snow Leopard 10.6.8)
     Mac OS X (10.6.8),
     Couple of iPhones and an iPad

  • JBO-29000 error in ADF SRDemo  demo aplication

    Hello !
    I would be greatful if you could help me in resovling my current problem with ADF demo setup aplication SRDemo.
    I changed database tables so the table and field names woudl be in my own language, serbian, and ther is when it cames to the problem.
    I have changer User table name to Korisnici, UserId to KorisnickiId and so on, and now i dont know how to change value of field UserId in manager, beacuse it seams that it stili looks for userid field in database table, and not korisnickiid.
    I have changed all the other staff, User object with Korisnici object and so on,
    and when trying to start List.jspx page it reads following errors :
    1. JBO-29000: Unexpected exception caught: java.lang.RuntimeException, msg=javax.servlet.jsp.el.ELException: An error occurred while getting property "userId" from an instance of class oracle.endomed.view.UserInfo
    2. javax.servlet.jsp.el.ELException: An error occurred while getting property "userId" from an instance of class oracle.endomed.view.UserInfo
    Thanks for help !
    Nemanja

    Sorry my content got repeated.
    you can go through this thread FOD mobile db sync with base adf server db not working
    there is link that you can follow for synchronization (check second last message)
    Edited by: Nikhil Gokhale on Apr 17, 2011 3:55 AM

  • I received a new Ipad2 for Christmas, I noticed the few times i used it the volume button was stuck , it would stay on the screen and keep Turning up, it has a dent where the volume isin the middle, apple said I could send it for a replacement but...

    She also mentioned if I had an apple store here I could take it in it may be faster, we just had a new apple store that opened in our mall so I took it in, talked to the tech and he pushed the button to see what I meant, then he says yeah this is broken and dented from pushing so hard on it, I said it wasn't really dented that bad just the middle, it came that way, then he's says well we aren't actually a apple store we just sell there product here so you are best to go with Apple and send it too them like they said, I was dumbfounded I honestly think he made this worse when he pushed on it, now I am scared when apple receives me iPad they won't replace it like they said, it was bought this way apparently a bad lot went into the store my husband got it and they told everyone to call apple to replace because they don't replace electronics, I am freaked out now I feel screwed all the way around, what do you think Apples reaction will be, how good is their customer service in Canada when sent away? I am just worried because this wasn't my fault

    Big issue?  Really?  I'm on this forum just about every night and yet, I have not seen posts about such a "Big" issue with any regularity.  If your iPad was dented when you got it (sorry for not really believing you), why did you wait until just now to try bringing this to anyones attention?  My guess is you dented the iPad.  Initially it wasn't an issue, but after pushing on the volume control too hard, it is an issue and you want a free replacement.  I'm probably right on the money and you'll likely have a not too kind reply.  That's OK, because I'm not the one who will decide the outcome of this.  Apple will and for you to get an answer, take it to Apple.  But, don't be too surprised when they don't offer a free replacement and they offer you an "out of warranty" replacement at about 50% of the cost of the device when it was new.

  • My iPad disconnects everyone else on the router when in use. It actually kicks off everyone else that is using the same router connection periodically.

    Yes. Not that my iPad gets disconnected, it actually might be causing everyone else to disconnect from the router, including itself.
    Whenever I connect my router to this wifi at work or home at periodic intervals it actually causes everyone, including wifi and 'hard-line' users to receive no connection to the local network and internet.
    When the iPad stops connecting to the wifi, the problem stops for the duration it stays off, Tested it at durations of no iPad connection of 4 hours with no problems. And when connected it causes everyone on the network to drop (for all users) every 5-15 minutes.
    Why does ithis happen and how do I make it stop?

    Look at iOS Troubleshooting Wi-Fi networks and connections  http://support.apple.com/kb/TS1398
    iPad: Issues connecting to Wi-Fi networks  http://support.apple.com/kb/ts3304
    iOS: Recommended settings for Wi-Fi routers and access points  http://support.apple.com/kb/HT4199
    Additional things to try.
    Try this first. Turn Off your iPad. Then turn Off (disconnect power cord) the wireless router & then back On. Now boot your iPad. Hopefully it will see the WiFi.
    Go to Settings>Wi-Fi and turn Off. Then while at Settings>Wi-Fi, turn back On and chose a Network.
    Change the channel on your wireless router. Instructions at http://macintoshhowto.com/advanced/how-to-get-a-good-range-on-your-wireless-netw ork.html
    Another thing to try - Go into your router security settings and change from WEP to WPA with AES.
    How to Quickly Fix iPad 3 Wi-Fi Reception Problems
    http://osxdaily.com/2012/03/21/fix-new-ipad-3-wi-fi-reception-problems/
    If none of the above suggestions work, look at this link.
    iPad Wi-Fi Problems: Comprehensive List of Fixes
    http://appletoolbox.com/2010/04/ipad-wi-fi-problems-comprehensive-list-of-fixes/
    Fix iPad Wifi Connection and Signal Issues  http://www.youtube.com/watch?v=uwWtIG5jUxE
    ~~~~~~~~~~~~~~~
    If any of the above solutions work, please post back what solved your problem. It will help others with the same problem.
     Cheers, Tom

  • Looking for wireless speakers for iPad, would like the speakers to be used plugged in to AC as well as battery.  Any recommendations?

    looking for wireless/Bluetooth speakers for use with iPad, would like these speakers to run on AC as well as battery.  Any recommendations?

    My experience with steaming with Apple products is done from iTunes, my music and video files from iTunes on my iMac or video from Apple Store. I sync photos and music from iTunes with iPhone, iPod Touch and AppleTV.
    I have a 2TB external disk that has my iTunes library on it. All my music, TV and movies. It is hosted on my iMac
    I do not know if mkv video can be played on the iPad, maybe there is an app that can do it. According to the iPad specifications the video files have to be "Video formats supported: H.264 video up to 1080p, 30 frames per second, High Profile level 4.1 with AAC-LC audio up to 160 Kbps, 48kHz, stereo audio in .m4v, .mp4 and .mov file formats; MPEG-4 video up to 2.5 Mbps, 640 by 480 pixels, 30 frames per second, Simple Profile with AAC-LC audio up to 160 Kbps per channel, 48kHz, stereo audio in .m4v, .mp4 and .mov file formats; Motion JPEG (M-JPEG) up to 35 Mbps, 1280 by 720 pixels, 30 frames per second, audio in ulaw, PCM stereo audio in .avi file format"

  • My iphone4 keeps shutting off on its own every 24-36 hours and I can't switch it back on unless I plug it into the charger n charge it. I didn't charge the iPhone for a long period the first time I used it and I charge it every night for at least 7 hours.

    My iPhone 4 shuts down automatically and I can't turn it back on unless I plug it into charger and charge it. This happens spontaneously. I didn't charge it for a long time before using it for the first time and I charge it nightly for at least 7 hours. What is the problem?

    My iPhone 4 shuts down automatically and I can't turn it back on unless I plug it into charger and charge it. This happens spontaneously. I didn't charge it for a long time before using it for the first time and I charge it nightly for at least 7 hours. What is the problem?

  • My husband and I both have iPhones . How do I use one account for purchases and keep the email separate when using iCloud?

    My husband and I both have iPhones . How do I use one iTunes account to share music, photos and apps, and keep our email accounts separate since all data will use the iCloud function.

    You shouldn't be using the same account on phone iphones. Have him setup his own and make sure his iCloud is logged in with that one

  • I signed up for a 30 day free trial; however, I am being asked for $19.99 at the first attempt of use. Why?

    Why am I being asked to pay $19.99, the first time I am trying to use my 30 day free trial?

    Calpre what Adobe software or service is your inquiry in relation too?

  • 500 Server Error Using ADF

    I'm taking over an application from an Employee who left a few months back. I am simply trying to redeploy an app (so I can have a working baseline) and I'm getting the following error.
    I have emailed the former employee and he states that this had worked with no errors before. I believe he was using jDeveloper 9 whereas I am using the latest version 10.
    This error seems completely unrelated to the source code but yet something in ADF. I'm including all the ADF libraries in the WEB-INF/lib but this error remains.
    Anyone got an idea?
    HTTP Status 500 -
    type Exception report
    message
    description The server encountered an internal error () that prevented it from fulfilling this request.
    exception
    javax.servlet.ServletException: Filter execution threw an exception
    root cause
    java.lang.NoSuchMethodError: oracle.adf.view.faces.webapp.UploadedFileProcessor.init(Ljava/lang/Object;)V
         oracle.adfinternal.view.faces.webapp.ConfigParser.parseConfigFile(ConfigParser.java:117)
         oracle.adfinternal.view.faces.context.AdfFacesContextFactoryImpl._getBean(AdfFacesContextFactoryImpl.java:40)
         oracle.adfinternal.view.faces.context.AdfFacesContextFactoryImpl.createContext(AdfFacesContextFactoryImpl.java:29)
         oracle.adfinternal.view.faces.webapp.AdfFacesFilterHelperImpl.startFilter(AdfFacesFilterHelperImpl.java:87)
         oracle.adfinternal.view.faces.webapp.AdfFacesFilterImpl.doFilter(AdfFacesFilterImpl.java:110)
         oracle.adf.view.faces.webapp.AdfFacesFilter.doFilter(AdfFacesFilter.java:103)
    note The full stack trace of the root cause is available in the Apache Tomcat/5.5.17 logs.
    Apache Tomcat/5.5.17

    Hi,
    actually he used JDeveloper 10.1.3.0 while you use 10.1.3.1 or 10.1.3.2. Just change the adf-faces.jar and jsf-impl.jar file in the application's view-project directory (public_html/WEB-INF/lib ) directory with the files you find in your JDeveloper's jlib andjsf-ri directory
    That should fix the issue
    Frank

  • Jbo-25014 problem

    using jsf/adf bc. i've read through all the threads in this forum regarding what causes and how to fix the "Another user has changed the row..." error, but I still cannot avoid getting this error. In my scenario, i have just 2 pages. On page 1 there is just one button, which has behind it the code to create 2 new rows, 1 new row for the master vo and one new row for the detail vo. These vo's are related via a view link. That code looks like this:
    public void createMasterAndDetailRows(){
    ViewObject masterVO = this.getMasterVo();
    Row masterRow = masterVO .createRow();
    masterVO .insertRow(masterRow );
    ViewObject detailVO = this.getDetailVo();
    Row detailRow = detailVO .createRow();
    detailVO .insertRow(detailRow );
    masterRow .setNewRowState(Row.STATUS_INITIALIZED);
    detailRow .setNewRowState(Row.STATUS_INITIALIZED);
    The primary key value for the master view's entity is a DBSequence type, and I've got the Refresh After Insert checked. Here's what is happening. The new rows (inputs) are rendered just fine when i get to page 2. I can enter in some values for both the new rows that have just been created and do a commit. This works great. Now, i'm still on this page after i've done the commit. I update a value on the page and commit again, resulting in the jbo-25014 error. The two popular suggestions througout the forum are to make sure the Refresh After Insert is checked for the entity which has the DBSequence type and to set the app module configuration to jbo.locking.mode = optimistic. I've tried both these approaches and cannot get away from this error. In fact, just to try to isolate the problem, i set this same thing up w/o using a trigger generated value (DBSequence) for the primary key, and i still get the error. So, as far as i can tell, this has nothing to do with the fact that i'm using a trigger to generate the pk value. Are there any other suggestions for how to solve this problem? Thanks.

    using jsf/adf bc. i've read through all the threads in this forum regarding what causes and how to fix the "Another user has changed the row..." error, but I still cannot avoid getting this error. In my scenario, i have just 2 pages. On page 1 there is just one button, which has behind it the code to create 2 new rows, 1 new row for the master vo and one new row for the detail vo. These vo's are related via a view link. That code looks like this:
    public void createMasterAndDetailRows(){
    ViewObject masterVO = this.getMasterVo();
    Row masterRow = masterVO .createRow();
    masterVO .insertRow(masterRow );
    ViewObject detailVO = this.getDetailVo();
    Row detailRow = detailVO .createRow();
    detailVO .insertRow(detailRow );
    masterRow .setNewRowState(Row.STATUS_INITIALIZED);
    detailRow .setNewRowState(Row.STATUS_INITIALIZED);
    The primary key value for the master view's entity is a DBSequence type, and I've got the Refresh After Insert checked. Here's what is happening. The new rows (inputs) are rendered just fine when i get to page 2. I can enter in some values for both the new rows that have just been created and do a commit. This works great. Now, i'm still on this page after i've done the commit. I update a value on the page and commit again, resulting in the jbo-25014 error. The two popular suggestions througout the forum are to make sure the Refresh After Insert is checked for the entity which has the DBSequence type and to set the app module configuration to jbo.locking.mode = optimistic. I've tried both these approaches and cannot get away from this error. In fact, just to try to isolate the problem, i set this same thing up w/o using a trigger generated value (DBSequence) for the primary key, and i still get the error. So, as far as i can tell, this has nothing to do with the fact that i'm using a trigger to generate the pk value. Are there any other suggestions for how to solve this problem? Thanks.

  • JBO-25014 - Solved Issue, but want to know WHY it now works!

    Environment: Using JDev 10.1.2.0 with Struts, ADF BC, and JSPs with data on Oracle 9i
    I have been working several pages forllowing the Customer Maintenance OBE as a guide. I created tables using the wizard. When done, I unchecked rowid as the pkey, since a numerical field named postingid is the pkey defined in the table. I make this the pkey and also checked manditory. I also created a Create method in the Impl by checking the create checkbox. I then added code to populate the primary key with setPostingId from a sequence table using code similar to:
    SequenceImpl s = new SequenceImpl("customers_seq", getDBTransaction());
    this.setCustId(s.getSequenceNumber());
    I could create a record.
    If I edit, cancel (rollback) - I could then edit the record without error.
    If I edited a record as the next action after saving a created record (modifying content) and saved, I would get the JBO-25014 error.
    Here's the kicker...
    I changed the primary keys all back to rowid and rebuilt the model. Now I don't get the error when I save a saved created record after changes.
    Why!
    Why can't I use my primary keys?
    (I tried setting fields to fresh after update or insert), but I would get another oracle error as the return as was not supported.

    Klee,
    What is the datatype of the attributes in the EO (I assume the table is NUMBER) - are the EO key attributes Number or DBSequence. If they are not DBSequence, I suggest you give that a try.
    John

Maybe you are looking for