[ADF-UIX] if Create record fails, it goes to Edit record, WHY????

I must be doing something wrong, because I cant imagine that ADF reacts the way it does within my application.
I have 2 datapages, browseDP and editDP
I have 1 data action, createDA, I dragged the create method from my viewobject here
The flow is as follows:
browseDP(create button) --> createDA --> editDP
browseDP(edit button) --> editDP
This works fine
But when a user presses the create button and the creation of a new record fails, the user
will edit the record where the DB cursor is atm. But the user thinks he's adding a new record.
You can understand that this leads to unwanted situations!
There is no error message given to the user if the creation of a new record fails, it also doesnt
return to the browse screen with an error message. Is this default behavoure of ADF? should I implement
my own error checking mechanism when creation fails???
Is there also a default flow option if a data action fails? I know success is default.
Does anybody have some tips for me, I want to avoid the explained situation.
kind regards
a very frustrated developer
Ido

We've found solution to that problem, maybe someone will save few hours thanks to following trick:
1. create UIX page with read-only table showing all the rows from details table
2. Below the table put form that will let user edit currently selected row
3. Insert "Create" submitButton in tableActions of the read-only table
4. Button "Commit" and "Rollback" might be put below input form to save or cancel entered changes
5. Now the tricky thing: instead of using submitButton that is binded to 'Delete' binding, do the following:
a) created binding that deletes current row in detail table
b) put button (not submitButton) and set it's destination property to "?event=mydelete"
3) create event in UIX page that is called 'mydelete' and runs binding 'Delete'
That's all - using that approach, when using clicks 'Add' and then 'Delete' he will not see JBO's saying that he didn't filled in required fields. It's a little bit obscure, but for me it's acceptable :-)
Leszek Deska

