Thread: problems using uix lov after creating a new record


Permlink Replies: 7 - Pages: 1 - Last Post: Feb 16, 2006 3:53 AM Last Post By: Didier Laurent
michi

Posts: 4
Registered: 02/09/06
problems using uix lov after creating a new record
Posted: Feb 14, 2006 6:59 AM
Click to report abuse...   Click to reply to this thread Reply
i tried to implement a lov function in my uix application as it is described at http://www.oracle.com/technology/obe/obe_as_1012/j2ee/develop/client/uix_lov_obe/uix_lov_obe.htm
it works just fine as long as i only try to edit existing records.

after clicking on a button to create a new record and trying to use the lov function the text field doesn't get filled but i don't get any error message either
if i give it a second try it works again, same if i submit the form and then try to edit it again

i also have another lov field working even worse..
the only difference i can find between these two fields is that this attribute is only "updateable while new"
having a new entry it simply does nothing just as the other field, but giving it a second try doesn't help as i get a "Row currency has changed since the user interface was rendered. The expected row key was null" error.

anyone ideas?
Didier Laurent

Posts: 611
Registered: 01/10/01
Re: problems using uix lov after creating a new record
Posted: Feb 14, 2006 7:37 AM   in response to: michi in response to: michi
Click to report abuse...   Click to reply to this thread Reply
To solve this problem,
1) open your UIX page where you create a new row
2) in the Structure window, click third tab "UI Model"
3) double-click the control action binding corresponding to Create
4) select CreateInsert from the list

The problem is related to the fix we introduced for the "Blank Row Issue" (see http://www.oracle.com/technology/products/jdev/tips/muench/blankrow/index.html).

If you have access to MetaLink, please refer to Note 299860.1 and Bug 4201020.

Regards,

Didier.
michi

Posts: 4
Registered: 02/09/06
Re: problems using uix lov after creating a new record
Posted: Feb 14, 2006 11:35 PM   in response to: Didier Laurent in response to: Didier Laurent
Click to report abuse...   Click to reply to this thread Reply
Hi Didier,

thnx for ur quick reply, unfortunately it didn't solve my problem as my Create control action binding is already set to "CreateInsert" (I don't even have a single "Create" in that list)

thnx in advance for any other ideas

michi
Didier Laurent

Posts: 611
Registered: 01/10/01
Re: problems using uix lov after creating a new record
Posted: Feb 15, 2006 12:29 AM   in response to: michi in response to: michi
Click to report abuse...   Click to reply to this thread Reply
Hi Michi,

is your application using batch mode or immediate mode?
See Steve Muench's article "What is Batch Mode and When Should I Use It?" (URL: http://www.oracle.com/technology/products/jdev/tips/muench/batchmode/index.html)
If it's batch, could you switch to immediate and retest your application ?

If it's immediate, then I don't see what causes the problem.
In case you have access to MetaLink, the best then would be to create a Service Request (please mention this discussion in the Forum), so that we work on your issue via a Web conference.

Regards,

Didier.
michi

Posts: 4
Registered: 02/09/06
Re: problems using uix lov after creating a new record
Posted: Feb 15, 2006 2:24 AM   in response to: Didier Laurent in response to: Didier Laurent
Click to report abuse...   Click to reply to this thread Reply
Hi Didier,

my application was using batch mode, but the errors still occur after switching to immediate.

The problem definitely is that the creation isn't complete yet after clicking the button. If I add a read-only table to the same page, the newly created row doesn't appear after creating the new record. It does appear after trying the lov for the first time.
Maybe there's some kind of workaround by adding some functionality to the create button by hand so the record is fully created?

I didn't solve my second problem concerning lov either. If the attribute I try to fill is a foreign key (same with primary keys) i get an "JBO-33035 Row currency has changed since the user interface was rendered. The expected row key was null" error. Any ideas for this one?

I'm very new to these technologies, so maybe it's a very simle thing I missed, but I really don't know what to try....

I do not have access to MetaLink.

best regards,

michi
Didier Laurent

Posts: 611
Registered: 01/10/01
Re: problems using uix lov after creating a new record
Posted: Feb 15, 2006 3:24 PM   in response to: michi in response to: michi
Click to report abuse...   Click to reply to this thread Reply
Michi,

concerning the first problem, I had a look to the tutorial "Building a List of Values (LOV) with ADF UIX", and it doesn't explicitely ask to change the Create Action Binding.
Are you sure that the "CreateInsert" is used for your main page (the target of the LOV) ?
Please also confirm the version of JDeveloper you're using.

For the JBO-33035 error, could you test if the error is raised when entering the value manually ?
Also, is your View Object compound of more than one Entity Object ?
If this is the case, do you have attributes from the second or subsequent Entity Objects marked as "Key Attribute" ?

Regards,

Didier.
michi

Posts: 4
Registered: 02/09/06
Re: problems using uix lov after creating a new record
Posted: Feb 16, 2006 12:58 AM   in response to: Didier Laurent in response to: Didier Laurent
Click to report abuse...   Click to reply to this thread Reply
Hi Didier,

I am using Version 10.1.2.1.0 (Build 1913).

Entering the value manually works just fine. I have two Entity Objects in the View Object and I also had an attribute marked as "Key Attribute". Removing this setting solved the problem => thanx !

Concerning the Create problem, yes, I am absolutely sure that "CreateInsert" was already set (as I mentioned before I don't even have a "Create" Binding to choose). Nevertheless I now tried to set the Binding to some other value and reset to "CreateInsert" again. Now it worked !

Looking in the UIModel XML file I also got the reason for this.

In the beginning the "Action" value was set to 41 (seems to be "Create"). After I re-chose the CreateInsert binding it is now set to 40 (being the "real" CreateInsert).
Looks like a bug ?!

Well, now everything is working so far, so thanks a lot for your help and patience :)

best regards,

michi
Didier Laurent

Posts: 611
Registered: 01/10/01
Re: problems using uix lov after creating a new record
Posted: Feb 16, 2006 3:53 AM   in response to: michi in response to: michi
Click to report abuse...   Click to reply to this thread Reply
I'm happy it helped.

For problem with the "Key Attribute" for the non-updateable EO, I logged Bug 4208813 - UIX LOV WINDOW RETURNS JBO-33035 IN UIX PAGE BASED ON MULTI-ENTITY VIEW OBJECT
As you found yourself, workaround is to unset the "Key Attribute".

For the Create / CreateInsert binding, they are indeed identified by an integer in the UIModel.xml:
the old (9.0.5 and prior) "Create" and the new (from 10.1.2 onwards) "CreateInsert" have the same value 40, so that migrated applications sill behave the same way.
Having said that, I don't know why you were seeing "CreateInsert" while the value in the UIModel.xml was different.

Regards,

Didier.
Legend
Guru Guru : 2500 - 1000000 pts
Expert Expert : 1000 - 2499 pts
Pro Pro : 500 - 999 pts
Journeyman Journeyman : 200 - 499 pts
Newbie Newbie : 0 - 199 pts
Oracle ACE Director
Oracle ACE Member
Oracle Employee ACE
Helpful Answer (5 pts)
Correct Answer (10 pts)

Point your RSS reader here for a feed of the latest messages in all forums