Domain Portal

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Saturday, 30 June 2007

Updatable While New problem in JDeveloper 10.1.3

Posted on 09:38 by Unknown
In my recent project I have faced an issue with editable table and validation functionality for table columns in JDeveloper 10.1.3. The problem was - when table was updated with wrong data, 500 Internal Server Error was generated, instead of error message. For sure, quite negative behavior. At first I have checked all validation rules, there was no any errors. For primary key attribute was assigned DBSequence type, I have tried to change it into oracle.jbo.domain.Number type, run test again - and application started to work correctly.

However, DBSequence type wasn't a source of problem. Problem was in Updatable While New option, when DBSequence type is used primary key attribute is read-only for existing rows, this means Updatable While New is selected automatically. Steve Muench have registered Updatable While New issue as a bug with reference - bug# 6138325, and provided workaround for us. Thanks Steve!

I have developed sample application - AttributeList.zip, in order to demonstrate this issue and to show how Steve's workaround works. In sample application EMPLOYEES table from standard HR schema is used. This table contains columns with NUMBER type, so it is suitable in our case. Sample provides two pages - test1.jspx and test2.jspx, first page shows wrong behaviour and second - correct.

At first, in JDeveloper 10.1.3 I have created simple editable table in standard way, like it is described in Oracle ADF Developer Guide. Table contains salary column, let's say we want to increase salary value for Alexander Hunold, column precision declared in database is 8, try to submit with precision 10:


Exception is generated:


Unusual behaviour, instead of validation error, exception is received and application crashed. However, workaround is available and in later JDeveloper versions this bug is fixed. Workaround is pretty simple and elegant, just put any updatable attribute in page definition file before read-only attribute for existing rows:


EmployeeId is declared as read-only attribute for existing rows:


And let's run a test again, correct behavior is received - no exception and expected validation message is shown:


Hope, shared experience will be useful for those, who will face the same issue in Oracle JDeveloper 10.1.3.

When running sample application, don't forget to add adf-faces-impl.jar and jsf-impl.jar to application's WEB-INF\lib directory.
Email ThisBlogThis!Share to XShare to Facebook
Posted in ADF | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

Categories

  • ADF
  • Apex
  • Apple
  • BPEL
  • Events
  • Forms
  • Groovy
  • JDeveloper 11g
  • Nomination
  • ODTUG Kaleidoscope
  • OFUG
  • Oracle Magazine
  • Oracle OpenWorld
  • Security
  • SOA
  • Spatial
  • TopLink
  • Traveling
  • Uncategorized
  • Vgo Software
  • Web Services
  • WebCenter
  • WebLogic
  • Workarounds

Blog Archive

  • ►  2008 (72)
    • ►  December (2)
    • ►  November (3)
    • ►  October (9)
    • ►  September (4)
    • ►  August (9)
    • ►  July (6)
    • ►  June (10)
    • ►  May (4)
    • ►  April (5)
    • ►  March (7)
    • ►  February (5)
    • ►  January (8)
  • ▼  2007 (65)
    • ►  December (6)
    • ►  November (7)
    • ►  October (6)
    • ►  September (4)
    • ►  August (3)
    • ►  July (4)
    • ▼  June (6)
      • Updatable While New problem in JDeveloper 10.1.3
      • Nice Norway
      • Create, Edit and Delete operations in Master-Detai...
      • Web Services in Oracle JDeveloper 11g
      • Master in Computer Science degree
      • Web Services and Oracle TopLink
    • ►  May (5)
    • ►  April (6)
    • ►  March (4)
    • ►  February (5)
    • ►  January (9)
  • ►  2006 (9)
    • ►  December (9)
Powered by Blogger.

About Me

Unknown
View my complete profile