NPE when expanding tree table

Dear All,
I have a treetable in my page, and a button that inserts some rows in master detail hiearchy based on some busniess logic.
And here is my method that expands my tree table which gets called on button click event.
    private void expandAllNodes(){
        org.apache.myfaces.trinidad.model.RowKeySet disclosedTreeRowKeySet = new RowKeySetImpl();
        ViewObject iterCust = u.findIterator("IncDetSubmenuCust_VO1Iterator").getViewObject();
        ViewObject iterType = u.findIterator("IncDetSubmenuType_VO1Iterator").getViewObject();
        ViewObject iterSubmenu = u.findIterator("IncomeDetailSubmenus_VO1Iterator").getViewObject();
        ArrayList<Key> submenuList = new ArrayList<Key>();
        for(Row rowCust=iterCust.first(); rowCust!=null; rowCust=iterCust.next()){
            ArrayList<Key> custList = new ArrayList<Key>();
            custList.add(rowCust.getKey());
            if(iterType.getEstimatedRowCount()>0)
            disclosedTreeRowKeySet.add(custList);
            for(Row rowType=iterType.first(); rowType!=null; rowType=iterType.next()){
                ArrayList<Key> typeList = new ArrayList<Key>();
                typeList.addAll(custList);
                typeList.add(rowType.getKey());
                if(iterSubmenu.getEstimatedRowCount()>0)
                disclosedTreeRowKeySet.add(typeList);
                for(Row rowSubmenu=iterSubmenu.first(); rowSubmenu!=null; rowSubmenu=iterSubmenu.next()){
                    submenuList.add(rowSubmenu.getKey());
        //disclosedTreeRowKeySet.add(submenuList);
        if(treeTableSubmenus !=null)
        treeTableSubmenus.setDisclosedRowKeys(disclosedTreeRowKeySet);
            u.addPartialTargets(treeTableSubmenus);
    }Now when i click the button first time the treetable expands perfectly shows some new master detail hiearchy,
Then when i click the button second time(busniess logic cond chnged, inserted some new rows in master detail hiearchy) and call this method it gives ,me NPE as following stacktrace.
<UIXRegion> <_warn> Error processing viewId: /credit_appraisal_tf/credit_appraisal_pf URI: /applicationdetail/credit_appraisal/credit_appraisal_pf.jsff actual-URI: /applicationdetail/credit_appraisal/credit_appraisal_pf.jsff.
java.lang.NullPointerException
     at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowKey(RowDataManager.java:139)
     at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowKey(FacesCtrlHierBinding.java:633)
     at oracle.adfinternal.view.faces.model.FlattenedTreeCollectionModel.setPath(FlattenedTreeCollectionModel.java:342)
     at oracle.adfinternal.view.faces.model.FlattenedTreeCollectionModel.setRowKey(FlattenedTreeCollectionModel.java:303)
     at oracle.adfinternal.view.faces.renderkit.rich.TreeRendererUtils.initModel(TreeRendererUtils.java:303)
     at oracle.adfinternal.view.faces.renderkit.rich.TreeRendererUtils.wrapModel(TreeRendererUtils.java:545)
     at oracle.adfinternal.view.faces.renderkit.rich.TreeRendererUtils.getCollectionObject(TreeRendererUtils.java:345)
     at oracle.adfinternal.view.faces.renderkit.rich.TreeTableRenderer.getCollectionObject(TreeTableRenderer.java:762)
     at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.storeHeightAutosized(TableRenderer.java:2366)
     at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:537)
     at oracle.adfinternal.view.faces.renderkit.rich.TreeTableRenderer.encodeAll(TreeTableRenderer.java:600)
     at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
     at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
     at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:538)
     at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
     at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:432)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$300(PanelGroupLayoutRenderer.java:30)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:682)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:601)
     at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:170)
     at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:290)
     at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:255)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:358)
     at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
     at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
     at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeChild(CoreRenderer.java:399)
     at oracle.adf.view.rich.render.RichRenderer.encodeChild(RichRenderer.java:2633)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer._encodeChild(PanelGroupLayoutRenderer.java:432)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.access$300(PanelGroupLayoutRenderer.java:30)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:682)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer$EncoderCallback.processComponent(PanelGroupLayoutRenderer.java:601)
     at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:170)
     at org.apache.myfaces.trinidad.component.UIXComponent.processFlattenedChildren(UIXComponent.java:290)
     at org.apache.myfaces.trinidad.component.UIXComponent.encodeFlattenedChildren(UIXComponent.java:255)
     at oracle.adfinternal.view.faces.renderkit.rich.PanelGroupLayoutRenderer.encodeAll(PanelGroupLayoutRenderer.java:358)
     at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
     at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
     at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
.Any pointers..?
Thanks ,
Santosh.
j 11.1.1.5.0

Hi Sireesha,
thanks.
You should have got few more exceptions stating line number at which the exception has raised, can you check your log?Yes i checked my log.. the exceptions is not raised from my code, its from adf internal lib.
And it is very difficult trace out the problem without knowing much details on the insertion logic and the relationship of your iterators.
Can you put more details.Sure
IncDetSubmenuCust_VO1
  with (1-*)
IncDetSubmenuType_VO1
  with(1-*)
IncomeDetailSubmenus_VO1basically i am inserting the records in IncDetSubmenuType_VO1 & IncomeDetailSubmenus_VO1 only..
on second attempt its giving me NPE.. as shown in my previous post.
I am inserting the records and then calling my expandAll() method.
As seen in logs, the NPE is not raised from my code. Seems like some ADF bug or something...
Thanks,
Santosh.

