"cannot bind or add elements because the node has no valid parent"

Hello All,
  I keep getting the above error message. Can someone help ?
<u><b>Context Structure</b></u>
- A (Model Node)
- B (Sub Model Node of A)
   ++ Country (Model Attribute B)
   ++ Language(Model Attribute B)
<u><b>Coding</b></u>
IPrivateMainView.IAElement userInfo = wdContext.createAElement(new A());
wdContext.nodeB().addElement(userInfo);
The error stack always report that the above syntax causes the error message.
Can someone kindly let me know where I may have gone wrong ? Thank you.
from
Kwok Wei

Hi,
The model node is a reference to the model object so you need to bind the node to a similar structure or table from the model object.
eg.
abc(model node)
|__def(model subnode)
   |___attr_a
   |___attr_b
Then you need to first bind abc node
abc ele=new abc();
wdContext.nodeAbc().bind(ele);
Then bind the def to the corresponding def node
def subele=new def();
ele.setDef(subele); or ele.addDef(subele);
Regards
Noufal
Message was edited by: Noufal Kareem
Message was edited by: Noufal Kareem

Similar Messages

  • WdCopyService Error: Node has no valid parent?

    I tried to do this:
    WDCopyService.copyElements(wdContext.nodeResponse25(), wdContext.nodeHeader2());
    However it gives the error:
    "Node(DemoWSViewSearchOrder.Order.Header2): cannot bind or add elements because the node has no valid parent"
    So I initiate the node with this:
         IPrivateDemoWSViewSearchOrder.IHeader2Element ele2 =
               wdContext.nodeHeader2().createHeader2Element();
         wdContext.nodeHeader2().addElement(ele2);
    However it is still giving the error:
    "Node(DemoWSViewSearchOrder.Order.Header2): cannot bind or add elements because the node has no valid parent"
    Any idea why?

    Hi
    As you said :I initiate the node with this?
    To get facility of WDCopyService no need to initiate any node belongs to model .Only care need to take is
    Use this method after execution of the model  after executing and invalidating the response node of model,
    updated data is there.  now u can either bind it to any table or copy it to another node using WDCopyService.
    Regarding this error
    Node(DemoWSViewSearchOrder.Order.Header2): cannot bind or add elements because the node has no valid parent
    It need a identification of Source (which contain the updated data after executing the model), and target (where u want copy of this data)
    read this carefully
    @throws RuntimeException if target is a model node and
       *    source is not a model node holding the same class.
    Best Regards
    Satish Kumar

  • Adding elements to a node: cannot bind or add element

    Hallo,
    I want add emenents of my phases and subphases to a table, but I get this exception:
    ContextException: Node(RoadMapVIew.phase_subphase_table): cannot bind or add element, because it is already bound to a node
    The code is the following:
    int phaseSize = processT.getSequenceGroup1().getPhaseList().getSequenceGroup1().getPhase().length;
                     String currentStatus = "";
                     String currentPhaseId = "";
                     String currentSubphaseId = "";
                     String currentNotifyId = "";
                     String lastStatus = "";
                     for (int i = 0; i < phaseSize; i++)
    PhaseT phaseT = processT.getSequenceGroup1().getPhaseList().getSequenceGroup1().getPhase();
                         IPrivateRoadMapVIew.IPhase_subphase_tableElement tableElement = wdContext.nodePhase_subphase_table().createPhase_subphase_tableElement();
                          tableElement.setPhase_desc(phaseT.getSequenceGroup1().getPhaseDesc());
                          tableElement.setPhase_id(phaseT.getSequenceGroup1().getPhaseId());
                          int subPhaseSize = phaseT.getSequenceGroup1().getSubPhaseList().getSequenceGroup1().getSubPhase().length;
                          for(int j = 0; j< subPhaseSize; j++)
                               SubPhaseT subPhaseT = phaseT.getSequenceGroup1().getSubPhaseList().getSequenceGroup1().getSubPhase()[j];
                               tableElement.setSubphase_desc(subPhaseT.getSequenceGroup1().getSubPhaseDesc());
                               tableElement.setSubphase_id(subPhaseT.getSequenceGroup1().getSubPhaseId());
                               String status = subPhaseT.getSequenceGroup1().getStatus();
                               wdContext.nodePhase_subphase_table().addElement(tableElement);
                               lastStatus = status;
                               //le fasi/sotofasi sono ordinate perciò la corrente è l'ultima con uno status valido
                               if (status != null && !status.equals(""))
                                    currentStatus = status;
                                    currentPhaseId = phaseT.getSequenceGroup1().getPhaseId();
                                    currentSubphaseId = subPhaseT.getSequenceGroup1().getSubPhaseId();
                                    if (status.equals(DAConst.STATUS_NOTIFY))
                                         //currentNotifyId = "notifyId"; //subPhaseT.getSequenceGroup1().getNotifyId();
                                         currentNotifyId = subPhaseT.getSequenceGroup1().getNotifyId();
    Can anybody help me please?
    Thanks,
    regards,
    Andrea

    I have solved moving the creation of the reference of the node element and the setting of elements inside the second for loop:
    for (int i = 0; i < phaseSize; i++)
                          PhaseT phaseT = processT.getSequenceGroup1().getPhaseList().getSequenceGroup1().getPhase()<i>;
                          String phaseDesc=phaseT.getSequenceGroup1().getPhaseDesc();
                          String phaseId=phaseT.getSequenceGroup1().getPhaseId();
                          int subPhaseSize = phaseT.getSequenceGroup1().getSubPhaseList().getSequenceGroup1().getSubPhase().length;
                          for(int j = 0; j< subPhaseSize; j++)
                               SubPhaseT subPhaseT = phaseT.getSequenceGroup1().getSubPhaseList().getSequenceGroup1().getSubPhase()[j];
                               IPrivateRoadMapVIew.IPhase_subphase_tableElement tableElement = wdContext.nodePhase_subphase_table().createPhase_subphase_tableElement();
                               tableElement.setSubphase_desc(subPhaseT.getSequenceGroup1().getSubPhaseDesc());
                               tableElement.setSubphase_id(subPhaseT.getSequenceGroup1().getSubPhaseId());
                               tableElement.setPhase_desc(phaseDesc);
                               tableElement.setPhase_id(phaseId);
                               String status = subPhaseT.getSequenceGroup1().getStatus();
                               wdContext.nodePhase_subphase_table().addElement(tableElement);
                               lastStatus = status;
    Thanks everybody for helps,
    Andrea

  • GeneralException Node(( Context path of node ): cannot bind or add element,

    Hello all,
    Stack trace :
    GeneralException Node((<Context path of node>): cannot bind or add element, because it is already bound to a node
    I am trying to upload data from excel file in web dynpro context.In the process,  when I create and add  an element to the node which I want to populate with excel data, it throws the above mentioned exception.
    Any idea as to wht is causing the problem ?

    Hi,
    GeneralException Node((<Context path of node>): cannot bind or add element, because it is already bound to a node
    It seems that its a mapped node, try to bind or addelements at the source.
    Ex: If this node is mapped from controller to view try to add elements in contoller instead of doing in view.
    Regards
    Ayyapparaj

  • ContextException : cannot bind or add element

    Hi all,
    I can't find an answer to my problem.
    Hope you'll be able to
    Here are the facts :
    Context :
    I'm currently creating a TeamViewer for Managers to be able to select the employees they manage.
    For that, I have a table which lists them all, displaying their infos in specific columns.
    Both columns and data are dynamic and are specified in the SAP back end.
    I use the following bapis to get these informations :
    - HRWPC_RFC_GET_COL_INFO (returns columns informations)
    - HRWPC_RFC_GET_OBJECTS (returns employees personal numbers -> pernr)
    Fact is the second one doesn't return as much informations as needed.
    So I have then to call a third bapi :
    - MYBAPI_USER_INFOS (return informations about an employee)
    which, from an employee pernr, returns a lot more informations about him.
    Fact is I manage to use efficiently both first bapis, so I get columns and pernr data.
    Then I would like to get in a context node the list of enhanced informations of the employees, which is mapped to my view context and applied to a dynamic table.
    My problem :
    While adding programmaticaly the columns to my context node, I get the following exception : "com.sap.tc.webdynpro.progmodel.context.ContextException: Node(TeamViewerApp.MainViewColumns): cannot bind or add element, because it is already bound to a node" error.
    Error summary :
    - com.sap.tc.webdynpro.progmodel.context.ContextException: Node(TeamViewerApp.MainViewColumns): cannot bind or add element, because it is already bound to a node
    -- at com.sap.tc.webdynpro.progmodel.context.Node.prepareAddElement(Node.java:649)
    -- at com.sap.tc.webdynpro.progmodel.context.Node.addElement(Node.java:635)
    -- at com.airfrance.tv1.teamviewer.components.TeamViewerApp.updateMainView(*TeamViewerApp.java:560*)
    -- at com.airfrance.tv1.teamviewer.components.wdp.InternalTeamViewerApp.updateMainView(InternalTeamViewerApp.java:534)
    -- at com.airfrance.tv1.teamviewer.components.views.TeamViewerView.onActionChangeView(TeamViewerView.java:197)
    TeamViewerComp code :
         wdThis.getColumnsMainView(viewId, userLanguage, userId); // get the columns infos
         IGetColumns_ResultNode columns = wdContext.nodeGetColumns_Result();
         for(int i=0; i<columns.size(); i++) {
              IWDNodeElement column = columns.getElementAt(i); // get the #i column
              wdContext.nodeMainViewColumns().addElement(column);  +//add this column to my other context +
    My context :
    Component
    - GetColumns (Model)
    -- GetColumns_Output
    --- GetColumns_Result
    Colname
    Heading
    -- Langu
    -- Uname
    -- Viewid
    - MainViewColumns (Value)
    -- lot of infos
    - SubViewColumns (Value)
    -- lot of infos
    My environment :
    - os : Windows XP SP2
    - procesor : 3GHz
    - memory : 3Gb
    - ide : SAP NWDS 7.0.12
    - server JEE : 7.00 SP12
    - server VM : Java Sun 1.4.2_12
    Any help will be really appreciated
    Thank you for your time!
    Alphonse

    HI,
    com.sap.tc.webdynpro.progmodel.context.ContextException: Node(HrChiefRedressalView.Ctx_FilteredOutput): cannot bind or add element, because it is already bound to a node
    Try to bind or add element from the source of the node instead of mapped one.
    Ex:
    Controller->View
    If your node is mapped from controller to view. bind/add element should be done at controller level not at view level.
    Regards
    Ayyapparaj

  • How to bind a UI element to the context

    Hi Experts,
               I have a problem binding UI element to the context. In my code i have to create TabStrips dynamically and under this tabstrip number of UI elements would be there. For this i have a code like this..
    IWDTransparentContainer theActionContainer =(IWDTransparentContainer)view.getElement("RootUIElementContainer");
         IWDTabStrip ts = (IWDTabStrip) view.createElement(IWDTabStrip.class,"TabStrip");
              IWDTab tab1 = (IWDTab) view.createElement(IWDTab.class,"Tab1");
              IWDInputField in = (IWDInputField) view.createElement(IWDInputField.class,"in");
              IWDCaption header1 = (IWDCaption) view.createElement(IWDCaption.class,"Header1");
              header1.setText("Tab1");
              tab1.setContent(in);
              ts.addTab(tab1);
              IWDTab tab2 = (IWDTab) view.createElement(IWDTab.class,"Tab2");
              IWDInputField in2 = (IWDInputField) view.createElement(IWDInputField.class,"in2");
              IWDCaption header2 = (IWDCaption) view.createElement(IWDCaption.class,"Header2");
              header2.setText("Tab2");
              tab2.setHeader(header2);
              ts.addTab(tab2);
              theActionContainer.addChild(ts);
    <b>when i run this code it is giving following exceptions..</b>
    The initial exception that caused the request to fail, was:
       com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Property 'value' of AbstractInputField with id 'in' in view 'LoginView' must be bound to the context
        at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.AbstractInputField.getValue(AbstractInputField.java:1260)
        at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.InputFieldAdapter.getValue(InputFieldAdapter.java:582)
        at com.sap.tc.ur.renderer.ie6.InputFieldRenderer.render(InputFieldRenderer.java:56)
        at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
        at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
        ... 63 more
    com.sap.tc.webdynpro.services.exceptions.WDRuntimeException: Property 'value' of AbstractInputField with id 'in' in view 'LoginView' must be bound to the context
         at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.AbstractInputField.getValue(AbstractInputField.java:1260)
         at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.InputFieldAdapter.getValue(InputFieldAdapter.java:582)
         at com.sap.tc.ur.renderer.ie6.InputFieldRenderer.render(InputFieldRenderer.java:56)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:435)
         at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:134)
         at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripItemContentFragment(TabStripRenderer.java:1867)
         at com.sap.tc.ur.renderer.ie6.TabStripRenderer.renderTabStripFragment(TabStripRenderer.java:838)
    From these exceptions what  i understood is, i need to bind these UI elements to context.
       Can any body tell me how to bind a UI element to the context if I understood the exceptions correct..
    Thanks in Advance,
    Murthy.

    HI,
    lets say Ctx is your context attribute,
    IWDAttributeInfo attrInfo = wdContext.getNodeInfo.getAttribute("Ctx");
    then , as per your code,
    IWDInputField in = (IWDInputField) view.createElement(IWDInputField.class,"in");
    <b>in.bindValue(attrInfo);</b>
    if your contex attribute is child of some other node then do like this,
    IWDAttributeInfo attrInfo = wdContext.getNodeInfo.getChildNode("SalesOrder",0)getAttribute("Ctx");
    //this is when Ctx is child of node SalesOrder, and we are taking Ctx from its 0th element
    then ,
    IWDInputField in = (IWDInputField) view.createElement(IWDInputField.class,"in");
    <b>in.bindValue(attrInfo);</b>
    include this in your code ,
    let me know if you face any problem
    regards
    reward points if it helps

  • TS1545 I have downloaded 10.5.8 combo several times and cannot get it to install because the disc won't mount or the installation gets hung up after restart. My current os is 10.5.1, and I am trying to upgrade to snow leopard. This is on a dual core macbo

    I have downloaded 10.5.8 combo several times and cannot get it to install because the disc won't mount or the installation gets hung up after restart. My current os is 10.5.1, and I am trying to upgrade to snow leopard. This is on a dual core macbook pro.

    You don't need to update to Leopard 10.5.8 unless you want to keep Leopard. Upgrading to Snow Leopard requires that your purchase the retail install disk.
    The following covers Leopard:
    Some general advice on updating:
    It is worth noting that it is an extreme rarity for updates to cause upsets to your system, as they have all been extensively beta-tested, but they may well reveal pre-existing ones, particularly those of which you may have been unaware. If you are actually aware of any glitches, make sure they are fixed before proceeding further.
    So before you do anything else:
    If you can, make a full backup first to an external hard disk. Ideally you should always have a bootable clone of your system that enables you to revert to the previous pre-update state.
    Turn off sleep mode for both screen and hard disk.
    Disconnect all peripherals except your keyboard and mouse.
    1. Repair Permissions (in Disk Utility)
    2. Verify the state of your hard disk using Disk Utility. If any faults are reported, restart from your install disk (holding down the C key), go to Disk Utility, and repair your startup disk. Restart again to get back to your startup disk.
    At least you can now be reasonably certain that your system does not contain any obvious faults that might cause an update/upgrade to fail.
    3. Download the correct version of the COMBO update from the Apple download site.
    The Combo updater of Leopard 10.5.8 can be found here:
    http://support.apple.com/downloads/Mac_OS_X_10_5_8_Combo_Update
    If you prefer to download updates via Software Update in the Apple menu (which would ensure that the correct version for your Mac was being downloaded), it is not recommended to allow SU to install major (or even minor) updates automatically. Set Software Update to just download the updater without immediately installing it. There is always the possibility that the combined download and install (which can be a lengthy process) might be interrupted by a power outage or your cat walking across the keyboard, and an interrupted install will almost certainly cause havoc. Once it is downloaded, you can install at a time that suits you. You should make a backup copy of the updater on a CD in case you ever need a reinstall.
    Full details about the 10.5.8 update here: http://support.apple.com/kb/HT3606
    More information on using Software Updater here:
    http://support.apple.com/kb/TA24901?viewlocale=en_US
    Using the Combo updater ensures that all system files changed since the original 10.5.0 are included, and any that may have been missed out or subsequently damaged will be repaired. The Delta updater, although a temptingly smaller download, only takes you from the previous version to the new one, i.e. for example from 10.5.7 to 10.5.8. Software Update will generally download the Delta updater only. The preferable Combo updater needs to be downloaded from Apple's download site.
    Now proceed as follows:
    4. Close all applications and turn off energy saving and screensaver.
    5. Unplug all peripherals except your keyboard and mouse.
    6. Install the update/upgrade. Do not under any circumstances interrupt this procedure. Do not do anything else on your computer while it is installing. Be patient.
    7. When it ask for a restart to complete the installation, click restart. This can take longer than normal, there are probably thousands of files to overwrite and place in the correct location. Do nothing while this is going on.
    8. Once your Mac is awake, repair permissions again, and you should be good to go!
    If your Mac seems slightly sluggish or ‘different’, perform a second restart. It can’t hurt and is sometimes efficacious! In fact a second restart can be recommended.
    9. Open a few of your most used applications and check that all is OK. In this connection please remember that not all manufacturers of third party applications and plug-ins, add-ons, haxies etc, will have had time to do any necessary rewrites to their software to make them compliant with the latest version of your operating system. Give them a week or two while you regularly check their websites for updates.
    N.B. Do not attempt to install two different updates at the same time as each may have different routines and requirements. Follow the above recommendations for each update in turn.
    Lastly, Apple's own article on the subject of Software Update may also be useful reading:
    http://docs.info.apple.com/article.html?artnum=106695
    [b]If you are updating Safari (or just have):[/b]
    Input Managers from third parties can do as much harm as good. They use a security loophole to reach right into your applications' code and change that code as the application starts up.  If you have installed an OS update and Safari is crashing, the very [i]first[/i] thing to do is clear out your InputManagers folders (both in your own Library and in the top-level /Library), log out and log back in, and try again.
    So, disable all third party add-ons before updating Safari, as they may not have been updated yet for the new version. Add them back one by one. If something goes awry, remove it again and check on the software manufacturer's website for news of an update to match your version of Safari.
    Most errors reported here after an update are due to an unrepaired or undetected inherent fault in the system, and/or a third party add-on.
    Additional tips on software installation here:
    http://docs.info.apple.com/article.html?artnum=106692
    To reiterate, Input Managers reach right into an application and alter its code. This puts the behavior of the affected application outside the control and responsibility of its developers: a recipe for  problems. That's not to say that issues absolutely will ensue as a result of Input Managers, but you, as a user, must decide. If the functionality of a specific Input Manager or set thereof is really important to you, you may well choose to assume the associated risk.
    Again, the advice is to remove all Input Managers from the following directories:
    /Library/InputManagers
    ~/Library/InputManagers
    especially prior to system updates (they can always be added back one-by-one later).
    Solutions for troubleshooting installation, startup, and login issues in Mac OS X v10.5
    http://support.apple.com/kb/TS1541?viewlocale=en_US

  • Search cannot be executed because the table has pending changes

    I'm getting the following error ..... The search cannot be executed because the table has pending changes that would be lost .... in the following scenario ....
    My 1st page is a search page with resulting rows from which the user can select specific rows to process ..... next button will populate the VO for the 2nd page by manually looping thru the selected rows in the VO of the 1st page. Loop logic is in the AM and it calls a method in the VORowImpl that uses setAttributeInternal .... the 2nd page displays the selected rows .....
    Pressing the back button of the 2nd page will display the 1st page and if the user tries to do a new search .... the error shows up.
    Any suggestions on how to handle this?
    Thank you.

    It seems to me that you are using the same VO on both the pages. If that is the case try to use separate VO for each page.
    And as suggested by Sumit, Never use/ rely on browser back button. Instead put a Back button on the second page through you can handle the event yourself rather than leaving on the mercy of browser.
    --Saroj                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

  • Error: "The search cannot be executed because the table has pending changes that would be lost."

    Hello,
    I'm working a developing an OA page that will displays the contents of an Oracle table and allows the user to update records in a table as needed.
    When I hit submit button to save the changes in the update page, the control goes back to main page (where all the table records are displayed). It displays the updated record with the new information.However when I hit "Go" button on the mainPG, I get the error "The search cannot be executed because the table has pending changes that would be lost. and the changes are not committed.
    ANy suggestions on where I should look will be greatly appreciated.
    Posting code for my controller
    =======================
              if ( pageContext.getParameter("saveRate") != null )
              personam.invokeMethod("saveRateToDatabase");
    Code from my AM
    =============
        public void saveRateToDatabase()
          getOADBTransaction().commit();
          System.out.println("40--After commit has been executed");
    Code from my VORowImpl
    ===================
    package cggv.oracle.apps.gl.server;
    import oracle.apps.fnd.framework.server.OAViewRowImpl;
    import oracle.jbo.domain.Date;
    import oracle.jbo.domain.Number;
    import oracle.jbo.server.AttributeDefImpl;
    // ---    File generated by Oracle ADF Business Components Design Time.
    // ---    Custom code may be added to this class.
    // ---    Warning: Do not modify method signatures of generated methods.
    public class xxCggGlRatesVORowImpl extends OAViewRowImpl {
        public static final int RATEID = 0;
        public static final int FROMCURRENCY = 1;
        public static final int TOCURRENCY = 2;
        public static final int FROMCONVERSIONDATE = 3;
        public static final int TOCONVERSIONDATE = 4;
        public static final int USERCONVERSIONTYPE = 5;
        public static final int CONVERSIONRATE = 6;
        public static final int MODEFLAG = 7;
        /**This is the default constructor (do not remove)
        public xxCggGlRatesVORowImpl() {
        /**Gets the attribute value for the calculated attribute RateId
        public Number getRateId() {
            return (Number) getAttributeInternal(RATEID);
        /**Sets <code>value</code> as the attribute value for the calculated attribute RateId
        public void setRateId(Number value) {
            setAttributeInternal(RATEID, value);
            //populateAttribute(RATEID, value);
        /**Gets the attribute value for the calculated attribute FromCurrency
        public String getFromCurrency() {
            return (String) getAttributeInternal(FROMCURRENCY);
        /**Sets <code>value</code> as the attribute value for the calculated attribute FromCurrency
        public void setFromCurrency(String value) {
            setAttributeInternal(FROMCURRENCY, value);      
        /**Gets the attribute value for the calculated attribute ToCurrency
        public String getToCurrency() {
            return (String) getAttributeInternal(TOCURRENCY);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ToCurrency
        public void setToCurrency(String value) {
            setAttributeInternal(TOCURRENCY, value);
        /**Gets the attribute value for the calculated attribute FromConversionDate
        public Date getFromConversionDate() {
            return (Date) getAttributeInternal(FROMCONVERSIONDATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute FromConversionDate
        public void setFromConversionDate(Date value) {
            setAttributeInternal(FROMCONVERSIONDATE, value);      
        /**Gets the attribute value for the calculated attribute ToConversionDate
        public Date getToConversionDate() {
            return (Date) getAttributeInternal(TOCONVERSIONDATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ToConversionDate
        public void setToConversionDate(Date value) {
            setAttributeInternal(TOCONVERSIONDATE, value);       
        /**Gets the attribute value for the calculated attribute UserConversionType
        public String getUserConversionType() {
            return (String) getAttributeInternal(USERCONVERSIONTYPE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute UserConversionType
        public void setUserConversionType(String value) {
            setAttributeInternal(USERCONVERSIONTYPE, value);
        /**Gets the attribute value for the calculated attribute ConversionRate
        public Number getConversionRate() {
            return (Number) getAttributeInternal(CONVERSIONRATE);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ConversionRate
        public void setConversionRate(Number value) {
            setAttributeInternal(CONVERSIONRATE, value);
        /**Gets the attribute value for the calculated attribute ModeFlag
        public String getModeFlag() {
            return (String) getAttributeInternal(MODEFLAG);
        /**Sets <code>value</code> as the attribute value for the calculated attribute ModeFlag
        public void setModeFlag(String value) {
            setAttributeInternal(MODEFLAG, value);      
        /**getAttrInvokeAccessor: generated method. Do not modify.
        protected Object getAttrInvokeAccessor(int index,
                                               AttributeDefImpl attrDef) throws Exception {
            switch (index) {
            case RATEID:
                return getRateId();
            case FROMCURRENCY:
                return getFromCurrency();
            case TOCURRENCY:
                return getToCurrency();
            case FROMCONVERSIONDATE:
                return getFromConversionDate();
            case TOCONVERSIONDATE:
                return getToConversionDate();
            case USERCONVERSIONTYPE:
                return getUserConversionType();
            case CONVERSIONRATE:
                return getConversionRate();
            case MODEFLAG:
                return getModeFlag();
            default:
                return super.getAttrInvokeAccessor(index, attrDef);
        /**setAttrInvokeAccessor: generated method. Do not modify.
        protected void setAttrInvokeAccessor(int index, Object value,
                                             AttributeDefImpl attrDef) throws Exception {
            switch (index) {
            case RATEID:
                setRateId((Number)value);
                return;
            case FROMCURRENCY:
                setFromCurrency((String)value);
                return;
            case TOCURRENCY:
                setToCurrency((String)value);
                return;
            case FROMCONVERSIONDATE:
                setFromConversionDate((Date)value);
                return;
            case TOCONVERSIONDATE:
                setToConversionDate((Date)value);
                return;
            case USERCONVERSIONTYPE:
                setUserConversionType((String)value);
                return;
            case CONVERSIONRATE:
                setConversionRate((Number)value);
                return;
            case MODEFLAG:
                setModeFlag((String)value);
                return;
            default:
                super.setAttrInvokeAccessor(index, value, attrDef);
                return;
        /**Gets xxCggGlRatesEO entity object.
        public xxCggGlRatesEOImpl getxxCggGlRatesEO() {
            return (xxCggGlRatesEOImpl)getEntity(0);

    Hi,
    Check these links:
    Oracle Apps: Search cannot be executed because the table has pending changes that would be lost
    Re: Getting error in search page search cannot be executed
    http://jneelmani.blogspot.in/2009/11/oaf-search-cannot-be-executed-because.html
    --Sushant

  • "Error:The search cannot be executed because the table has pending changes that would be lost", after DELETE

    Good day,
    On Search Page, I have searched for the record(s) then deleted a record and got confirmation message i.e. Record has deleted. Next when I search for any record I'm getting below error.
    Error
    The search cannot be executed because the table has pending changes that would be lost.
    Could you please help me to fix this issue. Your response is highly appreciated.
    Item properties:
    Item Style : Image
    Action Type: Fire Action
    Event : delete
    Below is the code using in CO and AM
    Controller (processFormRequest):
    if ("delete".equals(pageContext.getParameter(EVENT_PARAM)))
              // The user has clicked a "Delete" icon so we want to display a "Warning"
              // dialog asking if she really wants to delete the employee. Note that we
              // configure the dialog so that pressing the "Yes" button submits to
              // this page so we can handle the action in this processFormRequest( ) method.
              String visit_id = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("last_name") + ", " + pageContext.getParameter("first_name");
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName)};
              OAException mainMessage = new OAException("FND", "XXXX_EMP_DELETE_WARN", tokens);
              // Note that even though we're going to make our Yes/No buttons submit a
              // form, we still need some non-null value in the constructor's Yes/No
              // URL parameters for the buttons to render, so we just pass empty
              // Strings for this.
              OADialogPage dialogPage = new OADialogPage(OAException.WARNING,
                mainMessage, null, "", "");
              // Always use Message Dictionary for any Strings you want to display.
              String yes = pageContext.getMessage("AK", "FWK_TBX_T_YES", null);
              String no = pageContext.getMessage("AK", "FWK_TBX_T_NO", null);
              // We set this value so the code that handles this button press is
              // descriptive.
    dialogPage.setOkButtonItemName("DeleteYesButton");
              // The following configures the Yes/No buttons to be submit buttons,
              // and makes sure that we handle the form submit in the originating
              // page (the "Employee" summary) so we can handle the "Yes"
              // button selection in this controller.
    dialogPage.setOkButtonToPost(true);
    dialogPage.setNoButtonToPost(true);
    dialogPage.setPostToCallingPage(true);
              // Now set our Yes/No labels instead of the default OK/Cancel.
    dialogPage.setOkButtonLabel(yes);
    dialogPage.setNoButtonLabel(no);
              // We need to keep hold of the employeeNumber and employeeName.
              // The OADialogPage gives us a convenient means
              // of doing this. Note that the use of the Hashtable is 
              // most appropriate for passing multiple parameters. See the OADialogPage
              // javadoc for an alternative when dealing with a single parameter.
              java.util.Hashtable formParams = new java.util.Hashtable(1);
    formParams.put("visit_id", visit_id);
    formParams.put("empName", employeeName);
    dialogPage.setFormParameters(formParams);
              pageContext.redirectToDialogPage(dialogPage);
        else if (pageContext.getParameter("DeleteYesButton") != null)
              // User has confirmed that she wants to delete this employee.
              // Invoke a method on the AM to set the current row in the VO and
              // call remove() on this row.
              String employeeNumber = pageContext.getParameter("visit_id");
              String employeeName = pageContext.getParameter("empName");
              Serializable[] parameters = { employeeNumber };
             // OAApplicationModule am = pageContext.getApplicationModule(webBean);
    am.invokeMethod("deleteEmployee", parameters);
              // Now, redisplay the page with a confirmation message at the top. Note
              // that the deleteEmployee() method in the AM commits, and our code
              // won't get this far if any exceptions are thrown.
              MessageToken[] tokens = { new MessageToken("EMP_NAME", employeeName) };
              OAException message = new OAException("FND",
                "XXXX_EMP_DELETE_CONFIRM", tokens, OAException.CONFIRMATION, null);
    pageContext.putDialogMessage(message);
    Application Module:
      public void deleteEmployee(String visit_id)
            // First, we need to find the selected employee in our VO.
            // When we find it, we call remove( ) on the row which in turn
            // calls remove on the associated EmployeeEOImpl object.
            int empToDelete = Integer.parseInt(visit_id);
              OAViewObject vo = (OAViewObject)getNonEmployeesSummaryVO1();
        NonEmployeesSummaryVORowImpl row = null;
            // This tells us the number of rows that have been fetched in the
            // row set, and will not pull additional rows in like some of the
            // other "get count" methods.
           int fetchedRowCount = vo.getFetchedRowCount();
            // We use a separate iterator -- even though we could step through the
            // rows without it -- because we don't want to affect row currency.
            RowSetIterator deleteIter = vo.createRowSetIterator("deleteIter");
    if (fetchedRowCount > 0)
              deleteIter.setRangeStart(0);
              deleteIter.setRangeSize(fetchedRowCount);
              for (int i = 0; i < fetchedRowCount; i++)
                row = (NonEmployeesSummaryVORowImpl)deleteIter.getRowAtRangeIndex(i);
                // For performance reasons, we generate ViewRowImpls for all
                // View Objects. When we need to obtain an attribute value,
                // we use the named accessors instead of a generic String lookup.
                // Number primaryKey = (Number)row.getAttribute("EmployeeId");
                Number primaryKey = row.getVisitId();
                if (primaryKey.compareTo(empToDelete) == 0)
                  // This performs the actual delete.
                  row.remove();
                    getTransaction().commit();
                  break; // only one possible selected row in this case
            // Always close the iterator when you're done.
            deleteIter.closeRowSetIterator();
          } // end deleteEmployee
    Thanks,
    Ravi

    Hi
    Check this link Getting error in search page search cannot be executed
    Regards,
    Dilip

  • I cannot access my old email address anymore, however I have used it for my apple ID and now I want to delete it because the account has never been verified in the first place so my password for it doesn't work. What do I do?

    I cannot access my old email address anymore, however I have used it for my apple ID and now I want to delete it because the account has never been verified in the first place so my password for it doesn't work. So when I want to download apps I have to sign in with apple id but I can't so I made a new one, However I can't seem to be able to delete the old one. What do I do?

    You can't merge Apple IDs.  You also can't cancel (delete) and existing ID, you can only choose to stop using it.
    If your old ID was compromised and you can no longer access it, you'll have to contact Apple for assistance.  Go to https://expresslane.apple.com ; click 'See all products and services' at the bottom of the page. In the next page click 'More Products and Services, then 'Apple ID'. In the next page select 'Other Apple ID Topics' then then 'Apple ID account Security’.

  • For some time now, when I connect my iPod to my PC, I'm told my iPod cannot be synced to iTunes because (the file cannot be found).  What gives?

    For some time now, when I connect my iPod to my PC, I'm told my iPod cannot be synced to iTunes because (the file cannot be found).  What gives?

    Sounds like the file yo are trying to sync to the iPod is corrupted.
    Try syncing only one item that plays in iTunes on the computer.
    Also see the following since when you downgrade iTunes you have to reset your iTunes library since the older version can't read the updated version of the library.

  • My ipod whont sync this message keeps coming up itunes cannot sync apps to ipod because the apps installed on ipod could not be determined, what can i do?

    my ipod whont sync this message keeps coming up itunes cannot sync apps to ipod because the apps installed on ipod could not be determined, what can i do?

    I think we may have an answer here as these 2 threads seem related to our problems. Unfortunately it's not an answer that's welcome.
    Can't download free or purchased apps...: Apple Support Communities
    App download buttons not working.: Apple Support Communities
    Looks like Apple may have finally abandoned the 2g ;-(
    -DJC

  • I cannot cancel the goods issue because the delivery has been archived

    Dear Gurus,
    I have cancelled the MB1C goods receipt but I cannot cancel the goods issue because the delivery has been archived. Is it possible for you to fix this batch record any other way ?
    Early resposne would be appreciated !
    Thanks,
    Rafiq

    Dear Friends,
    Can u please help me out of this issue
    Thanks,
    Rafiq

  • Cannot install applications because the certificate is not valid

    cannot install applications because the certificate is not valid error from my iphone when trying to install an application, running the latest update 7.1

    upload your app.plist to dropbox
    get shared link of app.plist, like https://www.dropbox.com/s/qgknrfngaxazm38/app.plist
    replace www.dropbox.com with dl.dropboxusercontent.com in the link, likehttps://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist
    write your download.html like <a href="itms-services://?action=download-manifest&url=https://dl.dropboxusercontent.com/s/qgknrfngaxazm38/app.plist">INSTALL!!</a>
    upload the download.html to dropbox
    get shared link of download.html, like https://www.dropbox.com/s/gnoctp7n9g0l3hx/download.html
    replace www.dropbox.com with dl.dropboxusercontent.com in the second link as well, likehttps://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html
    Now, visit https://dl.dropboxusercontent.com/s/gnoctp7n9g0l3hx/download.html in your device, you can install the app like before.
    WHAT A WONDERFUL WORLD!

Maybe you are looking for