Schema sychronization for ADF/UIX

Question...
What are the steps necessary in propagating schema changes throughout my ADF/UIX web application.
I ask because we've added a new column to our database, and I thought that I synchronized my project everywhere. However, my UIX control can read the data from the new column, but any updates don't seem to be committed.

is this an input-form ?
I think you need to create a binding for the new attribute in the UIModel file.
the easiest way is to drag'n'drop the new attribute on to your form.

Similar Messages

  • How tos - Multi Struts Config for ADF UIX (JDev10.1.2)

    Has anyone tried the OTN How-tos for Multi Struts Config?
    http://www.oracle.com/technology/products/jdev/howtos/10g/StrutsMultiConfigs/struts_multiconfig_howto.html
    Well I tried doing it and am facing a lot of problems.
    1. When I try to create a page in the child, it creates a duplicate page and hence two UIModels are created.
    2. Also there is an extra directory created in the common public_html folder as child1/child1.
    Could some one work that link out. I have failed to figure out what's going wrong.
    My problem doesn't end there. The link tells us that we can create multi struts app, but how do we link the pages created in these applications together?
    Regards,
    Vineet

    Goran,
    a smarter way would be to use Virtual Private
    Databases if the database is Oracle. This way you
    don't have to bother within your application to do
    this. We do have a VPD example in teh howtos for
    JDeveloper 9i.Tnx for the suggestion, but I needed a solution within ADF.
    If you want to do this on teh middle tier, use a bind
    variable in the BC query and populate this through an
    exposed method on the AM. I found even simpler solution... I let user choose an employee and fix this employee's id with a setCurrentRowWithKeyValue operation (drag-n-drop to a Data Action). Afterwards all the screens based on child view objects in the Data Control Palette hierarchy display only data from a fixed employee.

  • URGENT -- Help wanted for ADF/UIX

    Hi,
    I am a newbie in this field -- so any help would be greatly appreciated. Following is the scenario that I am struggling with:
    I've two tables, Customer(ID and Name are the columns) and Address (ID (foreign key from customer), address, city are the columns).
    I want to be able to display all the fields of Customer and Address table on the same page as a input form and let the user have the ability to enter the customer and address at the same time. On Submit, I want to first save the data into the customer table and then the address information in the address table.
    I tried to use UIX and tried dropping in CustomerAddress View in the page, but all I get are the labels, no input fields.
    Can anyone please suggest what should I do?? Thanks in advance.
    Jatinder

    Did you ever figure this out?
    Jeanne

  • Webstart for ADF UIX JClient app - large memory fooprint

    Hi everyone,
    I am running a three-tier model jclient app with java webstart. java sdk 5.0 with jvm 5.0 - it creates a large footprint and then it says no more memory left to allocate to the app.
    i looked at if the jvm was the cause but i am using java hotspot virtual machine. now what i am wondering is where the problem is? is it the model .... etc ?
    Any help would be appreciated. Thanks!

    Thanks Frank. I posted the question here:
    Signing Java Webstart apps with Oracle Certificate Authority
    for anyone who wants to follow the progress.
    Mark

  • BUG? ADF-UIX uix-configuration.xml template-import

    My UIX file works fine when I use templateImport:
      <templates xmlns="http://xmlns.oracle.com/uix/ui">
        <templateImport source="tmpl/library.uit"/>
      </templates>
    ...but I get the following error, when I try to make this templatelibrary global by adding the bold line in my uix-config.xml
      <application-configuration debug="false">
        <default-expression-language>el</default-expression-language>
        <ui-extensions>
          <extension-class>
            oracle.cabo.adf.rt.AdfUiExtension
          </extension-class>
          <extension-class>
            oracle.cabo.servlet.struts.StrutsUIExtension
          </extension-class>
          <template-library>tmpl/library.uit</template-library>
        </ui-extensions>
      </application-configuration>
    java.lang.IllegalArgumentException: Could not find ExpressionParser with name:null as specified in the ApplicationConfiguration
         at oracle.cabo.share.xml.XMLUtils.getDefaultExpressionParser(Unknown Source)
         at oracle.cabo.share.xml.XMLUtils.getDefaultExpressionParser(Unknown Source)
         at oracle.cabo.servlet.xml.parse.UIExtensionsConfigParser._loadTemplateLibrary(Unknown Source)
         at oracle.cabo.servlet.xml.parse.UIExtensionsConfigParser.addCompletedChild(Unknown Source)
         at oracle.cabo.share.xml.TreeBuilder$Handler.endElement(Unknown Source)
         at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1211)
         at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:300)
         at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:267)
         at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:149)
         at oracle.cabo.share.xml.TreeBuilder.parse(Unknown Source)
         at oracle.cabo.share.config.ApplicationConfigurationParser.createInstance(Unknown Source)
         at oracle.cabo.share.config.ApplicationConfiguration.getInstance(Unknown Source)
         at oracle.cabo.share.error.ServletErrorLog.createErrorLog(Unknown Source)
         at oracle.cabo.servlet.BaseBajaContext.createErrorLog(Unknown Source)
         at oracle.cabo.servlet.BaseBajaContext.<init>(Unknown Source)
         at oracle.cabo.servlet.UIXServlet.createBajaContext(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 oracle.cuervo.share.servlet.PreviewServletContainer.handleRequest(PreviewServletContainer.java:310)
         at oracle.cuervo.share.servlet.PreviewServletContainer.handleRequest(PreviewServletContainer.java:226)
         at oracle.cabo.ide.addin.preview.UIXRenderThread._reallyLoad(UIXRenderThread.java:274)
         at oracle.cabo.ide.addin.preview.UIXRenderThread.runImpl(UIXRenderThread.java:205)
         at oracle.cabo.ide.addin.preview.BasePreviewThread.run(BasePreviewThread.java:112)

    Hi MatLee,
    I follow the guide on chapter Configuration for ADF UIX to redefine paths for uit files and uix files but it doesn't work. I created a new uix page and it keep saving the page in the default root directory (public_html) instead of the path that I specified.
    Could you please show me very detail <uix-path> example and uit path example that redefine the default paths for those two type of files. I need a working code examples, not a generic or shortcut ones. I need to store those files in their respective directories and relative to the root directory because the application is big and have many modules; each module's uix pages should be saved in their own directories and also separate from the template files directory.
    Also, can I specify more than one paths in the <uix-path> tag? and is this tag used for redefining the path for uit templates file location as well or there is other tag for it?
    Thanks
    Tom

  • Is there new "Complete ADF UIX Application" for 10G Production?

    Is there a new version the tutorial "Complete ADF UIX Application (Browse, Create, Update, Delete)".
    The one I found
    http://otn.oracle.com/products/jdev/collateral/tutorials/9050/adfuix_tut.html
    is for 10G preview.
    Or is this version still current enough for production?
    Thanks, Steve

    Hi Steve -
    As far as I can tell, this is the new (production) version of the UIX tutorial:
    http://otn.oracle.com/obe/obe9051jdev/uixTutorial/lesson_UIX.htm
    Andy

  • 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

  • Demo: From ADF UIX to JSF

    Hello,
    I am new to most of this. I am running jdev 10.1.3 preview with EA12.
    While trying to run the demo described in the article "From ADF UIX to JSF"
    found at http://www.oracle.com/technology/oramag/oracle/04-nov/o64jsf.html I got the following errors.
    Project: C:\data\sample_home\MyADFFaces\ADFFacesView\ADFFacesView.jpr
    C:\data\sample_home\MyADFFaces\ADFFacesView\public_html\empTable.jspx
    Error: Internal error, ClassNotFound creating tag parser for afh:head, class: oracle.adfimpl.view.faces.taglib.html.HtmlHeadTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.html.HtmlHeadTag
    Error: head must be terminated with /> or %> not >
    Error: Internal error, ClassNotFound creating tag parser for af:form, class: oracle.adfimpl.view.faces.taglib.core.CoreFormTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.CoreFormTag
    Error: Internal error, ClassNotFound creating tag parser for af:table, class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableTag
    Error: Internal error, ClassNotFound creating tag parser for af:tableSelectOne, class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableSelectOneTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.data.CoreTableSelectOneTag
    Error: Internal error, ClassNotFound creating tag parser for af:commandButton, class: oracle.adfimpl.view.faces.taglib.core.nav.CoreCommandButtonTag
    Error: Unable to find class for bean: null defined by tag with class: oracle.adfimpl.view.faces.taglib.core.nav.CoreCommandButtonTag
    Here is a copy of the JSP page source that I created as I was following the text in the article
    Source starts
    <?xml version='1.0' encoding='windows-1252'?>
    <jsp:root xmlns:jsp="http://java.sun.com/JSP/Page" version="1.2"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:afh="http://xmlns.oracle.com/adf/faces/EA6/html"
    xmlns:af="http://xmlns.oracle.com/adf/faces/EA6">
    <jsp:text>
    <![CDATA[ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> ]]>
    </jsp:text>
    <jsp:directive.page contentType="text/html;charset=windows-1252"/>
    <f:view>
    <html>
    <afh:head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=windows-1252"/>
    <title>
    empTable
    </title>
    </afh:head>
    <body>
    <af:form>
    <af:table value="#{myEmployees.employees}" var="row" rows="10">
    <f:facet name="selection">
    <af:tableSelectOne text="Select Employee and click ...">
    <af:commandButton text="Show" action="showDetails"/>
    </af:tableSelectOne>
    </f:facet>
    <af:column>
    <af:outputText value="#{row.first_name}"/>
    <f:facet name="header">
    <af:outputText value="Firstname"/>
    </f:facet>
    </af:column>
    <af:column>
    <af:outputText value="#{row.last_name}"/>
    <f:facet name="header">
    <af:outputText value="Lastname"/>
    </f:facet>
    </af:column>
    <af:column>
    <af:outputText value="#{row.email}"/>
    <f:facet name="header">
    <af:outputText value="Email"/>
    </f:facet>
    </af:column>
    </af:table>
    </af:form>
    </body>
    </html>
    </f:view>
    </jsp:root>
    ---source ends ---
    Can anyone tell me how to get past this? Thank you.
    -- Jack Condon

    One immediate thing: "EA6" is in the tag library namespaces, but you're using EA12.
    In general, there've been a lot of changes between EA6 and EA12, but the changed namespace is one simple thing.

  • ADF-UIX- How to populate multiple input fields from an lov?

    Like in Forms Developer where using an LOV we can populate multiple tex input items on selection of a value from the LOV, is it possible for us to do the same in ADF UIX.
    Iam usiing JDeveloper 10.1.2

    Have a look at this previous post:
    Re: Can return messageLovinput more than one value?

  • Display CLOB value in multiple rows in ADF UIX

    Hi,
    I have an ADF UIX application that uses data that are stored in a CLOB column in an Oracle Database.
    The table data is presented in a simple table in page1.uix, I use BC4J for accessing the Database and Oracle JDeveloper 9.0.5.2.
    The problem is that the CLOB data appear properly (meaning the rows appear OK) only in a frame (messageTextInput element) of a predefined size and if I change the element into a styledText or a formattedText the frame will not appear, but all the CLOB characters appear in a single row.
    Does anyone know how I can present the CLOB text data in a UIX page, without having a frame around the text, and at the same time keep the CLOB text in multiple rows?

    There's no completely trivial way. You'd have to do a bit of extra processing of your CLOB data. The most straightforward work to do is to convert "\n" into "<br>", and then pass that into a <formattedText>.

  • Configuring Multiple Schemas in Oracle ADF application

    Hi,
    Thanks all for the replies for my previous posts :-)
    We have a requirement in which we need to configure our application for multiple Database schema. At runtime based upon the logged in user we need to get data from the schema related to that user.
    These schema may be on same Database instance/server or may be on different DB servers.
    The requirement is like this
    Logged in User DB schema configured
    "A" ASchema @ 127.0.0.1
    "B" BSchema @ 127.0.0.2
    "C" ASchema @  127.0.0.1
    "D" Dschema @ 127.0.0.2
    based on the User login (which is happening through one OID system), I need to fetch data from different schema (configured for different application).
    These schema have different set of tables but set of table we require for our application are of same structure.
    Same structure means same Table names with same relations.
    Please let me know can we do the same in Oracle ADF application and How?_
    One more requirement is that if i add a user at runtime and configure the DB schema for this user, All data related to this users will be loaded from this Schema which is configured for this user.
    Thanks in Advance,
    Amit
    newbie to Oracle ADF
    Edited by: ur.amit on May 10, 2010 3:17 PM

    You can try the below example to change database at run time.
    in the filter change the connection and not the credentials
    http://www.oracle.com/technetwork/developer-tools/jdev/dynamicjdbchowto-101755.html#03.
    Most of the other part is done to handle state management tables, which you might also have to do unless you use a file passivation store or if its ok to passivate to a single database always.
    If its ok to passivate to a single db always. Hard code the jbo.server.internal_connection in the AM configurations to a DB jndi name.
    Adf allows you to activate and passivate to a different database other than what you are connected to get and put data.

  • 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

  • Populate Primary Key with DBSequence in ADF UIX page

    I have a table with a trigger, so that the primary key is populated by DBSequence. My problem is, I open a ADF UIX Input Page to create a row for my table. The field of the primary key is populated by any number but not with the logical sequence number. This number appears later, when I look at a row list. So the correct number is in the database but how can this already appear on my input page???

    You have to drop the trigger.
    Then make sure you have the Id field of your entity of type Sequence.
    Then go to your entity class and override the Create method.
      protected void create(AttributeList attributeList)
        super.create(attributeList);
        SequenceImpl s = new SequenceImpl("YOUR_DB_SEQUENCE_NAME", getDBTransaction());
        Number sVal = s.getSequenceNumber(); 
        setId(new DBSequence(sVal));

  • ADF UIX cancel/rollback button?

    Hi
    We're having a fair amount of trouble implementing a "cancel" button in our ADF UIX application (JDev 10.1.2). Apologies to those who read this same post on the ODTUG mailing list..... I'm hunting for even a hint of an answer before I approach Oracle Support.
    To set the scene, we have a parent VO "Departments" with child VOs "Dispatch" and "Agency". Dispatch also has a FK to Agency.
    We have a UIX view-screen that displays in a master-detail relationship Departments and Dispatch. From this screen the user can select the edit button, which navigates to an input-form screen to edit the currently selected Dispatch record.
    The Dispatch record has effective_from and effective_to dates. The underlying EO has a MethodValidator that ensures the from date <= the to date.
    On the edit screen we currently provide 2 buttons, Ok and Cancel. The Ok submitButton is bound to the commit binding, and navigates back to the view page via a struts link on completion.
    If the user selects the ok button and MethodValidator returns an error, the edit page's MessageBox displays the error and the user remains at the edit page until they resolve the issue.
    Our problems start with the cancel button.
    Originally we implemented the Cancel button as a simply "button" that navigated back to the view page. This worked well as the changes are never submitted, and on returning to the view page the record is presented in it's original state before being edited, thus the user's changes have been "cancelled".
    However if the user was editing an existing record, entered invalid dates that violated the MethodValidator, clicked ok and saw the MethodValidator error, then clicked cancel, on returning to the view page, any changes to the underlying record are visible including the invalid dates. I believe this occurs because the record has been submitted to the mid-tier by the ok button, and as such the changes now lies in the mid-tier.
    Given that a cancel "button" which simply navigates back to the view page is not a viable solution, we decided to investigate using a rollback button on our edit page, which then navigated back to the view page.
    There is a nasty side affect in using the rollback functionality, and has been a continuous frustration mentioned on OTN. When rollback is issued, it appears all iterators in the running application have their current row reset to the first element.
    This is a pain as in our example this results in not only the Dispatch iterator being reset to the first element, but also the parent Departments iterator, and presumably all other iterators in the application too. This would be an extreme annoyance to the user in every time they selected cancel, they would then need to navigate back to the correct Departments and Dispatch record if they wanted to make a different change.
    As such it is necessary to write some code to store the iterator positions before issuing the rollback, rolling-back, then restoring the iterator positions from the saved states.
    Luckily we found some code on OTN to do this:
    ADF - cancel button not working in input form(add new row)?
    This mechanism appeared to work, but, then, we did find one problem.
    I described at the beginning that our Dispatch VO is not only related to Departments but also Agency. To cater for this in our edit screen by including a LOV bound <messageList>, which displayed the relating Agencies for the user to select from.
    In using the pinched OTN rollback code, in the same scenario as previously, when the user edits a record, invalidates the MethodValidator after clicking ok, then clicks cancel, on returning to the view page, the field in Dispatch that represents the Agency is incorrectly showing a numeric result such as 0, 1, 2 etc. We realised that the value being shown is the previous edit screen's <messageList> internal index number representing the value selected in the list, and not the actual value itself.
    We're note sure why the OTN rollback code is causing this to occur. Though it restores the Agency iterator's position, it shouldn't result in the <messageList> index being written to the underlying Dispatch agency field, but rather the value the <messageList> index represents.
    It appears to me we're caught between a "rock and a hard-place" here. The simple solution of using a cancel "button" doesn't work when errors are raised. The complex case of using a "rollback" button doesn't work due to the problem with the <messageLists>.
    My research on OTN shows the "cancel vs rollback" button is a common frustration. Can somebody help me in providing a satisfactory "cancel" button that I can use throughout my app please?
    Many thanks in advance.
    Chris Muir

    The stack:
    Class                     Method
    UsrEcvAmpdsViewRowImpl    setAgency
    UsrEcvAmpdsViewRowImpl    setAttrInvokeAccessor
    ViewRowImpl               setAttribute
    DCDataControl             setAttributeInRow
    DCJboDataControl          setAttributeInRow
    JUCtrlValueBinding        setAttributeInRow
    JUCtrlValueBinding        setInputValue
    JUCtrlValueBinding        setInputValue
    InitModelListener         _setInputValue
    InitModelListener         _doModelUpdate
    InitModelListener         eventStarted
    AbstractPageBroker        _fireUIXRequestEvent
    AbstractPageBroker        handleRequest
    BaseUIPageBroker          handleRequest
    PageBrokerHandler         handleRequest
    UIXServlet                doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    ServletRequestDispatcher  forward
    RequestProcessor          doForward
    RequestProcessor          processForwardConfig
    RequestProcessor          process
    ActionServlet             process
    ActionServlet             doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    ServletRequestDispatcher  forward
    RequestProcessor          doForward
    RequestProcessor          processForwardConfig
    RequestProcessor          process
    ActionServlet             process
    ActionServlet             doGet
    HttpServlet               service
    HttpServlet               service
    ResourceFilterChain       doFilter
    JAZNFilter                doFilter
    EvermindFilterChain       doFilter
    ADFBindingFilter          doFilter
    ServletRequestDispatcher  invoke
    ServletRequestDispatcher  forwardInternal
    HttpRequestHandler        processRequest
    HttpRequestHandler        run
    HttpRequestHandler        run
    ReleasableResourcePooledExecutor$MyWorker run
    Thread  runAt a wild guess, InitModelListener is causing the issue, because it's the first place where we can see a setInputValue occuring?
    To make this official I've raised a TAR (4613003.992) with Oracle Support with a cut down version of our app to work through the issue.

  • 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

Maybe you are looking for