Similar Messages

  • Problem when expanding Tree - Tree with nested table column

    Hi, i have created the tree using the Tree with nested table column.
    I have created a node called TREE_ROOT in the context.
    This node has few attributes which includes children_loaded, is_leaf, is_expanded.
    I have created the recursive node TREE_SUB for the above node TREE_ROOT.
    In the view, i have created the table with the master column. The above attributes have been mapped accordingly. I have created the action handler for load_children.
    In this action handler method, i receive the context_element correctly. In this method, i determine the children of the selected element and the resulting children are attached to this context_element.
    But the problem is: when i add elements to context_elements in the method load_children, these
    elements get added to the node TREE_ROOT as well.
    Please help.
    thanks and best regards,
    Pramod

    I just use some types defined in this user... Well, I hope you know what is the type definition of d_period_sec,
    don't you ? I didn't ask to provide all types existed now, only types you are
    using.
    Anyhow you have been granted with execute privilege for types you are using:
    SQL> conn tau_tll/tau_tll;
    Connected.
    SQL> create or replace type d_period_sec as object (date# date);
      2  /
    Type created.
    SQL> grant execute on d_period_sec to public with grant option;
    Grant succeeded.
    SQL> conn scott/tiger
    Connected.
    SQL> CREATE OR REPLACE TYPE unit_function AS OBJECT (
      2  xi NUMBER,
      3  yi NUMBER,
      4  xe NUMBER,
      5  ye NUMBER,
      6  xm NUMBER,
      7  ym NUMBER,
      8  v NUMBER,
      9  a NUMBER,
    10  f NUMBER,
    11  descr VARCHAR2 (20)
    12  );
    13  /
    Type created.
    SQL> grant execute on unit_function to master;
    Grant succeeded.
    SQL> CREATE OR REPLACE TYPE unit_moving_point AS OBJECT
      2  (
      3  p tau_tll.d_period_sec, -- from user TAU_TLL
      4 
      5  m unit_function
      6  )
      7  /
    Type created.
    SQL> grant execute on unit_moving_point to master;
    Grant succeeded.
    SQL> CREATE OR REPLACE TYPE moving_point_tab AS TABLE OF unit_moving_point;
      2  /
    Type created.
    SQL> grant execute on moving_point_tab to master;
    Grant succeeded.
    SQL> CREATE OR REPLACE TYPE moving_point AS OBJECT (u_tab moving_point_tab);
      2  /
    Type created.
    SQL> grant execute on moving_point to master;
    Grant succeeded.
    SQL> conn master/master
    Connected.
    SQL> CREATE TABLE MPOINTS (
      2  id NUMBER,
      3  mpoint scott.Moving_Point)
      4  NESTED TABLE mpoint.u_tab store as moving_tab;
    Table created.Rgds.

  • Tree table-initially expand all nodes raises error when closing a node 11g

    Hello,
    Frank Nimphius posted a blog entry about how to initially display all the nodes in a tree or table here:
    [http://thepeninsulasedge.com/frank_nimphius/2007/12/19/adf-faces-rc-initially-expanding-all-nodes-in-a-tree-or-tree-table/|http://thepeninsulasedge.com/frank_nimphius/2007/12/19/adf-faces-rc-initially-expanding-all-nodes-in-a-tree-or-tree-table/]
    This works very well. However, when the user tries to close a node, a NullPointerException is thrown.
    Below is the stacktrace.
    Does anyone know how to work around that issue?
    java.lang.NullPointerException
         at org.apache.myfaces.trinidad.model.RowKeySetTreeImpl$Search.find(RowKeySetTreeImpl.java:608)
         at org.apache.myfaces.trinidad.model.RowKeySetTreeImpl._setContained(RowKeySetTreeImpl.java:496)
         at org.apache.myfaces.trinidad.model.RowKeySetTreeImpl.add(RowKeySetTreeImpl.java:97)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.decodeDisclosedRowKeys(TableRendererUtils.java:774)
         at oracle.adfinternal.view.faces.renderkit.rich.table.BaseTableRenderer.decodeIncompatiblePropertyKey(BaseTableRenderer.java:198)
         at oracle.adf.view.rich.render.RichRenderer.decode(RichRenderer.java:203)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.__rendererDecode(UIXComponentBase.java:1089)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.decode(UIXComponentBase.java:714)
         at org.apache.myfaces.trinidad.component.UIXTreeTable.decode(UIXTreeTable.java:133)
         at org.apache.myfaces.trinidad.component.UIXCollection.processDecodes(UIXCollection.java:193)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ApplyRequestValuesCallback.invokeContextCallback(LifecycleImpl.java:1113)
         at org.apache.myfaces.trinidad.component.UIXCollection.invokeOnComponent(UIXCollection.java:1030)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:153)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at oracle.adf.view.rich.component.fragment.ContextSwitchingComponent.invokeOnComponent(ContextSwitchingComponent.java:153)
         at oracle.adf.view.rich.component.fragment.UIXPageTemplate.invokeOnComponent(UIXPageTemplate.java:208)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:731)
         at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:664)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:303)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:175)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:292)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:181)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:279)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._invokeDoFilter(TrinidadFilterImpl.java:239)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:196)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:139)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at edu.wisc.csa.web.ApplicationSessionExpiryFilter.doFilter(ApplicationSessionExpiryFilter.java:66)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at edu.wisc.csa.web.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:36)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:85)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:257)
         at oracle.security.jps.wls.JpsWlsSubjectResolver.runJaasMode(JpsWlsSubjectResolver.java:250)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:100)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:65)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:42)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3496)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(Unknown Source)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2180)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2086)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1406)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)

    OK I have tried Frank's suggestion about the 2 entries in the managed bean and it works but I cannot collapse my child node !
    I have a Master-Detail-Detail setup.
    In the Grandparent I have this :
    RowKeySet rks = new RowKeySet(true);
    table1.setDisclosureState(rks);
    this.grandParentTable = table1;
    and in my Parent table I have this :
    RowKeySet rks = new RowKeySet(true);
    table2.setDisclosureState(rks);
    this.parentTable = table2;
    ie the same.
    In my child I have nothing just the default accessors.
    The collapse works OK for the Grandparent but when I click Hide for the Parent it does not do anything - no error message either.
    cheers

  • Problem occured when create a tree table for master-detail view objects using SQL queries?

    I am programming a tree table for master-detail view objects using SQL queries and these 2 view objects are not simple singel tables queries, and 2 complex SQL are prepared for master and view objects. see below:
    1. Master View object (key attribute is SourceBlock and some varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK,                   
            sum(                   
             case when cntr_list.cntr_size_q = '20'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr20 ,                   
            sum(                   
             case when cntr_list.cntr_size_q = '40'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr40 ,                   
             sum(                   
             case when cntr_list.cntr_size_q = '45'                   
                  then cntr_list.cntr_qty                   
                  else 0 end ) as cntr45                    
    FROM (       
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,       
               scn.CNTR_SIZE_Q,        
               count(scn.CNTR_SIZE_Q) AS cntr_qty        
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2       
        WHERE       
        scm.cmr_n = scn.cmr_n             
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                 
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                 
        AND scm.shift_mode_c = :ShiftModeCode                           
        AND scm.end_terminal_c = :TerminalCode      
        AND scm.start_terminal_c = yb1.terminal_c                  
        AND scm.start_block_n = yb1.block_n                  
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                  
        AND scm.end_terminal_c = yb2.terminal_c                  
        AND scm.end_block_n = yb2.block_n                  
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n           
        AND scn.status_c not in (1, 11)             
        AND scn.shift_type_c = 'V'             
        AND scn.source_c = 'S'       
        GROUP BY yb1.BLOCK_M, scn.CNTR_SIZE_Q       
    ) cntr_list       
    GROUP BY cntr_list.SOURCE_BLOCK
    2. Detail View object (key attributes are SourceBlock and EndBlock and same varaible bindings are used for this view object.)
    SELECT  cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK,                
            sum(                     
             case when cntr_list.cntr_size_q = '20'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr20 ,                     
            sum(                     
             case when cntr_list.cntr_size_q = '40'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr40 ,                     
             sum(                     
             case when cntr_list.cntr_size_q = '45'                     
                  then cntr_list.cntr_qty                     
                  else 0 end ) as cntr45                      
    FROM (         
        SELECT yb1.BLOCK_M as SOURCE_BLOCK,     
               yb2.BLOCK_M as END_BLOCK,  
               scn.CNTR_SIZE_Q,          
               count(scn.CNTR_SIZE_Q) AS cntr_qty          
        FROM  SHIFT_CMR scm, SHIFT_CNTR scn, YARD_BLOCK yb1, YARD_BLOCK yb2         
        WHERE         
        scm.cmr_n = scn.cmr_n               
        AND (scm.plan_start_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS')                   
        OR scm.plan_end_dt BETWEEN to_date(:DateFrom,'YYYY/MM/DD HH24:MI:SS') AND to_date(:DateTo,'YYYY/MM/DD HH24:MI:SS'))                   
        AND scm.shift_mode_c = :ShiftModeCode                             
        AND scm.end_terminal_c = :TerminalCode        
        AND scm.start_terminal_c = yb1.terminal_c                    
        AND scm.start_block_n = yb1.block_n                    
        AND substr(scn.start_location_c,(instr(scn.start_location_c,',',1,5)+1),instr(scn.start_location_c,',',1,6)-(instr(scn.start_location_c,',',1,5)+1)) BETWEEN yb1.slot_from_n AND yb1.slot_to_n                    
        AND scm.end_terminal_c = yb2.terminal_c                    
        AND scm.end_block_n = yb2.block_n                    
        AND substr(scn.end_location_c,(instr(scn.end_location_c,',',1,5)+1),instr(scn.end_location_c,',',1,6)-(instr(scn.end_location_c,',',1,5)+1)) BETWEEN yb2.slot_from_n AND yb2.slot_to_n             
        AND scn.status_c not in (1, 11)               
        AND scn.shift_type_c = 'V'               
        AND scn.source_c = 'S'         
        GROUP BY yb1.BLOCK_M, yb2.BLOCK_M, scn.CNTR_SIZE_Q         
    ) cntr_list         
    GROUP BY cntr_list.SOURCE_BLOCK, cntr_list.END_BLOCK
    3. I create a view link to create master-detail relationship for these 2 view objects.
    masterview.SourceBlock (1)->detailview.SourceBlock (*).
    4. I create a tree table using these 2 view objects with master-detail relationship.
    When I set default value for variable bindings of these 2 view objects and the matching records exist, tree table can work well. I can expand the master row to display detail row in UI.
    But I need to pass in dymamic parameter value for variable bindings of these 2 view objects, tree table cannnot work again. when I expand the master row and no detail row are displayed in UI.
    I am sure that I pass in correct parameter value for master/detail view objects and matching records exist.
    Managed Bean:
            DCIteratorBinding dc = (DCIteratorBinding)evaluteEL("#{bindings.MasterView1Iterator}");
            ViewObject vo = dc.getViewObject();
            System.out.println("Before MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            System.out.println("Before MasterView1Iterator ShiftModeCode="+ vo.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo.executeQuery();
            System.out.println("MasterView1Iterator vo.getEstimatedRowCount()="+ vo.getEstimatedRowCount());
            DCIteratorBinding dc1 = (DCIteratorBinding)evaluteEL("#{bindings.DetailView1Iterator}");
            ViewObject vo1 = dc1.getViewObject();
            System.out.println("Before DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
            System.out.println("Before DetailView1Iterator ShiftModeCode="+ vo1.ensureVariableManager().getVariableValue("ShiftModeCode"));
            vo1.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
            vo1.ensureVariableManager().setVariableValue("DateTo", dateTo);
            vo1.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
            vo1.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
            vo1.executeQuery();
            System.out.println("after DetailView1Iterator vo1.getEstimatedRowCount()="+ vo1.getEstimatedRowCount());
    5.  What's wrong in my implementation?  I don't have no problem to implement such a tree table if using simple master-detail tables view object, but now I have to use such 2 view objects using complex SQL for my requirement and variable bindings are necessary for detail view object although I also think a bit strange by myself.

    Hi Frank,
    Thank you and it can work.
    public void setLowHighSalaryRangeForDetailEmployeesAccessorViewObject(Number lowSalary,
                                                                              Number highSalary) {
            Row r = getCurrentRow();
            if (r != null) {
                RowSet rs = (RowSet)r.getAttribute("EmpView");
                if (rs != null) {
                    ViewObject accessorVO = rs.getViewObject();
                    accessorVO.setNamedWhereClauseParam("LowSalary", lowSalary);
                    accessorVO.setNamedWhereClauseParam("HighSalary", highSalary);
                executeQuery();
    but I have a quesiton in this way. in code snippet, it is first getting current row of current master VO to determine if update variables value of detail VO. in my case, current row is possibly null after executeQuery() of master VO and  I have to change current row manually like below.
    any idea?
                DCIteratorBinding dc = (DCIteratorBinding)ADFUtil.evaluateEL("#{bindings.SSForecastSourceBlockView1Iterator}");
                ViewObject vo = dc.getViewObject();           
                vo.ensureVariableManager().setVariableValue("DateFrom", dateFrom);
                vo.ensureVariableManager().setVariableValue("DateTo", dateTo);
                vo.ensureVariableManager().setVariableValue("ShiftModeCode", shiftModeC);
                vo.ensureVariableManager().setVariableValue("TerminalCode", terminalCode);
                vo.executeQuery();
                vo.setCurrentRowAtRangeIndex(0);
                ((SSForecastSourceBlockViewImpl)vo).synchornizeAccessorVOVariableValues();

  • Change image on expand/contract of tree table node.

    I have a tree table. If the branch node is expanded show an image of open folder. If the branch node is closed, then show an image of closed folder.
    How can we know whether the node is expanded or collapsed ?
    Any help appreciated !!

    Thanks Umesh for the reply.
    The implementation works well with non-recursive tree.
    My Tree Table is a recursive tree.
    When I try to implement the functionality, the problem I am facing is as follows:
    Only the top level node is refreshed to display the new image. whereas the the child nodes do not get refreshed.
    When i provide with a sysout in the managed bean, the child nodes, transient attribute displays updated value .
    Could you please provide help regarding dis ?

  • How to get a Tree Node Value when a Tree is Expanded

    My reqiurement is when i Expand a Tree i need the Expanded tree Node Value. For Example Consider Parent as a Root Node of a Tree, and Consider its two Children Child1 and Child2.
    When + Parent Expanded
    I will Get the Output as --Parent
    - Child1
    - Child2
    so As when i expand the Tree i must Get the String Value Parent.

    duplicate
    How to get a Tree Node Value when a Tree is Expanded

  • Bad performance when iterating/updating the rows of a tree table

    Hello,
    we have a tree table based on a VO and EO (with transient attributes). One of the attribute is a flag.
    The VO is populated with a complex query having many thousands of rows.
    Now, when the user clicks on a parent node, all the children are updated (their flag is set to true) recursively.
    This is really really slow. It might require several minutes, while a similar update via PL/SQL on a real table would required few seconds.
    Is there any way to improve the performance? We have already applied all the tunings on both the EO and VO mentioned in Oracle Documentation, but they had almost no effect:
    - retain viewlink row set iterators
    - query hints
    - Use update batching
    The algorithm we use is the following:
        private void checkTreeNodes(JUCtrlHierNodeBinding node, Boolean check) {
            if (node == null) {
                return;
           TreeVORowImpl nodeRow = (TreeVORowImpl)node.getRow();
            if (nodeRow != null) {
                    nodeRow.setFlag(check);
            List<JUCtrlHierNodeBinding> children = null;
            if (!nodeRow.getLevel().equals("4"))  // no more than 4 levels
                children = node.getChildren();
            if (children != null) {
                for (JUCtrlHierNodeBinding _node : children) {
                    checkTreeNodes(_node, check);
        }

    Thanks for you answer.
    I am trying to move the logic in a method of the AM. But I have an exception (jdev 11.1.2.1):
        public void checkTreeNodes(TreeVORowImpl node, Boolean check, int level) {
            if (node == null)
                return;
            node.setFlag(check);
            if (level >= 4)
                return;
            Key key = new Key(new String[] { node.getId() }); // Id is the primary Key
            // By debugging via System.out.println, the code stops here:
            RowIterator rowIt = getMyVO().findByAltKey("ParentId", key , -1, false); // children have ParentId = Id
            while (rowIt.hasNext()) {
                TreeVORowImpl row = (TreeVORowImpl)rowIt.next();
                checkTreeNodes(row, check, level + 1);
        }findByAltKey gives the following exception (since it's called from the UI by getting the AM from DataControl):
    oracle.jbo.InvalidObjNameException: JBO-25005: [...]
         at oracle.adf.model.binding.DCBindingContainerState.validateStateFromString(DCBindingContainerState.java:573)
         at oracle.adf.model.binding.DCBindingContainerState.validateStateFromString(DCBindingContainerState.java:504)
         at oracle.adf.model.binding.DCBindingContainerState.validateToken(DCBindingContainerState.java:684)
    Do you see anything wrong or not efficient?
    Thanks.

  • Npe when using popup inside adf table column

    hi i have a popup witch is inside adf column table but when i click the button i get this npe error
    <af:column id="c7" headerText="Action">
                  <af:commandButton text="Add" id="cb2">
                    <af:showPopupBehavior popupId="p1" triggerType="click"/>
                  </af:commandButton>
                  <af:panelGroupLayout id="pgl2" inlineStyle="width:1042px;"
                                       layout="horizontal" valign="middle"
                                       halign="right">
                    <af:popup id="p1" contentDelivery="lazyUncached">
                      <af:dialog id="d1" type="cancel">
                        <af:region value="#{bindings.usrtaskflowdefinition1.regionModel}"
                                   id="r1"/>
                      </af:dialog>
                    </af:popup>
                    <af:commandButton text="Cancel" id="cb1" rendered="false"/>
                    <af:commandButton text="Remove" id="cb3" visible="false"/>
                  </af:panelGroupLayout>
                </af:column>
    am geting this NPE ERROR
    <FacesCtrlSearchBinding> <release> ADFv: release():: Release all resources.
    <ADFLogger> <end> ADF web request
    <XmlErrorHandler> <handleError> ADF_FACES-60096:Server Exception during PPR, #1
    javax.el.ELException: java.lang.NullPointerException
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:266)
        at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:173)
        at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:200)
        at com.sun.el.parser.AstValue.getValue(Unknown Source)
        at com.sun.el.parser.AstEqual.getValue(Unknown Source)
        at com.sun.el.parser.AstOr.getValue(Unknown Source)
        at com.sun.el.ValueExpressionImpl.getValue(Unknown Source)
        at org.apache.myfaces.trinidad.bean.FacesBeanImpl.getProperty(FacesBeanImpl.java:68)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.getBooleanProperty(UIXComponentBase.java:1204)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.isRendered(UIXComponentBase.java:423)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:810)
        at org.apache.myfaces.trinidad.component.UIXEditableValue.processValidators(UIXEditableValue.java:263)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildrenImpl(UIXComponentBase.java:1022)
        at oracle.adf.view.rich.component.fragment.UIXRegion.validateChildrenImpl(UIXRegion.java:634)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.validateChildren(UIXComponentBase.java:1007)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.processValidators(UIXComponentBase.java:814)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl$ProcessValidationsCallback.invokeContextCallback(LifecycleImpl.java:1422)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnNamingContainerComponent(UIXComponentBase.java:1358)
        at oracle.adf.view.rich.component.fragment.UIXRegion.invokeOnComponent(UIXRegion.java:555)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnChildrenComponents(UIXComponentBase.java:1330)
        at org.apache.myfaces.trinidad.component.UIXComponentBase.invokeOnComponent(UIXComponentBase.java:1424)
        at oracle.adf.view.rich.component.rich.RichDocument.invokeOnComponent(RichDocument.java:168)
        at javax.faces.component.UIComponent.invokeOnComponent(UIComponent.java:720)
        at javax.faces.component.UIComponentBase.invokeOnComponent(UIComponentBase.java:678)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:407)
        at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:194)
        at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
        at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
        at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
        at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
        at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
        at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
        at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:179)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
        at java.security.AccessController.doPrivileged(Native Method)
        at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
        at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
        at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
        at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
        at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
        at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
        at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
        at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
        at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
        at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
        at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
        at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
        at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
        at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: java.lang.NullPointerException
        at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:201)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:632)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:597)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttribute(JUCtrlValueBinding.java:1341)
        at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfAttributeCriterion.getOperator(FacesCtrlSearchBinding.java:2240)
        at sun.reflect.GeneratedMethodAccessor357.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at javax.el.BeanELResolver.getValue(BeanELResolver.java:261)
        ... 87 more
    <QueryCollection> <finalize> [4342] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4343] ##### QueryCollection.finl oracle.jbo.Key[Surname 0 0 ]
    <QueryCollection> <finalize> [4344] ##### QueryCollection.finl oracle.jbo.Key[Firstname 0 0 ]
    <ControllerState> <finalizeRequest> ADFc: Request number [9] for session [14gycvxp1h_] has been finalized.
    <QueryCollection> <finalize> [4345] ##### QueryCollection.finl oracle.jbo.Key[Username 0 0 ]
    <RootViewPortContextImpl> <unlockViewPortRequestLock> ADFc: Attempting to release RootViewPort request lock on 14gycvxp1h_0
    <QueryCollection> <finalize> [4346] ##### QueryCollection.finl oracle.jbo.Key[Organisationname 0 0 ]
    <QueryCollection> <finalize> [4347] ##### QueryCollection.finl oracle.jbo.Key[Surname 0 0 ]
    <RootViewPortContextImpl> <unlockViewPortRequestLock> ADFc: Successfully released RootViewPort request lock on 14gycvxp1h_0
    <QueryCollection> <finalize> [4348] ##### QueryCollection.finl oracle.jbo.Key[Firstname 0 0 ]
    <QueryCollection> <finalize> [4349] ##### QueryCollection.finl oracle.jbo.Key[Username 0 0 ]
    <Auditor> <isEnabled> IAU:Event Enabled : false, Event Type : CheckPermission, Event Status : true, Properties : null
    <QueryCollection> <finalize> [4350] ##### QueryCollection.finl oracle.jbo.Key[Organisationname 0 0 ]
    <QueryCollection> <finalize> [4351] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4352] ##### QueryCollection.finl no RowFilter
    <Auditor> <isEnabled> IAU:Event Enabled : false, Event Type : CheckPermission, Event Status : true, Properties : null
    <QueryCollection> <finalize> [4353] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4354] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4355] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4356] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4357] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4358] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4359] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4360] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4361] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4362] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4363] ##### QueryCollection.finl no RowFilter
    <QueryCollection> <finalize> [4364] ##### QueryCollection.finl no RowFilter
    <AbstractExecutionContext> <getECForJDBC> adding new ECForJDBC null to set of listeners for this context
    <WatchingDocumentChangeNotifier> <run> decide if checkUsingListeners should run. loopCnt: 0 changeInterval: 60000 originalChangeInterval: 60000 forceCheckForUpdate: false notifier instance: oracle.as.config.notification.filesystem.WatchingDocumentChangeNotifier@ca7192
    <WatchingDocumentChangeNotifier> <checkUsingListeners> BEGIN checkUsingListeners for notifier instance: oracle.as.config.notification.filesystem.WatchingDocumentChangeNotifier@ca7192
    <WatchingDocumentChangeNotifier> <checkUsingListeners> notifier processing file: C:\Users\10017134\App

    Caused by: java.lang.NullPointerException
        at oracle.adf.model.binding.DCControlBinding.reportException(DCControlBinding.java:201)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:632)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.findAttributeDef(JUCtrlValueBinding.java:597)
        at oracle.jbo.uicli.binding.JUCtrlValueBinding.getAttribute(JUCtrlValueBinding.java:1341)
        at oracle.adfinternal.view.faces.model.binding.FacesCtrlSearchBinding$AdfAttributeCriterion.getOperator(FacesCtrlSearchBinding.java:2240)
    It seems that problem is caused by af:query or quickquery component(or underlying view object or view criteria).
    Maybe you can drop BTF as static region directly to your page and see if this will run correctly?
    YES i have try stll does not work
    So then this is not related with "npe when using popup inside adf table column"  
    Dario

  • How to remove Expand All in view menu of tree table

    Hi,
    I want to remove Expand All in view menu of tree table. How to do that?
    Regards,
    Raghu.

    I am having the exact same problem.
    However, I believe that displaying large amount of data via a tree table is fine as the user is able to quickly drill in to the data of interest.
    It is just that the 'Expand All' option (as implemented) does not make sense in my case.
    Given that I cannot hide it, is there an easy way to change it's behavior so that it does nothing (or provide an 'No implemented' alert).
    I don't have the time/experience to implement custom menu items.
    Thanks

  • By default all nodes expanded  in tree table in jsff page in adf

    Hi All,
    I have a jsff page there is a table tree on it.I want it to be expanded on page load(or default behavior).
    How will I achieve it.
    This is to be noted that this jsff page so I can not use before phase or after phase.
    There is a property in tree table which is expandAllEnabled it does not expand nodes of tree.
    There is one more property in tree table which is Initially expanded it shows only first node of tree table expanded.
    Thanks & regards,
    Vikas
    Edited by: vikasadf on May 16, 2013 8:02 AM

    Hi,
    It means store the variable ps in pageflowscope variable calles expanedAllNodes and use the disclosed property of treetable.
    example:
                if (ps == null) {
                    ps = new RowKeySetImpl(true);
                    ps = new RowKeySetImpl(true);
                    ADFContext.getCurrent().getPageFlowScope().put("expanedAllNodes", ps);
                disclosedRowKeys="#{pageFlowScope.expanedAllNodes}"
    Thanks
    Raj Gopal K

  • Auto Expand Html table when we paster data from Microsoft Excel sheet

    hi,
    I need copied data to my Html table.
    Actual requirement is like that when i copy selected rows with selected columns from Microsoft excel sheet and press "ctlr v" on my jsp page then table on jsp must be auto expand as data in excel sheet.
    Take an example.
    I copy 4 rows with 3 columns from excel sheet.
    I have JSP page with 1 row and 3 columns.
    when i press "ctrl v" on first cell of my jsp table then table should be auto expand to accommodate 4 rows of excel sheet.
    here i have some of the code which is near to this, this code just copy past only one row, but i need multiple rows.
    If need then please refer below code and if possible then give me the solution to auto expand HTML table on JSP
    Code to copy paste cell in to HTML Table
    <form>
    <table>
    <tr>
    <td><input type="text" name="t1_0" onchange="formatCells(this.value,'t1')"></td>
    <td><input type="text" name="t1_1"></td>
    <td><input type="text" name="t1_2"></td>
    <td><input type="text" name="t1_3"></td>
    <td><input type="text" name="t1_4"></td>
    </tr>
    <tr>
    <td><input type="text" name="t2_0" onchange="formatCells(this.value,'t2')"></td>
    <td><input type="text" name="t2_1"></td>
    <td><input type="text" name="t2_2"></td>
    <td><input type="text" name="t2_3"></td>
    <td><input type="text" name="t2_4"></td>
    </tr>
    </table>
    </form>
    <script type="text/javascript">
    function formatCells(xls,group){
    var arrGroup = xls.split(/\t/gi);
    for(var i=0;i<arrGroup.length;i++){
    document.forms[0].elements[group + "_" + i].value = arrGroup;
    </script>
    Thanks
    Chintan Patel

    Hi Ross,
    >> In our testing environment using both Excel 2010 and 2013 this file is imported successfully, so we cannot replicate.
    I suspect it is caused by the difference of web server security settings.
    KB: Error message when you use Web query to a secure Web page (HTTPS://) in Excel: "Unable to open"
    Hope it will help.
    By the way, this forum is mainly for discussing questions about Office Development (VSTO, VBA and Apps for Office .etc.). For Office products feature specific questions, you could consider posting them on
    Office IT Pro forum or Microsoft Office Community.
    Regards,
    Jeffrey
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • Tree Table is not getting refreshed properly in Jdev 11.1.2.0

    Hi,
    I am seeing a peculiar issue with tree table not getting refreshed in Jdev 11.1.2.0.
    Let me explain you my use case.
    I have a tree table in a page, where the first column is displayed as selectBooleanRadio component. When user selects this selectBooleanRadio component, that treetable node should get expanded and at the same time all the child records(I have a select boolean check box component(transient attribute) at the child level) for that node should get selected. This is to allow user to unselect the child records, which he/she does not want to process further(some functionality).
    Now when the user selects any radio button, the tree table node is not expanded, but the arrow beside the radio button for that node can be seen as expanded.
    I thought it may be a partial trigger issue, so i tried refreshing the tree table programatically as well. But it was of no use.
    Then I set the partial triggers wrt to SelectBooleanRadio component on the parent container of the TreeTable. After which somehow the node got expanded but the tree table shrinks in width and the actual disclosure functionality of a tree table is lost.
    The same use case works perfectly fine in Jdev 11.1.1.5.
    For reference:
    I created a sample test case(Dept/Emp) in jdev version 11.1.1.5, which works fine. Workspace: http://adf-use-cases.googlecode.com/files/TreeTable1.rar
    But the same test case, when i created in jdev version 11.1.2.0, gives issues. Workspace: http://adf-use-cases.googlecode.com/files/TreeTableUseCase.rar
    If you download the application and run in respective jdev version, you will get to know more about the issue.
    Please let me know, If I am doing anything wrong in the implementation of this use case.
    Any help/suggestions are appreciated.
    Thanks
    Umesh
    Note: My complete application is in Jdev 11.1.2.0, so I can't degrade my jdev version to 11.1.1.5.

    Thanks Frank for the reply.
    But upgrading the jdeveloper to 11.1.2.2 is not an ideal solution for us now, because of the size of the project.
    Some how, the issue of refreshing the tree table is resolved. I am using a command button with clientComponent to true and causing a full page refresh.
    I am not sure, if this is a perfect solution.
    As you said, that this behavior may be an issue with the Jdev version 11.1.2.0, I am using. I am going with the above said approach.

  • Expand tree metod: ok in 11.1.1.4, error in 11.1.2

    Hi OTN,
    I have recently migrated my 11.1.1.4 application to 11.1.2.
    The first bug I met is treetable expanding.
    There is a treetable on my JSF page in a region. On panel collection's toolbar there is a toolbarButton for treetable expanding
    <af:commandToolbarButton text="#{templateBundle.EXPAND}"
                                               id="ctb_expand"
                                               actionListener="#{backingBeanScope.TemplateBean1.expandTemplateTree}"
                                               icon="/img/tree.png"
                                               disabled="#{bindings.TemplateView1Iterator.currentRow == null}"/>The following methods are:
        public void expandTemplateTree(ActionEvent actionEvent) {
            System.out.println(">> expandTemplateTree <<");
            try {
            RichTreeTable rt =
                (RichTreeTable)FacesContext.getCurrentInstance().getViewRoot().findComponent("r1:pc_tree:tree1");
                System.out.println(">> rt = "+rt+" <<");
            TemplateUIHelper.expandTree(rt);
            TemplateUIHelper.refreshTemplateTreeTable();
                System.out.println("> END OF expandTemplateTree <");
            } catch (Exception e) {
                System.err.println(">>> expandTemplateTree <<<");
                e.printStackTrace();
            public static void expandTree(RichTreeTable rt) {
            try {
                if (rt != null) {
                    int rowCount = rt.getRowCount();
                    List<Key> rowKey;
                    for (int j = 0; j < rowCount; j++) {
                        oracle.adfinternal.view.faces.model.binding.FacesCtrlHierNodeBinding node =
                            (oracle.adfinternal.view.faces.model.binding.FacesCtrlHierNodeBinding)rt.getRowData(j);
                        rowKey = new ArrayList<Key>();
                        rowKey.add(node.getRowKey());
                        rt.getDisclosedRowKeys().add(rowKey);
                        rt.setRowKey(rowKey);
                        expandTreeTableChildrenNode(rt, node, rowKey);
            } catch (Exception e) {
                System.err.println(">>> expandTree <<<");
                e.printStackTrace();
        private static void expandTreeTableChildrenNode(RichTreeTable rt,
                                                        oracle.adfinternal.view.faces.model.binding.FacesCtrlHierNodeBinding node,
                                                        List<Key> parentRowKey) {
            try {
                System.out.println(">> expandTreeTableChildrenNode <<");
                ArrayList children = node.getChildren();
                List<Key> rowKey;
                if (children != null) {
                    for (int i = 0; i < children.size(); i++) {
                        rowKey = new ArrayList<Key>();
                        rowKey.addAll(parentRowKey);
                        rowKey.add(((oracle.adfinternal.view.faces.model.binding.FacesCtrlHierNodeBinding)children.get(i)).getRowKey());
                        rt.getDisclosedRowKeys().add(rowKey);
                        if (((oracle.adfinternal.view.faces.model.binding.FacesCtrlHierNodeBinding)(children.get(i))).getChildren() ==
                            null)
                            continue;
                        expandTreeTableChildrenNode(rt,
                                                    (oracle.adfinternal.view.faces.model.binding.FacesCtrlHierNodeBinding)(node.getChildren().get(i)),
                                                    rowKey);
            } catch (Exception e) {
                e.printStackTrace();
        }When I click the button in a console window I see that the method is executed to the end without being interrupted by exceptions.
    But the tree is not expanded and I see a messagebox with ADF_FACES-60100 error and HTTP 404 code.
    In console there is a stacktrace:
    expandTemplateTree
    rt = RichTreeTable[org.apache.myfaces.trinidad.component.UIXTree$RowKeyFacesBeanWrapper@1d83b914, id=tree1]
    expandTreeTableChildrenNode
    expandTreeTableChildrenNode
    expandTreeTableChildrenNode
    END OF expandTemplateTree
    <15.07.2011 17:34:56 MSD> <Warning> <oracle.adf.view.rich.component.fragment.UIXRegion> <BEA-000000> <ADF_FACES-10026: During the processing of the region component, either a context change was not found or it did not match the instance set up by the current component. Expected oracle.adf.view.rich.component.fragment.UIXRegion$RegionContextChange but found UIXCollection.CollectionComponentChange[Component class: oracle.adf.view.rich.component.rich.data.RichTreeTable, component ID: tree1].
    <15.07.2011 17:34:56 MSD> <Error> <oracle.adfinternal.view.faces.config.rich.XmlHttpServletResponse> <BEA-000000> <
    javax.servlet.ServletException: ADF_FACES-60101:+Error code+ HTTP: 404."
            at oracle.adfinternal.view.faces.config.rich.XmlHttpServletResponse._logException(XmlHttpServletResponse.java:140)
            at oracle.adfinternal.view.faces.config.rich.XmlHttpServletResponse.sendError(XmlHttpServletResponse.java:106)
            at oracle.adfinternal.view.faces.config.rich.XmlHttpServletResponse.sendError(XmlHttpServletResponse.java:100)
            at javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResponseWrapper.java:128)
            at com.sun.faces.application.ViewHandlerResponseWrapper.sendError(ViewHandlerResponseWrapper.java:82)
            at weblogic.servlet.FileServlet.findSource(FileServlet.java:269)
            at weblogic.servlet.FileServlet.doGetHeadPost(FileServlet.java:191)
            at weblogic.servlet.FileServlet.service(FileServlet.java:173)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:183)
            at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:523)
            at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:253)
            at com.sun.faces.context.ExternalContextImpl.dispatch(ExternalContextImpl.java:546)
            at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
            at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
            at oracle.adfinternal.view.faces.config.rich.RecordRequestAttributesDuringDispatch.dispatch(RecordRequestAttributesDuringDispatch.java:44)
            at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
            at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
            at javax.faces.context.ExternalContextWrapper.dispatch(ExternalContextWrapper.java:93)
            at org.apache.myfaces.trinidadinternal.context.FacesContextFactoryImpl$OverrideDispatch.dispatch(FacesContextFactoryImpl.java:167)
            at com.sun.faces.application.view.JspViewHandlingStrategy.executePageToBuildView(JspViewHandlingStrategy.java:363)
            at com.sun.faces.application.view.JspViewHandlingStrategy.buildView(JspViewHandlingStrategy.java:154)
            at org.apache.myfaces.trinidadinternal.application.ViewDeclarationLanguageFactoryImpl$ChangeApplyingVDLWrapper.buildView(ViewDeclarationLanguageFactoryImpl.java:341)
            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:982)
            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:334)
            at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:232)
            at javax.faces.webapp.FacesServlet.service(FacesServlet.java:313)
            at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
            at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
            at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
            at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:173)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:121)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
            at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:468)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:293)
            at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:199)
            at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
            at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
            at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
            at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
            at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
            at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
            at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
            at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
            at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
            at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
            at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
            at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
            at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
            at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
            at weblogic.work.ExecuteThread.run(ExecuteThread.java:178){code}
    The method is based upon one of ADF Code Corner articles.
    It is working properly in ADF 11.1.1.4.
    Can't see the error cause. Would like an advice, please.
    Thanks.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               

    I haven't invented using ADF internals, I was surprised myself. But it worked in 1.4.
    As I said, this method is based on some blog article (thought it was Code Corner, but can't find it right now).
    I'll try Code Corner #78.
    Implemented code corner method.
    The treetable is really initially expanded. But now I can't disclose nodes manually.
    I can undisclose (close) node with no problems but trying to disclose (open) it back manually hungs up the treetable.
    Here is my code (basically the same as on Code Corner):
    <af:treeTable value="#{bindings.ComponentView1.treeModel}" var="node"
                                                  selectionListener="#{backingBeanScope.TemplateBean1.treeMakeCurrent}" // shouldn't cause troubles
                                                  rowSelection="single" id="tree1" partialTriggers=":::pc1:t1"
                                                  columnStretching="column:c7" fetchSize="60" varStatus="vs"
                                                  disclosedRowKeys="#{backingBeanScope.TemplateBean1.newDisclosedTreeTableKeys}">
    public void expandTemplateTreeTable(ActionEvent ae) { // on button
            newDisclosedTreeTableKeys = null;
            getNewDisclosedTreeTableKeys();
            TemplateUIHelper.refreshTemplateTreeTable();
        private RowKeySetImpl newDisclosedTreeTableKeys = null;
        public void setNewDisclosedTreeTableKeys(RowKeySetImpl newDisclosedKeys) {
            this.newDisclosedTreeTableKeys = newDisclosedKeys;
        public RowKeySetImpl getNewDisclosedTreeTableKeys() {
            final int expandTreeToLevelLevel = 10;
            if (newDisclosedTreeTableKeys == null) {
                newDisclosedTreeTableKeys = new RowKeySetImpl();
                FacesContext fctx = FacesContext.getCurrentInstance();
                UIViewRoot root = fctx.getViewRoot();
                //lookup the tree table component by its component ID
                RichTreeTable treeTable = TemplateUIHelper.getTemplateTreeTable();// (RichTreeTable)root.findComponent("tt1");
                //if tree table is found
                if (treeTable != null) {
                    //get the collection model to access the ADF binding layer for
                    //the tree binding used
                    CollectionModel model = (CollectionModel)treeTable.getValue();
                    JUCtrlHierBinding treeBinding =
                        (JUCtrlHierBinding)model.getWrappedData();
                    JUCtrlHierNodeBinding nodeBinding =
                        treeBinding.getRootNodeBinding();         
                    TemplateUIHelper.expandAllNodes(nodeBinding, newDisclosedTreeTableKeys, 0, expandTreeToLevelLevel);
            return newDisclosedTreeTableKeys;
        public static void expandAllNodes(JUCtrlHierNodeBinding nodeBinding,
                                    RowKeySetImpl disclosedKeys,
                                    int currentExpandLevel, int maxExpandLevel) {
            if (currentExpandLevel <= maxExpandLevel) {
                List<JUCtrlHierNodeBinding> childNodes =
                    (List<JUCtrlHierNodeBinding>)nodeBinding.getChildren();
                ArrayList newKeys = new ArrayList();
                if (childNodes != null) {
                    for (JUCtrlHierNodeBinding _node : childNodes) {
                        newKeys.add(_node.getKeyPath());
                        expandAllNodes(_node, disclosedKeys,
                                       currentExpandLevel + 1, maxExpandLevel);
                disclosedKeys.addAll(newKeys);
        }Edited by: ILya Cyclone on Jul 22, 2011 6:26 PM

  • Tree table is not reflecting the updated model data changes at the front end

    I have two tables ,
    1) Provider table(tree table)  2)member table
    I have implemented drag and drop functionality using jQuery UI on both tables.
    In my scenario when I drag a member from the member table and drop it on the Provider table and also when I delete an assigned member from the provider table I will update the data fetched from odata model and again I will call the method which binds the data to the provider table so that the table will reflect the changes.
    here is the code,
    on drop:
    $("#Provider tbody tr").droppable({
      drop: function(event){
           oController.AssignMember(oProviderId, oMemberId)
      }).disableSelection();
    Assign member function:   here am updating the model.
    AssignMember : function(oProviderId, oMemberId){
      var oModel = new sap.ui.model.odata.ODataModel("../../../services/provider.xsodata/", true);
      var oParameters = {};
      oParameters.PROVIDER_ID = oProviderId;
      oParameters.MEMBER_ID = oMemberId;
      oParameters.CREATED_ON = new Date();
      oModel.setHeaders({"content-type" : "application/json;charset=utf-8"});
      oModel.create( "/PROVIDERMEMBERS", oParameters, null, function() {
      var oController = sap.ui.controller("adsm.provider.member_assignment_view");
      oController.GetProviderData();
      },function(jqXHR) {
      var errorMessage = jqXHR.response.body;
      var jsondata = JSON.parse(errorMessage);
      sap.ui.commons.MessageBox.alert(jsondata.error.message.value);
    GetProviderData function: here i bind the data to the table
    GetProviderData: function(){
    var oModel = new sap.ui.model.odata.ODataModel("../../../services/provider.xsodata/", true);
    var Context = "/PROVIDERS?expand=ASSIGNEDMEMBERS&$select=NAME,ID,ASSIGNEDMEMBERS/NAME,ASSIGNEDMEMBERS/ID,ASSIGNEDMEMBERS/PROVIDER_ID";
      var oTable = sap.ui.getCore().byId("tblProviders");
      oModel.read(Context, null, null, true, onSuccess, onError);
      function onSuccess(oEventdata){
      var outputJson = {};
      var p = 0;
      var r = {};
      if (oEventdata) {
      r = oEventdata;
      try {
      if (oEventdata.d){
      r = oEventdata.d;
      } catch(e){
      //alert('oEventdata.d failed');
      try {
      if (oEventdata.d.results){
      r = oEventdata.d.results;
      } catch(e){
      //alert('oEventdata.d.results failed');
      try {
      if (oEventdata.results){
      r = oEventdata.results;
      } catch(e){
      //alert('oEventdata.results failed');
      $.each(r, function(i, j) {
      outputJson[p] = {};
      outputJson[p]["NAME"] = j.NAME;
      outputJson[p]["ID"] = j.ID;
      outputJson[p]["PROVIDER_ID"] = j.ID;
      outputJson[p]["DELETE"] = 0;
      var m = 0;
      if (j.ASSIGNEDMEMBERS.results.length > 0) {
      $.each(j.ASSIGNEDMEMBERS.results, function(a,b) {
      outputJson[p][m] = { NAME: b.NAME,
      ID : b.ID,
      PROVIDER_ID: b.PROVIDER_ID,
      DELETE: 1};
      m++;
      p++;
    var oModel = new sap.ui.model.json.JSONModel();
      oModel.setData(outputJson);
      oTable.setModel(oModel);
      function onError(oEvent){
      console.log("Error on Provider Members");
    oTable.bindRows({
      path:"/"
    Its working fine in chrome but in IE the model data gets updated but the table is not reflecting the changes at front end.Can anyone suggest me a possible solution to fix this?
    Please have a look at the attached screen shots.
    Best regards,
    Amala Suganya.

    Hi Amala,
    I think this will help you:
    Disabling Cache for CRUD/FI OData scenarios for a UI5 Application on Internet Explorer
    Kind regards,
    RW

  • ADF Issue with Tree Table , Child Row not getting rendered.

    Hi All,
    I am trying to show a single Level Master-Detail Table via ADF Tree Table.
    I have MasterVO : InventoryVO (1 SubInventoryCode)
    DetailVO: SubInventoryVO (n :SubInventoryCode)
    Both VOs are SQL query based VO with bindVariables.
    I have a viewLink between MasterVO and ChildVO (1:n relationship)
    I dragged and drop the MasterVO as a tree Table. I added the Rule in the Tree Binding too.
    I have the Tree table under a Tab , I execute the AM impl method when the Tab is clicked where I set the bindvariables of the MasterVO and ChildVO and execute it.
    when I run the Page , the VO query gets executed but the I am able to see only the MasterVO Datas, and when I click MasterVO ROW , the Table doesnt expand and it doesnt render any ChildVO ROws.
    Please find the Page Definition and Jspx Page Code Below
    Page Definition Code
    <tree IterBinding="ItemsLocatorIterator" id="ItemsLocator">
          <nodeDefinition DefName="xxplp.oracle.adf.items.model.view.ItemsLocatorVO"
                          Name="ItemsLocator0">
            <AttrNames>
              <Item Value="SubinventoryCode"/>
              <Item Value="Openorderqty"/>
              <Item Value="Openwoqty"/>
              <Item Value="Qoh"/>
            </AttrNames>
            <Accessors>
              <Item Value="ItemSubInventoryVO"/>
            </Accessors>
          </nodeDefinition>
          <nodeDefinition DefName="xxplp.oracle.adf.items.model.view.ItemSubInventoryVO"
                          Name="ItemsLocator1">
            <AttrNames>
              <Item Value="Locator"/>
            </AttrNames>
          </nodeDefinition>
        </tree>Jspx Page Code
    <af:treeTable value="#{bindings.ItemsLocator.treeModel}"
                                          var="node"
                                          selectionListener="#{bindings.ItemsLocator.treeModel.makeCurrent}"
                                          rowSelection="single" id="tt2"
                                          styleClass="AFStretchWidth"
                                          rowDisclosureListener="#{backingBeanScope.TabListenerBean.LocationTableRowDisclosureListener}">
                              <f:facet name="nodeStamp">
                                <af:column id="c110">
                                  <af:outputText value="#{node.SubinventoryCode}" id="ot116"/>
                                </af:column>
                              </f:facet>
                              <f:facet name="pathStamp">
                                <af:outputText value="#{node}" id="ot117"/>
                              </f:facet>
                              <af:column id="c111"
                                         headerText="#{bindings.ItemsLocator.hints.Qoh.label}">
                                <af:outputText value="#{node.Qoh}" id="ot118"/>
                              </af:column>
                              <af:column id="column1"
                                         headerText="#{bindings.ItemsLocator.hints.Openorderqty.label}">
                                <af:outputText value="#{node.Openorderqty}"
                                               id="outputText1"/>
                              </af:column>
                              <af:column id="column2"
                                         headerText="#{bindings.ItemsLocator.hints.Openwoqty.label}">
                                <af:outputText value="#{node.Openwoqty}"
                                               id="outputText2"/>
                              </af:column>
                              <af:column id="column3"
                                         headerText="Locator">
                                <af:outputText value="#{node.Locator}"
                                               id="outputText3"/>
                              </af:column>
                            </af:treeTable>

    I was able to find the issue which is causing the problem, both the VOs are SQL Query Based VOs.
    The ChildVO (SubInventoryVO) is has a bindvariable in its Query, which is losing its value when the viewlink accessor query gets appended to it.
    Please find the query below
    SELECT * FROM (SELECT MOTV.ORGANIZATION_CODE, MOTV.SUBINVENTORY_CODE  
    FROM MTL_ONHAND_TOTAL_V MOTV
    WHERE INVENTORY_ITEM_ID = :P_INVENTORY_ITEM_ID) QRSLT  WHERE ORGANIZATION_CODE = :Bind_OrganizationCode Though I am setting the VO query before the Table is rendered, ":P_INVENTORY_ITEM_ID".
    Its Losing its value, when the above whereclause "ORGANIZATION_CODE = :Bind_OrganizationCode " gets appended to it.
    I am thinking to use ExecuteWithParams Operation on SelectionListener method of the Tree Table to set the ":P_INVENTORY_ITEM_ID" bind variable, but I also want the viewLinkAccessor rule also to be applied ..
    Please suggest me how to retain the implicit bindVariable of the Query.

Maybe you are looking for

  • My imac wont start up the wheel just spins

    my screen went high contrast. i could not force quit so i powered off.  when i powered on the wheel just spins. this has been going on for an hour.

  • Incoming Invoice Create from data without posting the GR details

    Hi Experts, I am trying to create a MM invoice (MIRO) using the BAPI BAPI_INCOMINGINVOICE_CREATE and I do not want to post GR details in this invoice. But I have not been able to see the face of success yet. Following are the parameters that I pass t

  • SD invoice posted with document type RV ,

    Hi all, I try to do incoming payment for SD invoice posted with document type - RV. when i used to do incoming payment by transc code: f-28. An ABAP dun error occurs, stating termination " message type-X". Is it possible to do incoming payment for SD

  • Cisco LMS 4.2.3 - Nexus VDC

    Hi, Does anyone know if its possible for LMS to pull all VDC configs via the Admin VDC or do we need to manage each VDC as seperate devices ? I know it can be done via CLI / DCNM but I`ve not seen a lot of infomation about support in LMS. Thanks

  • SMDIAG_WIZARD and XML template for EWA

    Hi all experts, I'm in SolMan 4.0 SP12 want to make a EWA report from Enterprise Portal 6.0. 1) I have a problem when I run SMDIAG_WIZARD to my Enterprise Portal 6.0. error : <i>Localization failed: ResourceBundle='com.sap.engine.services.rfcengine.R