ADF UIX LOV and JBO-33035

I'm working on a UIX form which is based on a view, ViewA, which is built up from two entities - e.g. EntA and EntB. Between the entities there is a relation EntA is the child and EntB is the parent. In the view definition EntA is updateable and EntB is not updateable but referenced. ViewA contains all of the fields from EntA (including the foreign key) and Name field from EntB. I also created ViewB which is based on EntB.
ViewA now has the following fields:
AId (based on EmpA.Id, updateable)
AField (based on EmbA.Field, updateable)
A_B_Fk (based on EmbA.B_Fk, which is the fk. between EmpA and Emp B, updateable)
BName (based on EmbB.Name, not updateable because of it is part of the referenced, but not updateable EntB)
I put the views into an application module.
After that I made a UIX input form based on ViewA. In this form the I displayed only the AField and BName fields. The latter is a messageLovInput node. Because ViewA.BName is a not updateable field I do not use 'model' attibute, I fill the text and prompt attribute with EL expressions instead. When the user presses the LOV button the LOV window appears. There in the 'onSelect' event I set ViewA.A_B_Fk as I saw in the 'ADF_UIX_ListOfValues' sample. Everything seams to work, the referenced EntB is properly filled according to the new value of ViewA.A_B_Fk, but I got JBO-33035: the currency has changed, the expected Key is ...
I would like to know how should I implement a LOV in a case like this?
It's very important for me to get through this problem, because I must solve several similar case and the closing date is so near.
Any help appreciated,
Gábor