Similar Messages

  • ADF UIX doSelect override with PL/SQL fails to allow insert

    I've been trying to create an ADF-UIX web app for simple insert/update/delete of records to a table.
    The schema simply has 2 tables - master and detail where the detail pk is made up of the master id and a start date:
    CREATE TABLE master (
    id NUMBER NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    CONSTRAINT pk_master
    PRIMARY KEY ( id ));
    CREATE TABLE detail (
    id NUMBER NOT NULL,
    start_date DATE NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    description VARCHAR2 (100),
    CONSTRAINT pk_detail
    PRIMARY KEY ( id, start_date ));
    ALTER TABLE detail ADD CONSTRAINT d_m_fk FOREIGN KEY (id) REFERENCES master(id)
    This works fine when I create it in a similar manner to that described in the "Complete ADF UIX Application ..." tutorial doc.
    http://www.oracle.com/technology/products/jdev/collateral/tutorials/9050/adfuix_tut.html
    I then tried to override the ADF doSelect and doDML methods as outlined in ADF_BC_StoredProcedures.zip example app allowing me to use PL/SQL stored pkg for dml.
    http://www.oracle.com/technology/sample_code/products/jdev/10g/ADF_BC_StoredProcedures.zip
    On trying to insert a new row my web app now fails with a null pointer exception when I press the Submit button. The app calls doSelect->handleStoredProcSelect which fails to get the value of a column.
    void handleStoredProcSelect() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN test_api.do_select(?,?,?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    ## This line works, I'm guessing because the value is populated from the master record I've selected in the form ...
    st.setLong(1,getTestId().longValue());
    ##FAILS HERE st.setDate(2,getStartDate().dateValue());
    Update,delete still work ok. And if I run the test app (right click on AppModule and select Test) all works ok.
    I'm not sure why doSelect is called on an insert so I commented out:
    doSelect
    handleStoredProcSelect
    handleStoredProcLock
    compareOldAttrTo
    Web App now lets me insert as expected.
    So finally ....my question is:
    Whilst the app now works does commenting out the doSelect leave me open to problems I haven't thought off
    and if not if you did want to use it how can you allow inserts?
    Any thoughts or similar experiences appreciated ...
    Cheers
    Ian

    I've been trying to create an ADF-UIX web app for simple insert/update/delete of records to a table.
    The schema simply has 2 tables - master and detail where the detail pk is made up of the master id and a start date:
    CREATE TABLE master (
    id NUMBER NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    CONSTRAINT pk_master
    PRIMARY KEY ( id ));
    CREATE TABLE detail (
    id NUMBER NOT NULL,
    start_date DATE NOT NULL,
    name VARCHAR2 (10) NOT NULL,
    description VARCHAR2 (100),
    CONSTRAINT pk_detail
    PRIMARY KEY ( id, start_date ));
    ALTER TABLE detail ADD CONSTRAINT d_m_fk FOREIGN KEY (id) REFERENCES master(id)
    This works fine when I create it in a similar manner to that described in the "Complete ADF UIX Application ..." tutorial doc.
    http://www.oracle.com/technology/products/jdev/collateral/tutorials/9050/adfuix_tut.html
    I then tried to override the ADF doSelect and doDML methods as outlined in ADF_BC_StoredProcedures.zip example app allowing me to use PL/SQL stored pkg for dml.
    http://www.oracle.com/technology/sample_code/products/jdev/10g/ADF_BC_StoredProcedures.zip
    On trying to insert a new row my web app now fails with a null pointer exception when I press the Submit button. The app calls doSelect->handleStoredProcSelect which fails to get the value of a column.
    void handleStoredProcSelect() {
    CallableStatement st = null;
    try {
    String stmt = "BEGIN test_api.do_select(?,?,?,?,?); END;";
    DBTransaction tr = getDBTransaction();
    st = tr.createCallableStatement(stmt,1);
    ## This line works, I'm guessing because the value is populated from the master record I've selected in the form ...
    st.setLong(1,getTestId().longValue());
    ##FAILS HERE st.setDate(2,getStartDate().dateValue());
    Update,delete still work ok. And if I run the test app (right click on AppModule and select Test) all works ok.
    I'm not sure why doSelect is called on an insert so I commented out:
    doSelect
    handleStoredProcSelect
    handleStoredProcLock
    compareOldAttrTo
    Web App now lets me insert as expected.
    So finally ....my question is:
    Whilst the app now works does commenting out the doSelect leave me open to problems I haven't thought off
    and if not if you did want to use it how can you allow inserts?
    Any thoughts or similar experiences appreciated ...
    Cheers
    Ian

  • Creating Oracle ADF uix Pages Tutorial

    In going through the "Creating Oracle ADF UIX Pages" Tutorial
    Step 5:Adding a Table - I'm running into problems:
    - In item 2, I can not find Provider in Design Structure window (I find it in XML Structure Window)
    - In item 3, I can not find datacomponent in General Component Palette
    - In item 5 I can not find inline component in General Component Palette
    Does this tutorial work or am I missing something?

    I'm having the same problem. I looked over the recommended tutorial and it didn't cover how to mock up data in xml for prototyping. I think this tutorial is for JDeveloper 9i and not 10g. How is this done in JDev 10g?
    I entered this from the xml editor: I also tried:
    without a data tag
    with a data tag and with an inline tag
    with an inline tag
    nothing seems to work...
    <provider>
    <!-- Add DataProviders (<data> elements) here -->
    <data>
    <book cover=""
    title=""
    author=""
    price=""/>
    </data>
    </provider>
    I get this message when I switch to design mode:
    The document is not in a valid state. Please edit this file in the code editor to resolve syntax problems and then return to the visual editor.
    It doesn't like the xml code. Any ideas in how to do this? I would like to prototype an applications without connecting to real data sources...
    Thanks in advance
    Keith...

  • Creating a LINK in ADF UIX table

    Dear sirs...
    is it possible to create a link for each row in an adf uix table? the link selects the row and forwards to another page.
    i have seen this in a JSP page, but uix????
    best regards

    Dear sirs...
    is it possible to create a link for each row in an adf uix table? the link selects the row and forwards to another page.
    i have seen this in a JSP page, but uix????
    best regards

  • JBoss 4.0.0RC1/3.2.3 - JDeveloper 10g - ADF UIX

    While I realize that JDeveloper has only been tested (to one degree or another) with JBoss 3.2.X, I decided to try and publish to JBoss 4.X after failing with 3.2.X. (The results are the same for either server version).
    I have a simple master-detail page off of which I have a create action on the detail section. The primary key is a DBSequence number that goes against a table with an insert trigger defined and a sequence for that field.
    The create action opens an input form for creating a new record. In the emdedded OC4J, everything works just fine. Depsite following the developer's review paper on deploying to both standalone OC4J and JBoss, it fails completely. Errors are different, but I thought I would start with JBoss since this equates to our development environment:
    When the create button is selected to initiate the action, the input form comes up but in the place where I would expect to see a temporary sequence value in the primary key field, the value is blank and the Execute button on this form does not activate. In addition, JBoss error log (both JBoss 3.2.3 and JBoss 4.0.0RC1 (and DR4)) displays the following (just showing a fragment):
    2004-07-28 10:37:34,315 ERROR [org.jboss.web.localhost.Engine] StandardContext[paros]null
    java.lang.ClassCastException
         at oracle.jbo.uicli.uix.PrimitiveTypes.getArray(PrimitiveTypes.java:122)
         at oracle.jbo.uicli.uix.JUCtrlAdaptValueBindingRef._adapt(JUCtrlAdaptValueBindingRef.java:106)
         at oracle.jbo.uicli.uix.JUCtrlAdaptValueBindingRef._adapt(JUCtrlAdaptValueBindingRef.java:96)
         at oracle.jbo.uicli.uix.JUCtrlAdaptValueBindingRef.access$4000071(JUCtrlAdaptValueBindingRef.java:40)
         at oracle.jbo.uicli.uix.JUCtrlAdaptValueBindingRef$CompositeModel.get(JUCtrlAdaptValueBindingRef.java:219)
         at org.apache.commons.el.ArraySuffix.evaluate(ArraySuffix.java:218)
         at org.apache.commons.el.ComplexValue.evaluate(ComplexValue.java:145)
         at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:263)
         at org.apache.commons.el.ExpressionEvaluatorImpl.evaluate(ExpressionEvaluatorImpl.java:190)
         at oracle.jsp.el.OracleExpressionEvaluator.evaluate(Unknown Source)
         at oracle.jsp.el.OracleExpression.evaluate(Unknown Source)
         at oracle.cabo.ui.expl.ELBoundValue._evaluate(Unknown Source)
         at oracle.cabo.ui.expl.ELBoundValue.getValue(Unknown Source)
         at oracle.cabo.ui.collection.DataObjectListNodeList.getDataObjectList(Unknown Source)
         at oracle.cabo.ui.collection.DataObjectListNodeList.size(Unknown Source)
         at oracle.cabo.ui.BaseUINode.getIndexedChildCount(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.getVisibleIndexedChildCount(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.ColumnRenderer._startRowMode(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.ColumnRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.ColumnGroupRenderer._renderVisibleIndexedChildren(Unknown Source)
         at oracle.cabo.ui.laf.base.xhtml.ColumnGroupRenderer.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseUINode.render(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
         at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
    Has anyone been at all successful using ADF-UIX from JDeveloper 10g and JBoss of any version? (Note I have followed the steps to install ADF Runtime, setvars, etc).
    Thanks
    Ray

    Yes. I have no problem with jdeveloper10g and jboss-3.2.3.
    Niether on my note with both linux, win, nor on production server with linux.
    Carefully look where do you install ADF Runtime (server defualt), and what server do you start (default is all). Simply change startup server to default or, copy jboss-3.2.3/server/default/deploy/bc4j.ear to jboss-3.2.3/server/all/deploy/

  • Oracle ADF UIX tutorial wont commit changes

    I'm following the tutorial "Developing Applications with Oracle ADF UIX"
    http://otn.oracle.com/obe/obe9051jdev/uixTutorial/lesson_UIX.htm
    The tutorial works apart from if I create/update or delete a record its not commited to the database.
    Where I'm I going wrong?
    Thanks for any help.

    create/update should be commited to database due to method "Commit" that you drop into commit data action, and delete won't be commited, you should additionaly create "Commit" button on your page or use another way to commit.

  • File upload, download using ADF UIX and not JSP

    I have examples for the file upload, download using JSP
    But I want to use ADF UIX. Look and feel in this is impressing and I want to use this. Any one have example for this.
    Users will select a file from their desktop
    This will be stored into the database (Any document. Word, Excel)
    When they query the records then the UIX column need to give a hyperlink. Clicking on the link should prompt to download the file to the local system

    Sure, I use the Apache Commons File Upload package, so that is what I will discuss here ( [Commons File Upload|http://commons.apache.org/fileupload/] ).
    The Commons File Upload uses instances of ProgressListener to receive upload progress status. So first create a simple class that implements ProgressListener:
    public class ProgressListenerImpl implements ProgressListener {
        private int percent = 0;
        public int getPercentComplete() {
            return percent;
        public void update(long pBytesRead, long pContentLength, int pItems) {
            if (pContentLength > -1) { //content length is known;
                percent = (new Long((pBytesRead / pContentLength) * 100)).intValue();
    }So in your Servlet that handles file upload you will need to create an instance of this ProgressListenerImpl, register it as a listener and store it in the session:
    ServletFileUpload upload = new ServletFileUpload();
    ProgressListenerImpl listener = new ProgressListenerImpl();
    upload.setProgressListener(listener);
    request.getSession().setAttribute("ProgressListener", listener);
    ...Now create another servlet that will retrieve the ProgressListenerImpl, get the percent complete and write it back (how you actually write it back is up to you, could be text, an XML file, a JSON object, up to you):
    ProgressListenerImpl listener = (ProgressListenerImpl) request.getSession().getAttribute("ProgressListener");
    response.getWriter().println("" + listener.getPercentComplete());
    ...Then your XMLHttpRequest object will call this second servlet and read the string returned as the percent complete.
    HTH

  • ADF UIX Search Form - Is this a bug?

    I created a JDev 9.0.5.2 ADF UIX Search form from the component palette. I ran the page without making any changes. I chose the Find button which displayed the search criteria. I selected the delete button and then the create button, which created 2 blank records (possible bug?) in the search criteria table at the top. I selected one of the blank records and entered search criteria. I chose the submit button which changed the data in the search criteria table as it is supposed to do. I selected the other blank record, entered search criteria and submitted it. Again the data in the search criteria table was changed appropriately. I selected the delete button and the wrong record was deleted (bug?).
    Are these bugs?

    Hello,
    a similar sort of situation is created if you have a Read-only table on a page which drills down to an edit/create input form page. If you enable a create functionality you need to enable some way for the user to back out of the created record and clean up the newly created row. On the detail page (JobsEdit.do) i created a link to a custom event on the master page action (JobsView.do) like this:
    <button text="Cancel" destination="JobsView.do?event=cancelinput"/> In the Data Action class for the JobsView page i have a method defined as follows:
    public void onCancelinput(DataActionContext ctx)
        Row row = ctx.getBindingContainer().getApplicationModule().findViewObject("JobsView1").getCurrentRow();
        row.refresh(row.REFRESH_REMOVE_NEW_ROWS );
    }as a workaround, it sounds like you may need put some manual controls in place to tightly control any newly created rows which have/will not been used. I don't know if this will resolve the deleting wrong record problem...
    regards,
    Brenden

  • Data Binding in ADF UIX example trouble

    Two related questions:
    From the help example 3. Data Binding in ADF UIX example trouble in JDeveloper on UIX. If this worked I was going to run a small java class that captures the login and passes it as a messagebox with a Welcome login name on the first page, but I can't get past the example and path problems.
    From the example..."
    package yourpackage;
    import java.util.Date;
    public class CurrentDateBean
    public CurrentDateBean() { }
    public String getTime()
    return (new Date()).toString();
    Now, we want to change the page so it uses getTime(). We need to do three things: Tell UIX to data bind the text attribute. Add a <dataScope> to the page to provide data to the content. Write a small "data provider" in Java that can access the bean. First, we'll data bind "text": <text xmlns="http://xmlns.oracle.com/uix/ui"
    text="${uix.data.currentDate.time}"/>The example has one small change. The value is changed to ${uix.data.currentDate.time}, which is an expression that defines the data. This is shorthand for "get the time property from currentDate." If you tried running this example, you'd see nothing. That iss because we haven't given currentDate to the page, so the databinding failed, and the "text" is left to null. We do this by adding <dataScope> to the page: <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    Q#1?? Trying to follow the demo. The method class and method name do not seem to match the names in the above class from the demo. Am I missing a point here, please help.
    <data name="currentDate">
    <method class="yourpackage.DataDemo" method="getCurrentDate"/>
    </data>
    </provider>
    <contents>
    <text text="${uix.data.currentDate.time}"/>
    </contents>
    </dataScope>
    Q#2?? When I try and apply the demo class to my home.uix XML file with
    "<?xml version = '1.0' encoding = 'windows-1252'?>
    <page xmlns="http://xmlns.oracle.com/uix/controller"
    xmlns:ui="http://xmlns.oracle.com/uix/ui"
    xmlns:data="http://xmlns.oracle.com/uix/ui"
    xmlns:ctrl="http://xmlns.oracle.com/uix/controller"
    xmlns:html="http://www.w3.org/TR/REC-html40" expressionLanguage="el">
    <content>
    <dataScope xmlns="http://xmlns.oracle.com/uix/ui">
    <provider>
    <!-- start Add DataProviders (<data> elements) here -->
    <data name="currentDate">
    <method class="us.mn.state.dot.apptrack.security.CurrentDateBean" method="getTime()"/>
    </data>
    <!-- end Add DataProviders (<data> elements) here -->
    </provider>
    <contents>
    <text text="${uix.data.currentDate.time}"/>
    <document>
    <metaContainer>"
    I get the following, and I don't know how to make the UIX XML accept the correct path, please help:
    �file:/C:/JDeveloper905p/jdev/mywork/ProjTrack/AppTrack/ViewController/public_html/home.uix: Parsing error, line 12, column 97: Could not find class us.mn.state.dot.apptrack.security.CurrentDateBean

    for question 1 the name of the class CurrentDateBean
    actually has nothing to do with the el expression
    uix.data.currentDate.time. The currentDate part of the
    el expression is coming from the method data provider part
    of your page:
    <data name="currentDate">
    <method class="yourpackage.DataDemo"
    method="getCurrentDate"/>
    </data>
    so if you changed the name of the data provider to "foo":
    <data name="foo">
    <method class="yourpackage.DataDemo"
    method="getCurrentDate"/>
    </data>
    your el would look like this:
    uix.data.foo.time
    by the way the uix.data part tells UIX to look for
    a <data> element define in the <provider> section of
    your dataScope.
    For question #2, do you have the java file
    us.mn.state.dot.apptrack.security.CurrentDateBean on
    your classpath and is it compiled? You will get that
    warning if it is not on your classpath.
    Also you are incorrectly interpreting the example. What
    you are doing is trying to reference the actual bean
    object and its getTime() method. What you want to do
    is write a method data provider that returns your
    CurrentDataBean. so uix.data.currentDate would return
    a CurrentDateBean instance object. the .time part of the
    el expression would tell UIX to look for a method named
    getTime() and use that value.
    let me know if you have any more questions.

  • Making a delete commit automatically with ADF BC, Struts and ADF UIX

    I'm trying to create a delete action that commits to the database automatically using ADF Business Components, Struts and ADF UIX.
    I have a browse page from which the user can view all records in the table, and perform edit, create and delete actions on the data.
    When the user selects a record and clicks edit they are taken to a screen where they can amend the details of that record. Create works in a similar way, but the create action on the view object is invoked before taking the user to the edit page (this is done by linking the browse page to an ADF DataAction (bound to Create) on the Struts page flow diagram, and then linking the ADF DataAction to the edit page).
    When the user clicks submit on the edit page, the container follows a forward from the edit page to an ADF DataAction bound to the Commit method, and then from there a forward back to the browse page.
    This seems to work fine for edit and create, but when I try to do something similar for delete, it behaves unpredictably - sometimes the delete is committed to the database, sometimes not.
    To be more specific, the way I have tried to implement the auto commit delete is as follows:
    There is a UIX submitButton on the browse page called Delete. When clicked, this button triggers an event, which is caught by an event handler inside the page. The event handler causes the UIX servlet to take a forward to an ADF DataAction bound to the Delete method on the relevant view object. It thens follows a forward from the previously mentioned DataAction to another ADF DataAction bound to the Commit method for the application module. There is then a forward leading back to the browse page.
    Has anyone else encountered similar problems?

    did you figure this out?

  • Reset of current row after commit in ADF-UIX

    Dear experts,
    I have developed an application with Oracle JDeveloper 10g and ADF-UIX using BC4J. The problem is that wherenever a commit is performed the current row for the master table is reset which causes confusion for the end user.
    Do you know how can I solve that problem?
    Thank you in advance,
    Constantine

    ... I forgot to mention that I use JDeveloper 3.1 on Windows NT4.
    About my problem, it seems that a "key" does not exist in the record (Row object) i'm using for.
    So, what really is a "key"? Is this an internal complicated number or just the values of some data fields, indicated as "Primary Key" in the table?
    If the answer is the second one, I have to say that at the really before commit of the record, the value of my primary key fields is NULL, because they are filled up by a "sequence object" created in the database (triggered by a "TRIGGER BEFORE INSERT", which calls the "sequence.nextval" SQL command).
    So, I really have the value of my primary key fields just after committing the record in the database, and would explain everything.
    But is really this the "key"?
    Thanks

  • ADF UIX Forward on Successful Update

    I am working through the tutorial at:
    http://otn.oracle.com/obe/obe9051jdev/uixTutorial/lesson_UIX.htm
    I have complete the tutorial, and the way it works now there is a browse page which lists rows from the database. You can select a row and press modify, or click on new to create a new one. Both buttons take you to a modify page.
    The modify page posts back to itself. After I insert / update a record I am taken back to the modify page. Is there some way to have it forward the user back to the browse page if the insert / modification as successful and only go back to the modify page if there was a validation error?
    Nick

    you should create and event for your "Submit" button
    placed on create/modify page, the event refers to
    DataAction which must return you to browse page. Read
    the tutorial more careful.Hi, I went back through the tutorial and I don't see anything I missed. I'm new to ADF / UIX / Struts and am not sure how to even handle this or where to look.
    I want the modify form (formEmp.uix) to redisplay the form input if there was an error inserting into the database (which it does do now), and forward the user back to the browse page (browseDeptEmp.uix) if the insert / update was successful.
    If I did miss something in the tutorial please point me to the right section but looking back through I didn't spot anything.
    Thanks for your help,
    Nick

  • ADF UIX deployment error

    I created a very simple application in ADF UIX which just displays data from a database table. It runs perfectly when i run it locally. I then deployed it on to Application Server OC4J_Portal. I have updated ADF Libraries manually...and still getting the below mentioned errors..
    500 Internal Server Error
    oracle.jbo.common.ampool.ApplicationPoolException: JBO-30003: The application pool
    (app.model.AppModuleLocal) failed to checkout an application module due to the following
    exception:
    JBO-30003: The application pool (app.model.AppModuleLocal) failed to checkout an application module
    due to the following exception:
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1772)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule
    (ApplicationPoolImpl.java:2611)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
    at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule
    (WSApplicationModuleImpl.java:2457)
    at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule
    (WSApplicationModuleImpl.java:2416)
    at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)
    at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)
    at oracle.adf.model.bc4j.DCJboDataControl.(DCJboDataControl.java:171)
    at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:90)
    at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:81)
    at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)
    at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)
    at oracle.adf.model.BindingContext.get(BindingContext.java:411)
    at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
    at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
    at oracle.adf.model.binding.DCIteratorBinding.(DCIteratorBinding.java:127)
    at oracle.jbo.uicli.binding.JUIteratorBinding.(JUIteratorBinding.java:59)
    at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:58)
    at oracle.jbo.uicli.binding.JUIteratorDef.createIterBinding(JUIteratorDef.java:47)
    at oracle.adf.model.binding.DCBindingContainerDef.createIterBindings
    (DCBindingContainerDef.java:197)
    at oracle.adf.model.binding.DCBindingContainerDef.createBindingContainer
    (DCBindingContainerDef.java:273)
    at oracle.adf.model.binding.DCBindingContainerReference.getBindingContainer
    (DCBindingContainerReference.java:40)
    at oracle.adf.model.BindingContext.get(BindingContext.java:427)
    at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
    at oracle.adf.model.binding.DCUtil.findContextObject(DCUtil.java:308)
    at oracle.adf.model.binding.DCUtil.findBindingContainer(DCUtil.java:536)
    at oracle.adf.model.binding.DCUtil.initializeBindingContainer(DCUtil.java:505)
    at oracle.cabo.adf.rt.InitModelListener.getBindingContainer(InitModelListener.java:566)
    at oracle.cabo.adf.rt.InitModelListener._initBindingContainer(InitModelListener.java:535)
    at oracle.cabo.adf.rt.InitModelListener._doModelUpdate(InitModelListener.java:96)
    at oracle.cabo.adf.rt.InitModelListener.eventStarted(InitModelListener.java:55)
    at oracle.cabo.servlet.AbstractPageBroker._fireUIXRequestEvent(Unknown Source)
    at oracle.cabo.servlet.AbstractPageBroker.handleRequest(Unknown Source)
    at oracle.cabo.servlet.ui.BaseUIPageBroker.handleRequest(Unknown Source)
    at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
    at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
    Page 500 Internal Server Error e 1 of 2
    http://glorfindel.jsi.com:7777/invapp/dataPage1.uix 3/9/2005
    at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:239)
    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:604)
    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal
    (ServletRequestDispatcher.java:317)
    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:790)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:208)
    at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:125)
    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run
    (ReleasableResourcePooledExecutor.java:192)
    at java.lang.Thread.run(Thread.java:534)
    ## Detail 0 ##
    at oracle.jbo.pool.ResourcePool.useResource(ResourcePool.java:337)
    at oracle.jbo.server.ConnectionPool.getConnectionInternal(ConnectionPool.java:87)
    at oracle.jbo.server.ConnectionPool.getConnection(ConnectionPool.java:66)
    at oracle.jbo.server.ConnectionPoolManagerImpl.getConnection(ConnectionPoolManagerImpl.java:56)
    at oracle.jbo.server.DBTransactionImpl.establishNewConnection(DBTransactionImpl.java:868)
    at oracle.jbo.server.DBTransactionImpl.initTransaction(DBTransactionImpl.java:1107)
    at oracle.jbo.server.DBTransactionImpl.initTxn(DBTransactionImpl.java:5823)
    at oracle.jbo.server.DBTransactionImpl2.connect(DBTransactionImpl2.java:117)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolConnect(ApplicationModuleImpl.java:8005)
    at oracle.jbo.server.ApplicationModuleImpl.doPoolMessage(ApplicationModuleImpl.java:7766)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.sendPoolMessage(ApplicationPoolImpl.java:3923)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.prepareApplicationModule
    (ApplicationPoolImpl.java:1915)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1739)
    at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule
    (ApplicationPoolImpl.java:2611)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:441)
    at oracle.jbo.http.HttpSessionCookieImpl.useApplicationModule(HttpSessionCookieImpl.java:230)
    at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:411)
    at oracle.jbo.common.ws.WSApplicationModuleImpl.createWorkerApplicationModule
    (WSApplicationModuleImpl.java:2457)
    at oracle.jbo.common.ws.WSApplicationModuleImpl.getCustomApplicationModule
    (WSApplicationModuleImpl.java:2416)
    at oracle.adf.model.bc4j.DCJboDataControl.setDataProvider(DCJboDataControl.java:1429)
    at oracle.adf.model.bc4j.DCJboDataControl.setApplicationModule(DCJboDataControl.java:200)
    at oracle.adf.model.bc4j.DCJboDataControl.(DCJboDataControl.java:171)
    at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:90)
    at oracle.jbo.uicli.binding.JUApplication.(JUApplication.java:81)
    at oracle.adf.model.bc4j.DataControlFactoryImpl.createSession(DataControlFactoryImpl.java:256)
    at oracle.adf.model.binding.DCDataControlReference.getDataControl(DCDataControlReference.java:63)
    at oracle.adf.model.BindingContext.get(BindingContext.java:411)
    at oracle.adf.model.binding.DCUtil.findSpelObject(DCUtil.java:228)
    Can anyone please help me out with this...This is really urgent...
    Thanks a lot....

    Hi Anubha,
    This error is reported from the model layer and not from UIX layer. If you would like to see more repsonse on this, it would be better if you can change the subject and post a new message with subject like - "Exception encountered from ADFm layer with deployed application." You may get more reponse.
    Thanks,
    Vijay Venkataraman

  • [ADF UIX] Dynamically enabling/disabling fields

    Hi
    Another newbie question.
    Does anybody have any pointers on how to dynamically set the read-only property of a messageInputText field dependent on the value of another field in an ADF UIX input-only-form?
    To set the scene: I have a VO with the following columns:
    1) id
    2) subtype (values L or N)
    3) field1 (only editable when subtype = L)
    4) field2 (only editable when subtype = N)
    When the user creates a new record, the subtype will default to L. I need field1 to be enabled and field2 to be disabled. If the user changes the subtype field to N, field1 must be disabled and field2 enabled.
    Is this possible? Or is this best left to the spanking new ADF Faces?
    (My environment: JDeveloper 9.0.5.2 build 1618)
    Thanks!
    CM.

    Some research reveals one method to do this: EL (Expression Language).
    As an example I had the following messageLovInput that I wanted to dynamically make read-only (similar to enabling/disabling) dependent on a value in another field 'InputRequiredInd'. As such the following tag was implemented:
    <messageLovInput
    model="${bindings.DsvId}"
    id="${bindings.DsvId.path}"
    destination="dataSetValidationRulesLevelOneLov.uix"
    partialRenderMode="multiple"
    partialTargets="_uixState"
    readOnly="${!empty bindings.InputRequiredInd.inputValue ? false : true}"/>
    You'll note in the readOnly element an "EL" expression. Essentially this says if the InputRequiredInd is not empty then return false otherwise true.
    A useful reference:
    http://www-106.ibm.com/developerworks/java/library/j-jstl0211.html
    I hope this is helpful to someone!
    Cheers,
    CM.

  • ADF, UIX and ORDDOC

    JDev 9.0.5.2 ADF, UIX, Struts
    When I try to create a new record and upload a file as an ORDDOC type, I get ArrayOutOfBoundsException.
    My database table and Entity Object have 2 columns:
    DocumentId - DbSequence (trigger in database to increment id)
    DocFile - OrdDocDomain (ORDSYS.ORDDOC)
    Anyone have any ideas?

    See the following thread for the solution:
    Re: ADF UIX upload size does not exceed 2M

Maybe you are looking for