Ryan,
Thanks, I've read it and I did my LOV based on that.
But:
In that article the LOV field (department id) was just a simple attribute of the EmployeesView and if you had changed dept. id then nothing else would have changed in EmployeesView. In my example if you changed ViewA.A_B_Fk then ViewA.BName would change!
The problem could be the following (Suppose thet the ViewA edit form is in EditViewA.uix, and the LOV page is LOV.uix):
If you change ViewA.A_B_Fk in LOV.uix (as we can see in the examle you mentioned) BC4J selects the appropriate EntB and fills ViewA.BName properly. After that EditViewA.uix is refreshed and prepareMethod called. It notifies that the referenced entity is not the same as before and it throws the exception (I don't know why).
I made a workaround: in LOV.uix I put the selected value into a session variable and I use this value in the lovUpdate event of EditViewA.uix. It seems it works but it could be nicer.
What do you think about this?
Gábor

Similar Messages

  • Creating Binding Between ADf input LOV and ViewObject at runtime

    I am creating binding at runtime between ADf input LOV and with attribute of ViewObject. When we create this binding at design time, following entry is added in pagedef of page:
    <listOfValues StaticList="false" IterBinding="UdfVO1Iterator"
    Uses="LOV_Udf1" id="Udf1"/>
    I am creating this binding at runtime instead of design time by creating JUCtrlListBinding object by following code:
    JUCtrlListBinding vb = new JUCtrlListBinding(rit2,ib,new String[]{"Udf1"},JUCtrlListBinding.LIST_OPER_SET_ATTRIBUTE);
    vb.setName("Udf1");
    where rit2 is RichInputListOfValue control, ib is iterator binding. but i am not finding any way to set "LOV_Udf1" which is name of LOV_Udf1. Kindly help me

    Kindly some one help me

  • [ADF UIX] LOVs, what does the "dot" path expression do?

    Hi
    In developing an ADF UIX web page, I've let JDeveloper create a messageLovInput on the "ExternalSource" field for me as follows:
    <messageLovInput
    model="${bindings.ExternalSource}"
    id="${bindings.ExternalSource.path}"
    destination="refCodesExternalSourceLevelOneLov.uix"
    partialRenderMode="multiple"
    partialTargets="_uixState"/>
    You'll notice that the id is set to blah-de-blah ".path". I can't find mention in the documentation of what the .path does. I think it should be documented in the section "About the Properties of the ADF Bindings" but has been excluded.
    Does anybody have any idea what this binding value provides? And specifically what functionality it provides in the id as a apart of a messageLovInput?
    Thanks!
    CM.

    Or to be more specific, the messageLovInput supplying the following ID with ".path":
    <messageLovInput
    model="${bindings.DepartmentId}"
    id="${bindings.DepartmentId.path}"
    destination="lovWindow0.uix"/>
    ...is used by the LOV lovSelect event "SET" call target property below in returning a value to the calling page?
    <event name="lovSelect">
    <set property="inputValue"
    value="${bindings.DepartmentId.inputValue}"
    target="${data.departmentsUIModel.DepartmentId}"/>
    </event>
    .....and trying something like the following to return more than one field to the calling page would be pointless:
    <event name="lovSelect">
    <compound>
    <set property="inputValue"
    value="${bindings.DepartmentId.inputValue}"
    target="${data.departmentsUIModel.DepartmentId}"/>
    <set property="inputValue"
    value="${bindings.DepartmentName.inputValue}"
    target="${data.departmentsUIModel.DepartmentName}"/>
    </compound>
    </event>
    ..... as the calling messageLovInput can only supply one ID .path?
    Oops, sorry, I hope that isn't too long winded. It's at the end of a very long day for me.....
    Thanks for your help!
    CM :)

  • ADF UIX: LOV searchText contains wrong value (maybe it is a bug)

    I'm developing a WEB-application using ADF UIX.
    I'm using JDeveloper 9.0.5.2 build 1618.
    I've created a form with a messageLovInput field.
    If I type e.g. Veszprém into the input field the content of the searchText parameter seems wrong. The URL is http://bela:8988/szszr/_ui.uix?_t=fred&enc=UTF-8&_minWidth=750&_minHeight=550&configName=BaseUIPBCfg1&contextURI=/szszr&redirect=/szszr/telepulesekLOV.do&source=levCimTelepules&searchText=Veszpr%C3%A9m&event=lovFilter
    And the value of the searchText string in the lovFilter event is
    [0] 'V' 86
    [1] 'e' 101
    [2] 's' 115
    [3] 'z' 122
    [4] 'p' 112
    [5] 'r' 114
    [6] ' ' 65533
    The interesting thing is that the final letter (m) is missing from the string!
    If I write Veszprém into the search field of the listOfValue and I press the Go button I get the right value in searchText.
    The web.xml contains the following part:
    <filter>
    <filter-name>ADFBindingFilter</filter-name>
    <filter-class>oracle.adf.model.servlet.ADFBindingFilter</filter-class>
    <init-param>
    <param-name>encoding</param-name>
    <param-value>UTF-8</param-value>
    <!--param-value>windows-1250</param-value-->
    </init-param>
    </filter>
    The encoding of the UIX pages is windows-1250.
    Any help is appreciated,
    Gábor

    repost

  • ADF UIX Struts and the BajaContext, Page, and PageEvent

    Hi,
    I'm hoping someone can point me to the right piece of documentation, but I can't seem to figure out how to build the link between 1) the new ADF bindings and the UIX controller event handler objects such as the BajaContext and 2) a UIX event handler and the ADF bindings.
    We used the ServletBindingUtils object to gain a handle on BC4J objects within UIX event handlers. To get the application module, we'd use getApplicationModule and pass in the BajaContext object. Or, the BindingContext, but this context is the oracle.cabo.data.jbo.bind.BindingContext, not oracle.adf.model.BindingContext.
    Also, the opposite question remains on how does one obtain a handle the Page, PageEvent, and BajaContext from the struts side, from say the DataActionContext?
    If there is no link (or not one easily obtained) are there plans to provide one, or are these two controller mechanisms to remain separate?
    Thanks much,

    I don't know if this will help:
    http://helponline.oracle.com/jdeveloper/help/state/content/navSetId.jdeveloper/navId.4/vtAnchor.handlingEvents/vtTopicFile.jdeveloper%7Cuixhelp%7Cuixdevguide%7Cintroducingbaja%7Ehtml/
    There is a snippet to finding the BajaContext off of the rendering context:
    BajaContext bajaContext = BajaRenderingContext.getBajaContext(context);
    I'm not sure if something similar can be done with the ActionContext or not.
    Brad

  • ADF UIX: Get value in LOV messageList.

    I have a messageList that bind to a vo but when I call getTxtCodeCat method from the Struts form bean in Action Class, it does always return me a list index (0,1,2...).
    <struts:messageList model="${data.protecteddoc_GN_GnCodeSetupUIModel.CodeDescription}" name="txtCodeCat" prompt="[Code Category]" styleClass="DropdownMedium" required="yes" size="1">
    <contents childData="${data.protecteddoc_GN_GnCodeSetupUIModel.CodeDescription.displayData}">
    <option model="${uix.current}"/>
    </contents>
    </struts:messageList>
    Please advice how do I retrieve the value instead of index from the LOV?

    This thread is a duplicate. Direct all followups to:
    Urgent! ADF UIX:LOV messageList returned index no. during runtime.

  • ADF UIX and Jdeveloper 10.1.3.0.4

    Hello all,
    I was trying to make a ADF UIX form and am attempting to use Jdeveloper 10.1.3.0.4.
    It looks as if ADF UIX components cannot be made with Jdeveloper 10.1.3.0.4.
    Is this true?
    Thanks for any help,
    Bradley

    Yes it is true.
    please read this:
    http://www.oracle.com/technology/products/jdev/collateral/papers/9.0.5.0/adfuix_roadmap/adfuix_roadmap.html

  • Escaping Single Quotes in UIX LOVs

    Hello all,
    I am creating an application using ADF and UIX. In the system, I am using the standard UIX LOV, and I am curious if there is an existing way of handling single quotes entered by users in the search area. By default (at least in my case), single quotes cause an error in the SQL query, so I would like to escape them before the query is run. I attempted to override the onLovFilter method to handle this, but it seems like the LOV window does not actually fire any events or call overridden methods. I also overrode prepareMode to simply output "hello" when it is called, to test if any events were really being fired, but my method looks like it is simply being ignored. Is there a simpler way to avoid troubles caused by single quotes? Or can anyone help me override methods in LOVs? Thanks in advance.
    Regards,
    John

    No. Please use PreparedStatements. That is theonly
    correct answer to this question.Ok please tell us. how would you use prepare
    statement.. no just say USE PREPARE STATE.. givethe
    guy the code... or help..What size spoon would you like to be fed with? There
    was nothing about gob size in the original post.
    http://www.javaalmanac.com
    well duffymo.. i think you gave a link, is quite of help, but my friend preparestatement just gave "use preparestatement"..
    i think even you when you start coding you needed help... and some one just tell you use preparestatement how do you feel..
    There is a level of help. i think it will be (((as much as you can)))

  • 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

  • Jdeveloper 10.1.2 whitout adf uix

    Hello I'm programming an application web with the enviroment jdeveloper 10.1.2 using Struts technology. I've a problem because everytime the own jdeveloper includes automatically the adf uix libraries and code in the web.xml like:
    <servlet>
    <servlet-name>uix</servlet-name>
    <servlet-class>oracle.cabo.servlet.UIXServlet</servlet-class>
    <init-param>
    <param-name>oracle.cabo.servlet.pageBroker</param-name>
    <param-value>oracle.cabo.servlet.xml.UIXPageBroker</param-value>
    </init-param>
    <load-on-startup>1</load-on-startup>
    </servlet>
    and the folder html/cabo, I dont want this extra information, because I dont want use adf technology, only J2EE. What's the jdeveloper configuration to prevent this situation?
    Thank you very much!!

    Hi Steve
    I have read your "Building a Web Store with Struts & ADF Frameworks 10.1.2" guide and I have found a answer to each question that I had.
    Nevertheless, I try to use your extension framework classes to my web application, but I cannot find the data control (this method (findDataControl(dataControlName);) return a null pointer exception.
    In MyAppDataForwardAction classes ...
    protected ApplicationModule getApplicationModule(String dataControlName, DataActionContext ctx) {
    DCDataControl dc = ctx.getBindingContext().findDataControl(dataControlName);
    if ((dc != null) && dc instanceof DCJboDataControl) {
    return (ApplicationModule) dc.getDataProvider();
    return null;
    I have add this classes to my application ( Framework Extension Project )
    ExceptionHelper
    ModuleApplicationMyAppImpl extends ApplicationModuleImpl
    MyAppDataForwardAction extends DataForwardAction
    MyAppErrorHandler extends DCErrorHandlerImpl
    I have add this extend to my AM Service (Model Project)
    MyAppServiceImpl extends ModuleApplicationMyAppImpl
    I have add this class (ViewController Project)
    MyAppServiceDataForwardAction extends MyAppDataForwardAction
    note : I don't use your UIX and xsql extension framework facilities.
    Could you help me with these few informations ?
    Do you have a french version of this guide "Building a Web Store with Struts & ADF Frameworks 10.1.2" ?
    Thank's !!
    Rémi

  • LOV /ADF UIX pages does not work on the older version od UIX page

    Hi
    I have recently migrated UIX project from the Jdeveoper 9i to Jdev10g version 1.0.1.2, everything work without any issue, however when I try to create a LOV or any component that are ADF-UIX based, but it does not work I don't even get any error, it just does not work based on the ADF-UIX (Expression base component),
    Any help to resolve this issue will be greatly appericated
    Thanks

    I too have problems with LOVs in UIX pages. I have
    some that you have to run twice to get back a value.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.

  • JBO-33035 when usuing LOV in master-detail

    i have created a simple employee form with LOV on the department id and it's worked fine.
    but when i tried to attach the lov to an employee form which is in master-detail form (department-employee) i got jbo-33035 error
    i have tried to use the master View object , or a new View object (for departments) with the same result.
    btw , usually i want to see the department-name and not the department-id ....

    For master/detail form, to fill in the FK, you may use LOV such that the source of the LOV is not the same collection which is also the master collection in the form.
    From what you suggest, you seem to have a separate collection (than the master) for the LOV form. Also make sure you 'removed' any unused LOV binding from the uimodel for the page (which may be there from earlier declarations).
    If it still does not work, please add more details on your LOV definition (either steps to recreate your scenario or atleast the xml fragment from the UI Model along with XML fragments for the iterator bindings used in the LOV with descriptions on their relationships.), so that we can provide further inputs.

  • 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?

  • JBO-33035 "Row currency has changed..." and Failover feature

    Hi,
    I came across a problem (bug?) while playing with the failover feature (JDev9052).
    I have an AM pool with just one instance and two browsers. Failover is not set.
    My test:
    1.: First browser moves through the Dept list.
    2.: Second browser moves through the dept list to another position.
    3.: First browser wants to move to next page.
    --> Exception JBO-33035
    I switched Failover on and repeated the test. No exception, everything is fine.
    I have rebuild the demo with JDev 904 and the test works fine without any exception!
    I have found the paper "Generic Approach for Back-Button-Friendly Web Rowset Paging" (http://www.oracle.com/technology/products/jdev/tips/muench/paging/index.html) and changed
    Enable Token Validation property to FALSE (Failover=false). I do not use the BACK button.
    I repeated the test and got another exception: JBO-25013: Too many objects match the primary key oracle.jbo.Key[10 ].
    My net result of my tests is that I do not dare to set failover=false in my apps. :-(
    Maybe I not understand how to use the failover feature.
    Please let me know how to fix that problem.
    Thanks,
    Markus

    You'll need to give more information on how the error occurred.
    This error is related to the state token when the mid-tier discovers the client-tier has independently navigated to another page (potentially via a browser cache) without notifying the mid-tier. When the client-tier finally communicates with the mid-tier passing an earlier out of date state token, the mid-tier detects that the state token is out of sync with what it thinks the client-tier should be returning. Thus the mid-tier raises this error.
    There are a number of scenarios in which this problem can occur, and as such you need to detail how you raised this error.
    For more information research the "state token" concept in the JDeveloper documentation.

  • 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

Maybe you are looking for

  • How to get more, accurate, information from BT re ...

    I am getting confused and bored with BT Infinity. I registered interest last year on the Infinity web-site. The only contact I had was a suggestion to get all the neighbours to sign up to "justify" BT putting in the fibre etc-  Not heard a thing sinc

  • IDOC ABAP-PI Port Function Module not called

    HI all, i am using a scenario where i am sending (outbound) idocs via abap proxy to PI. I have assigned the function module to the abap-pi port. when i am trying to send a test idoc via we19, i get the message "IDoc '0000000000198029' transferred to

  • JSP refresh from servlet.

    Hi everyone I'm creating a web application that is a combination of jsp pages and servlets. On one of the jsp pages I add contact details of a person in a form, then when submitted it goes to the servlet which adds the new contact into the database,

  • CO-PA Planning Layout

    Hi Gurus, I want to create a planning layout where I would have 12 columns for periods and the year selection would be in the header/general selection. But I can put only period/year characteristic so for each year I have to create different layouts?

  • Updation of documents

    hi friends, where i can see the material doc. and accounting doc after delivery??? regards raj