ContextException: DataNodeInfo(AdminView): unknown child node IO

Hi all,
I am getting this exception while creating a Web Dynpro application which provides a drop-down menu (containing a list of tables from SQL server) for the user. The user can select a table from the drop-down, and when he clicks Submit, the contents of the table selected has to be displayed.
For this, I am creating a node in the context of the view dynamically and also adding attributes to the node corresponding to the columns of the table selected. I am doing this dynamic creation in the wdModifyView(). I am creating the view layout which displays the table-contents dynamically too.
But when I run the application, I am getting this exception. Following is the complete stack trace,
com.sap.tc.webdynpro.progmodel.context.ContextException: DataNodeInfo(AdminView): unknown child node IO
     at com.sap.tc.webdynpro.progmodel.context.Paths.followMetaPath(Paths.java:794)
     at com.sap.tc.webdynpro.progmodel.context.Paths.getAttributeInfoFor(Paths.java:234)
     at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter._getAlignment(TableAdapter.java:11239)
     at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter._calculateColumnHAlign(TableAdapter.java:12455)
     at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter.setViewAndNodeElement(TableAdapter.java:398)
     at com.sap.tc.webdynpro.clientserver.uielements.adaptmgr.URAdapterManager.getAdapterFor(URAdapterManager.java:285)
     at com.sap.tc.webdynpro.clientserver.uielements.adaptmgr.URAdapterManager.getAdapterFor(URAdapterManager.java:93)
     at com.sap.tc.webdynpro.clientserver.uielements.adaptbase.AbstractAdapter.getAdapterFor(AbstractAdapter.java:495)
     at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.FlowLayoutAdapter$Items.getControl(FlowLayoutAdapter.java:368)
     at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutItemFragment(FlowLayoutRenderer.java:288)
     at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.renderFlowLayoutFragment(FlowLayoutRenderer.java:244)
     at com.sap.tc.ur.renderer.ie6.FlowLayoutRenderer.render(FlowLayoutRenderer.java:49)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)
     at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:619)
     at com.sap.tc.ur.renderer.ie6.ScrollContainerRenderer.render(ScrollContainerRenderer.java:74)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:52)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:434)
     at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.RenderManager.render(RenderManager.java:133)
     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:1057)
     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.fillDynamicTemplateContext(HtmlClient.java:457)
     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:1245)
     at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.retrieveData(HtmlClient.java:253)
     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doRetrieveData(WindowPhaseModel.java:595)
     at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:156)
     at com.sap.tc.webdynpro.clientserver.window.WebDynproWindow.processRequest(WebDynproWindow.java:335)
     at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:143)
     at com.sap.tc.webdynpro.clientserver.session.ApplicationSession.doProcessing(ApplicationSession.java:321)
     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:713)
     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:666)
     at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:250)
     at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:150)
     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:62)
     at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:53)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401)
     at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944)
     at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266)
     at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95)
     at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:175)
     at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33)
     at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41)
     at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
     at java.security.AccessController.doPrivileged(Native Method)
     at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
     at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)
Please help...

Here it is,
public static void wdDoModifyView(IPrivateAdminView wdThis, IPrivateAdminView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
    //@@begin wdDoModifyView
          if (firstTime) {
          } else {
               String[] retString = null;
               java.util.ArrayList arList = new java.util.ArrayList();
               Context ctx = null;
               DataSource ds = null;
               String dataSource = "jdbc/WebCASDS";
               try {
                    ctx = new InitialContext();
                    if (ctx == null) {
                         wdContext
                              .wdGetAPI()
                              .getController()
                              .getComponent()
                              .getMessageManager()
                              .reportSuccess("Error - No Context");
                    ds = (DataSource) ctx.lookup(dataSource);
                    if (ds == null) {
                         wdContext
                              .wdGetAPI()
                              .getController()
                              .getComponent()
                              .getMessageManager()
                              .reportSuccess("Error - No dataSource: " + ds);
               } catch (ContextException ce) {
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("Inside catch1: Context Exception" + ce);
               } catch (Exception e) {
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("DataSource Look up Exception ");
               try {
                    IWDDropDownByKey key =
                         (IWDDropDownByKey) view.getElement("DropDownByKey");
                    String TableName1 = key.getSelectedKey();
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("Selected Table : " + TableName1);
                    Statement stmt = null;
                    ResultSet rs = null;
                    ResultSetMetaData rsmtadta = null;
                    int colCount;
                    int x = 0;
                    int i;
                    String[] colName = null;
                    String[] colType = null;
                    String sqlQuery = null;
                    stmt = conn1.createStatement();
                    sqlQuery = "select * from " + TableName1 + "";
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("SQL Query:" + sqlQuery);
                    stmt.execute(sqlQuery);
                    rs = stmt.executeQuery(sqlQuery);
                    rsmtadta = rs.getMetaData();
                    colCount = rsmtadta.getColumnCount();
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("Column Count " + colCount);
                    colName = new String[colCount + 1];
                    colType = new String[colCount + 1];
                    for (i = 1; i <= colCount; i++) {
                         colName[i - 1] = rsmtadta.getColumnName(i);
                         colType[i - 1] = rsmtadta.getColumnTypeName(i);
                         if (colType[i - 1].equalsIgnoreCase("varchar")) {
                              colType[i - 1] = "ddic:com.sap.dictionary.string";
                         } else if (colType[i - 1].equalsIgnoreCase("datetime")) {
                              colType[i - 1] = "ddic:com.sap.tut.wd.languages.myDate";
                         wdContext
                              .wdGetAPI()
                              .getController()
                              .getComponent()
                              .getMessageManager()
                              .reportSuccess("Column Name " + colName[i - 1]);
                         wdContext
                              .wdGetAPI()
                              .getController()
                              .getComponent()
                              .getMessageManager()
                              .reportSuccess("Column Type " + colType[i - 1]);
                    //Creating a node corresponding to the selected table
                    IWDNodeInfo rootNodeInfo = wdContext.getNodeInfo();
                    IWDNodeInfo tableNodeInfo =
                         rootNodeInfo.addChild(
                              "TableSelected",
                              null,
                              true,
                              false,
                              true,
                              false,
                              false,
                              true,
                              null,
                              null,
                              null);
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("After node creation");
                    //Creating the attributes for the node created.. corresponding to the columns present in the selected table
                    for (i = 1; i <= colCount; i++) {
                         tableNodeInfo.addAttribute(colName[i - 1], colType[i - 1]);
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("After attribute creation");
                    IWDNode tableNode = wdContext.getChildNode("TableSelected", 0);
                    int rowCount = 0;
                    while (rs.next()) {
                         try {
                              IWDNodeElement tableElement = tableNode.createElement();
                              wdContext
                                   .wdGetAPI()
                                   .getController()
                                   .getComponent()
                                   .getMessageManager()
                                   .reportSuccess("Inside while before for, element initialized");
                              for (i = 1; i <= colCount; i++) {
                                   wdContext
                                        .wdGetAPI()
                                        .getController()
                                        .getComponent()
                                        .getMessageManager()
                                        .reportSuccess(
                                             "values1..."
                                                  + rs.getObject(
                                                       colName[i - 1].toString()));
                              for (i = 1; i <= colCount; i++) {
                                   tableElement.setAttributeValue(
                                        colName[i - 1],
                                        rs.getObject(colName[i - 1].toString()));
                                   wdContext
                                        .wdGetAPI()
                                        .getController()
                                        .getComponent()
                                        .getMessageManager()
                                        .reportSuccess("Inside for, element row created");
                              tableNode.addElement(tableElement);
                              wdContext
                                   .wdGetAPI()
                                   .getController()
                                   .getComponent()
                                   .getMessageManager()
                                   .reportSuccess("Element created :" + tableElement);
                              rowCount++;
                         } catch (ContextException ce) {
                              wdContext
                                   .wdGetAPI()
                                   .getController()
                                   .getComponent()
                                   .getMessageManager()
                                   .reportSuccess(
                                        "Inside catch2: Context Exception" + ce);
                         } catch (ClassCastException e) {
                              wdContext
                                   .wdGetAPI()
                                   .getController()
                                   .getComponent()
                                   .getMessageManager()
                                   .reportSuccess("Class cast exception" + e);
                    IWDTable table =
                         (IWDTable) view.createElement(IWDTable.class, null);
                    IWDNodeInfo tableNodeCreatedInfo = tableNode.getNodeInfo();
                    table.bindDataSource(tableNodeCreatedInfo);
                    IWDCaption tableCaption =
                         (IWDCaption) view.createElement(IWDCaption.class, null);
                    tableCaption.setText("Table Contents");
                    table.setHeader(tableCaption);
                    for (i = 1; i <= colCount; i++) {
                         IWDTableColumn column =
                              (IWDTableColumn) view.createElement(
                                   IWDTableColumn.class,
                                   "ColCaption" + i);
                         IWDCaption caption =
                              (IWDCaption) view.createElement(
                                   IWDCaption.class,
                                   "TableCaption" + i);
                         String header = colName[i - 1];
                         caption.setText(header);
                         column.setHeader((IWDCaption) caption);
                         table.addColumn(column);
                         wdContext
                              .wdGetAPI()
                              .getController()
                              .getComponent()
                              .getMessageManager()
                              .reportSuccess("Inside for after creating column header");
                    //                                        IWDUIElementContainer root =
                    //                                                                 (IWDUIElementContainer) view.getRootElement();
                    //                                                            root.addChild(table);
                    int k = 1;
                    while (k <= rowCount) {
                         wdContext
                              .wdGetAPI()
                              .getController()
                              .getComponent()
                              .getMessageManager()
                              .reportSuccess("Inside while layout creation after headers are in");
                         for (i = 1; i <= colCount; i++) {
                              IWDTableColumn innerColumn =
                                   (IWDTableColumn) view.createElement(
                                        IWDTableColumn.class,
                                        null);
                              IWDNodeElement nodeElement =
                                   tableNode.getElementAt(k - 1);
                              String attribValue =
                                   nodeElement.getAttributeAsText(colName[i - 1]);
                              wdContext
                                   .wdGetAPI()
                                   .getController()
                                   .getComponent()
                                   .getMessageManager()
                                   .reportSuccess(
                                        "Inside inner for, attrib value "
                                             + attribValue);
                              IWDTextView nameTextview1 =
                                   (IWDTextView) view.createElement(
                                        IWDTextView.class,
                                        "nameTextview" + k + i);
                              wdContext
                                   .wdGetAPI()
                                   .getController()
                                   .getComponent()
                                   .getMessageManager()
                                   .reportSuccess("After text-view creation");
                              nameTextview1.bindText(attribValue);
                              innerColumn.setTableCellEditor(
                                   (IWDTableCellEditor) nameTextview1);
                              table.addColumn(innerColumn);
                         k++;
                    IWDUIElementContainer root =
                         (IWDUIElementContainer) view.getRootElement();
                    root.addChild(table);
               } catch (ContextException ce) {
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("Inside catch3: Context Exception" + ce);
               } catch (RuntimeException e) {
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("Inside catch : runtime exception" + e);
               } catch (SQLException e) {
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("Inside catch : SQL exception" + e);
               } catch (Exception e) {
                    wdContext
                         .wdGetAPI()
                         .getController()
                         .getComponent()
                         .getMessageManager()
                         .reportSuccess("..normal exc.." + e);
    //@@end

Similar Messages

  • Regarding DataNodeInfo(DisplayList.DynamicNode):unknown child node ACTION

    hi everyone
    I am facing such problem while working with dynamic elements the exception I am getting is as follows:com.sap.tc.webdynpro.progmodel.context.ContextException: DataNodeInfo(DisplayList.DynamicNode): unknown child node ACTION

    Hi Sumit
    I have pasted my code below:
    public static void wdDoModifyView(IPrivateDisplayList wdThis, IPrivateDisplayList.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)
        //@@begin wdDoModifyView
         try
         IWDMessageManager msgMgr = wdThis.wdGetAPI().getComponent().getMessageManager();
              int intCat = wdContext.nodeField_Catalog_Disp1_Out().size();
              int intList = wdContext.nodeWeb_Table_Disp1_Out().size();     
              int intSelection =  wdContext.nodeSelectionNode().size();
    String selc_field=wdContext.currentReportTypeElement().getName();
    wdContext.currentContextElement().setField_selection("Selection Fields: "+selc_field);
              IWDTable theGrp = (IWDTable)view.getElement("Table2");
              theGrp.setSelectionMode(WDTableSelectionMode.NONE);
              theGrp.setFooterVisible(false);
              theGrp.setDesign(WDTableDesign.ALTERNATING);
                        theGrp.setReadOnly(true);
                             if(firstTime)
                             IWDNodeInfo node = wdContext.nodeDynamicNode().getNodeInfo();
                             for(int i=0;i<intCat;i++)
                                  wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("intcat"+intCat);
                                  //wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("i"+i);
                                  node.addAttribute(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getFieldname(),"com.sap.dictionary.string");
                                  IWDTableColumn tabCln = (IWDTableColumn)view.createElement(IWDTableColumn.class,"Cln_"+wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getFieldname());
                                  IWDCaption clnCpt = (IWDCaption)view.createElement(IWDCaption.class,"hd_"+wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getFieldname());
                                  clnCpt.setText("");
                                  clnCpt.setText(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getHeading());
                                  IWDTableStandardCell tblStdcell = (IWDTableStandardCell)view.createElement(IWDTableStandardCell.class,"stdCell_"+wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getFieldname());
                                  IWDTextView txtHeader = (IWDTextView)view.createElement(IWDTextView.class,"Header_"+wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getFieldname());
                                  txtHeader.setText(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getHeading());
                                  txtHeader.setDesign(WDTextViewDesign.HEADER3);
                                  tblStdcell.setEditor(txtHeader);
                                  tblStdcell.setCellDesign(WDTableCellDesign.GROUP_LEVEL2);                              
                                  tabCln.addFixedTopCell(tblStdcell);
                                  IWDTextView clnTce = (IWDTextView)view.createElement(IWDTextView.class,"tce_"+wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getFieldname());
                                  clnTce.bindText("DynamicNode."+wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(i).getFieldname());
                                  clnTce.setWrapping(true);
                                  tabCln.setTableCellEditor(clnTce);
                                  theGrp.addColumn(tabCln);IWDTable table = (IWDTable) view.getElement("Table2");
                                  wdContext.currentContextElement().setTableSorter(new TableSorter(table, wdThis.wdGetSortAction(), null));
                             IWDTransparentContainer theTarnsDisp = (IWDTransparentContainer)view.getElement("TransparentContainer_3");
                             //wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("intsel"+intSelection);
                             for(int k =0;k<intSelection;k++)
                                  //node.addAttribute("Disp_"+wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getName(),"com.sap.dictionary.string");
                                  IWDTextView clnTxt1 = (IWDTextView)view.createElement(IWDTextView.class,"Disp1_"+wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getName());
                                  clnTxt1.setText(wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getName()+ " : ");
                                  clnTxt1.setDesign(WDTextViewDesign.HEADER3);                              
                                  clnTxt1.setWrapping(true);
                                  IWDTextView clnTxt2 = (IWDTextView)view.createElement(IWDTextView.class,"Disp2_"+wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getName());
                                  clnTxt2.setText(wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getValue1());
                                  if(("".equals(wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getValue2())))
                                       clnTxt2.setText(wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getValue1());                         
                                  if(!"".equals(wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getValue2()))
                                       clnTxt2.setText(wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getValue1()" - "wdContext.nodeSelectionNode().getSelectionNodeElementAt(k).getValue2());                         
                                  clnTxt2.setWrapping(true);
                                  IWDGridData gridLayout1 = (IWDGridData)clnTxt1.createLayoutData(IWDGridData.class);
                                  gridLayout1.setWidth("5%");                              
                                  gridLayout1.setPaddingBottom("3");
                                  IWDGridData gridLayout2 = (IWDGridData)clnTxt2.createLayoutData(IWDGridData.class);                              
                                  gridLayout2.setPaddingBottom("3");     
                                  theTarnsDisp.addChild(clnTxt1);
                                  theTarnsDisp.addChild(clnTxt2);
                        //          wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("first ck in end of for");
                             }//end of intselection for loop                              
                             wdContext.currentContextElement().setModifyFlag(false);     
                        //     wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("first check aftr for1");
                        //}//end of intcat for loop
                        //wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("first check aftr for2");
              //}// if first time ends
    //          second chk
                        //                 wdThis.wdGetAPI().getComponent().getMessageManager().reportSuccess("second check");
                   if(wdContext.currentContextElement().getModifiedFlag())
                             String strLine = "";
                             int intLine =0;
                             Collection col = new Vector();
                             IWDTextAccessor textAccessor = wdThis.wdGetAPI().getComponent().getTextAccessor();
                             String strLan = textAccessor.getText("TXT_LAN");
                             if("EN".equalsIgnoreCase(strLan))
                        for(int j=0;j<intList;j++)
                             IDynamicNodeElement dynObj = wdContext.createDynamicNodeElement();
                             strLine = wdContext.nodeWeb_Table_Disp1_Out().getWeb_Table_Disp1_OutElementAt(j).getTline();
                             intLine = strLine.length();
                             strLine = strLine.substring(1,intLine-1);
                             for(int k=0;k<intCat;k++)
                                  Integer startIntger = Integer.valueOf(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getStartpos());
                                  Integer lengthIntger = Integer.valueOf(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getLength());
                                  int start = startIntger.intValue();
                                  int length = lengthIntger.intValue();
                                  String strVal = strLine.substring(start,start+length);
                                  if(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getDatatype().equalsIgnoreCase("DATE"))
                                       try
                                            String strdate ="";
                                            String strFmt = "";
                                            if("YYYY/MM/DD".equalsIgnoreCase(wdContext.currentUser_ProfileElement().getDatefmt()))
                                                 strFmt = "yyyy/MM/dd";
                                            else
                                                 strFmt = "MM/dd/yyyy";
                                            SimpleDateFormat ch1 = new SimpleDateFormat("yyyyMMdd");
                                            //SimpleDateFormat ch2 = new SimpleDateFormat("yyyy-MM-dd");
                                            SimpleDateFormat ch2 = new SimpleDateFormat(strFmt);
                                            strVal = strVal.trim();
                                            if(!"".equals(strVal))
                                                 strdate = ch2.format(ch1.parse(strVal));     
                                            dynObj.setAttributeValue(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getFieldname(),strdate);
                                       catch(Exception e)
                                            //     msgMgr.reportException(e.getLocalizedMessage(), false);
                                            //     msgMgr.reportException(e.getMessage(), false);
                                            //     msgMgr.reportException(e.toString(), false);
                                  else if(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getDatatype().equalsIgnoreCase("QUAN"))
                                       Double dblVal = null;
                                       DecimalFormat sdf = new DecimalFormat("#,###.000####");
                                       dblVal = new Double(strVal);
                                       dynObj.setAttributeValue(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getFieldname(),sdf.format(dblVal.doubleValue()));
                                  else
                                       dynObj.setAttributeValue(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getFieldname(),strVal);
                             col.add(dynObj);
                        }// for ends
                             else
                                  for(int j=0;j<intList;j++)
                                       IDynamicNodeElement dynObj = wdContext.createDynamicNodeElement();
                                       strLine = wdContext.nodeWeb_Table_Disp1_Out().getWeb_Table_Disp1_OutElementAt(j).getTline();
                                       intLine = strLine.length();
                                       strLine = strLine.substring(1,intLine-1);
                                       String[] strArr = strLine.split("#");
                                       for(int k=0;k<intCat;k++)
    //                                        Integer startIntger = Integer.valueOf(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getStartpos());
    //                                        Integer lengthIntger = Integer.valueOf(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getLength());
    //                                        int start = startIntger.intValue();
    //                                        int length = lengthIntger.intValue();
    //                                        String strVal = strLine.substring(start,start+length);
                                            String strVal = strArr[k];
                                            if(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getDatatype().equalsIgnoreCase("DATE"))
                                                 try
                                                      String strdate ="";
                                                      String strFmt = "";
                                                      if("YYYY/MM/DD".equalsIgnoreCase(wdContext.currentUser_ProfileElement().getDatefmt()))
                                                           strFmt = "yyyy/MM/dd";
                                                      else
                                                           strFmt = "MM/dd/yyyy";
                                                      SimpleDateFormat ch1 = new SimpleDateFormat("yyyyMMdd");
                                                      //SimpleDateFormat ch2 = new SimpleDateFormat("yyyy-MM-dd");
                                                      SimpleDateFormat ch2 = new SimpleDateFormat(strFmt);
                                                      strVal = strVal.trim();
                                                      if(!"".equals(strVal))
                                                           strdate = ch2.format(ch1.parse(strVal));     
                                                      dynObj.setAttributeValue(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getFieldname(),strdate);
                                                 catch(Exception e)
                                                      //     msgMgr.reportException(e.getLocalizedMessage(), false);
                                                      //     msgMgr.reportException(e.getMessage(), false);
                                                      //     msgMgr.reportException(e.toString(), false);
                                            else if(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getDatatype().equalsIgnoreCase("QUAN"))
                                                 Double dblVal = null;
                                                 DecimalFormat sdf = new DecimalFormat("#,###.000####");
                                                 dblVal = new Double(strVal);
                                                 dynObj.setAttributeValue(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getFieldname(),sdf.format(dblVal.doubleValue()));
                                            else
                                                 dynObj.setAttributeValue(wdContext.nodeField_Catalog_Disp1_Out().getField_Catalog_Disp1_OutElementAt(k).getFieldname(),strVal);
                                       col.add(dynObj);
                                  }// for ends
                        wdContext.nodeDynamicNode().bind(col);
                        if(wdContext.nodeDynamicNode().size()==0)
                             wdContext.currentContextElement().setDownLoadHide(WDVisibility.NONE);
                        else
                             wdContext.currentContextElement().setDownLoadHide(WDVisibility.VISIBLE);                    
                        wdContext.currentContextElement().setModifiedFlag(false);
                 }// if ends
         catch(Exception e)
              wdThis.wdGetAPI().getComponent().getMessageManager().reportException("Error Occurred in WdDoModifyView Method of DisplayList View. Please contact System Administrator"+e,false);
         finally
        //@@end
    Thanks & Regards
    Jaspreet Kaur

  • Unknown child node Zzemai error

    Hi Experts,
    We have added a new email id filed  to the existing Addresses ivew (Ctrl+right click changes) in ESS and transported to production as it's giving the "500 internal server error" and Unknown child node Zzemai . As we have done the testing in Test region and it works fine. The backend transport & portal iview transports both are successful but all ESS users are getting the error while clicking on Addresses link under Personal Information on Portal.
    Need a help in resolving the issue. Full points will be awarded for all answers.
    Regards,
    Sreedhar G

    Hi all,
    Thanks a lot for your reply.
    We have restarted both Java & ABAP but no luck. As per the error "Unknown Child Node Zzemai" , here I'm suspecting is my transport is correct or not? I have created a Portal Transport request and added only "Addresses" iview from Content Provided by SAP and Exported and Imported to Production after that the problem is happening. Is there any other object need to be transported along with the "Addresses" iview or not?
    And also when I do the Ctrl+Right click on the iview on the production I can't see the fileds ->  Edit Custom Extension Fields .  These fields are showing in Dev & QA Portal but the transported iview / page is not showing this option. Any idea on this?
    Note: The J2ee engine has been restarted but no luck. And also as per the above mentioned doc we checked the Ctrl+right click changes to the iview and the properties are visible.
    Kindly revert.
    Regadrs,
    Sreedhar
    Edited by: sreedhar Gunda on Sep 26, 2010 10:40 AM
    Edited by: sreedhar Gunda on Sep 26, 2010 2:00 PM

  • Problem in delting child node from tree

    Hello friends I have a problem in tree component
    I am using Xml File with creator .
    I am showing company name as a root node
    then department name as a child of company name
    then employee name as a child of department
    Initialy its working fine ,user can add edit and delete any node
    In add and edit option I have no problem but in delete I hava a problem
    when I am deleting any child node and after deleting the node I am clicking on the root node of the deleted node the it gives me null pointer Ecxeption .
    but user added any child node and then delete it then Application work properly .
    What is the problem I can't Understand please help me
    thanks
    Raviraj Gangrade

    thanks deepsix for helping me
    it gives me java.lang.NullPointerException and class name is
    net.sf.saxon.dom.NodeWrapper$ChildEnumeration
    here is my Stack Trace
    javax.faces.FacesException: #{Graphs.childNode_action}: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:78)
    at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
    at javax.faces.component.UICommand.broadcast(UICommand.java:312)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:307)
    at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    at sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)
    Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
    ... 44 more
    Caused by: java.lang.NullPointerException
    at pegasusweb.Graphs.childNode_action(Graphs.java:1075)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
    ... 45 more
    |#]
    [#|2006-11-30T14:51:30.000+0530|SEVERE|sun-appserver-pe8.2|javax.enterprise.system.container.web|_ThreadID=16;|StandardWrapperValve[Faces Servlet]: Servlet.service() for servlet Faces Servlet threw exception
    com.sun.rave.web.ui.appbase.ApplicationException: #{Graphs.childNode_action}: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.destroy(ViewHandlerImpl.java:601)
    at com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:302)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:117)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:198)
    at sun.reflect.GeneratedMethodAccessor270.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:249)
    at java.security.AccessController.doPrivileged(Native Method)
    at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
    at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:282)
    at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:165)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:257)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at com.sun.rave.web.ui.util.UploadFilter.doFilter(UploadFilter.java:194)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.ApplicationFilterChain.access$000(ApplicationFilterChain.java:55)
    at org.apache.catalina.core.ApplicationFilterChain$1.run(ApplicationFilterChain.java:161)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:263)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:225)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:173)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:132)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:551)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:933)
    at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:189)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.doProcess(ProcessorTask.java:604)
    at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:475)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:371)
    at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:264)
    at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:281)
    at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:83)
    Caused by: javax.faces.FacesException: #{Graphs.childNode_action}: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:78)
    at com.sun.rave.web.ui.appbase.faces.ActionListenerImpl.processAction(ActionListenerImpl.java:57)
    at javax.faces.component.UICommand.broadcast(UICommand.java:312)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
    at javax.faces.component.UIViewRoot.processDecodes(UIViewRoot.java:307)
    at com.sun.faces.lifecycle.ApplyRequestValuesPhase.execute(ApplyRequestValuesPhase.java:79)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:221)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
    ... 36 more
    Caused by: javax.faces.el.EvaluationException: java.lang.NullPointerException
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
    ... 44 more
    Caused by: java.lang.NullPointerException
    at pegasusweb.Graphs.childNode_action(Graphs.java:1075)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:126)
    ... 45 more
    |#]

  • Problem with childs nodes and automatic key mapping in a Data Object

    Hi experts!
    I'm doing the service order tutorial from the mobile help at [this link|http://help.sap.com/saphelp_nwmobile71/helpdata/en/21/9b5b924c3b434fba4767731794b029/frameset.htm] and I have a problem...
    In the topic "Modeling the Equipment Data Object", says you have to mark the "Automatic Key Mapping" checkbox. So when I had to create a third child node ( the location node ) the system raised an exception with the message "Deselect automatic key mapping flag for more than two-level nodes". I'm trying deselecting the flag and creating the location node, but when I want mark again the automatic key mapping flag, this is disabled.
    What can I do to solve this and create the three child nodes with the flag marked? It's a configuration thing?
    Any help it's very welcome. Thanks in advance.
    Best regards,
    Simon.

    The thing is: Its not allowed to use automatic keymapping if you have more than two levels. This is why the message showed up, and this is why its been disabled.
    What automatic keymapping does: Figures out automatically which child node belongs to which parent (by guessing from the field name and type, which fields in the child correspond to which key fields of the parent).
    On three levels, this becomes more complicated => Its disabled.
    How to do keymapping yourself instead of having the DOE do it automatically: Do 'Explicit keymapping' from each child to its parent. Explicit keymapping is done by clicking on the corresponding menu button in the child node. Here you need to associate child node fields (they need not be key fields of the child, but they are allowed to be that as well) to each of its parent nodes key fields (so that each child can be associated to its parent).
    Cheers

  • How do I create multiple types of child nodes in ADF  Faces Tree Component

    Hi,
    I am trying to construct a tree using ADF Faces. The tree I am trying to develop should look something like:
    - Departments
    + Dept 10
    + Dept 20
    + Dept 30
    + Dept 40
    - Employees
    + SCOTT
    +ALLEN
    + BLAKE
    The nodes shown at the top level should serve as labels, indicating the various types of nodes available.
    I have created the top level RootLabelsViewObj, with a SQL clause:
    select rn, node_label
    from (
    select 1 rn
    , 'Employees' node_label
    from dual
    union all
    select 2 rn
    , 'Departments' node_label
    from dual
    union all
    select 3 rn
    , 'Bonusplans' node_label
    from dual
    I have created ViewLinks between the RootLabelsViewObj and the DeptView and EmpView respectively (created on top of DEPT and EMP table in SCOTT schema), based on the LABEL attribute in the RootLabelsViewObj and with ViewLink SQL specified like:
    :Bind_NodeLabel = 'Departments' for the link with DeptView and :Bind_NodeLabel = 'Employees' for the link with EmpView.
    In the ADF BC Application Module Tester, I get exactly what I want.
    However, when I create a JSF JSPX page and drag the RootLabelsViewObj from the Data Control Panel to the page as ADF Tree, I run into a little issue: it seems like I cannot create a second Branch Accessor rule for the RootLabelsViewObj1: I have created a first Branch Accessor Rule referring to DeptView and now try to create a second one for EmpView, to allow Employees to be displayed under the root label "Employees" - but I cannot.
    The PageDefinition looks like:
    <tree id="RootLabelsViewObj1" IterBinding="RootLabelsViewObj1Iterator">
    <AttrNames>
    <Item Value="Rn"/>
    <Item Value="NodeLabel"/>
    </AttrNames>
    <nodeDefinition DefName="model.RootLabelsViewObj"
    id="RootLabelsViewObjNode">
    <AttrNames>
    <Item Value="NodeLabel"/>
    </AttrNames>
    <Accessors>
    <Item Value="DeptView"/>
    </Accessors>
    </nodeDefinition>
    <nodeDefinition DefName="model.EmpView" id="EmpViewNode">
    <AttrNames>
    <Item Value="Ename"/>
    </AttrNames>
    </nodeDefinition>
    <nodeDefinition DefName="model.DeptView" id="DeptViewNode">
    <AttrNames>
    <Item Value="Deptno"/>
    </AttrNames>
    </nodeDefinition>
    </tree>
    Does anyone know:
    - whether it is possible (intended) to have more than one branch accessor per node (i.e. more than one type of child under a node in the tree)
    - if so, how this can be achieved?
    Right now it looks like I am limited to each node in the tree having only one type of child node.
    Please tell me I am wrong.
    best regards,
    Lucas

    Give this a shot mate
    event.getNativeEventTarget();That will allow you to access the DOM object directly
    Id can be retrieved via
    event.getNativeEventTarget().id;

  • Getting the value of a child node in an array

    How do you get the value of a child node in an array titled "entries"?  I used to do this in AS2, and now I'm trying in AS3.  To top it off, I'm forced to use an XML format I'm unfamiliar with.  So I'm not sure how to access these nodes in AS3.  An example of the XML is;
       <Row>
        <Cell><Data ss:Type="String">Absorption Areas</Data></Cell>
        <Cell><Data ss:Type="String">Drain fields where left over liquid from the septic system soak into the ground.</Data></Cell>
       </Row>
    How would I access ether of the <Cell> rows?
    Thanks

    Given that you declared ss namespace (otherwise it will throw an error) you have two options:
    xml.Cell[0].Data - will output:
    Absorption Areas
    xml.Cell.Data will output:
    <Data ss:Type="String">Absorption Areas</Data>
    <Data ss:Type="String">Drain fields where left over liquid from the septic system soak into the ground.</Data>
    So, xml.Cell.Data[1] will output:
    Drain fields where left over liquid from the septic system soak into the ground.

  • How to add a button in the child node of the Tree Table?

    Hi All,
    I am having a requirement to create a tree table and it should have a delete button to each child node (screenshot attached).
    Can anyone provide me a sample for how to implement this.
    Thanks in Advance
    Aravindh

    Hi Aravindhan,
    Try something like this:
    var ttDesvios = new sap.ui.table.TreeTable();
      var cbDesviacion = new sap.ui.commons.CheckBox();
      ttDesvios.addColumn(new sap.ui.table.Column({
      label: new sap.ui.commons.Label({text: "Col1"}),
      template: new sap.ui.commons.Label({text: "Info"}),
      width: "50px",
      ttDesvios.addColumn(new sap.ui.table.Column({
      label: new sap.ui.commons.Label({text: "Action"}),
      template: new sap.ui.commons.Button({text: "Delete"}).bindProperty("visible", "pathPropertyChild", function(value){
              if(value .............){ return true;} //For child
              else{ return false;} //For parent
      width: "160px",
    Regards
    EDIT: Wrong paste code, that's better!

  • Is it possible to restrict the user from creating a sibling and allow him to ONLY create child nodes in DRM?

    When in a hierarchy, a user right clicks on a node to crate a new node, he has two options
    -Child
    -Sibling
    Is it possible to restrict the user from creating a sibling and allow him to ONLY create child nodes?
    Business cases:
    1. different level nodes need to have different prefixes.
    - Thus, the default prefix property definition uses the level number to assign a prefix
    - Also, a validation, to ensure the correct prefix, uses the level number
    But if the user can create a child and a sibling then the default prefix will only be right for a single case and not both.
    Thanks

    If the images are exactly the same size then make sure the layer with the mask
    is the active layer and in the other documents go to Select>Load Selection and choose
    your document with the layer mask under Source document and under channel choose the layer mask.
    After the selection loads press the layer mask icon at the bottom of the layers panel.
    MTSTUNER

  • How to avoid the selection of a Parent node and its child node at a time?

    Example:
    consider the below JTree.
    Parent1
    ---->Parent2
    -------->Child3
    Parent3
    ---->Parent4
    My requirement :
    Parent1 and Parent3 can be selected at a time(using ctrl keys)
    Parent2 and Parent4 can be selected at a time
    Parent1 and Parent2 should not allowed to select at a time.
    In general : A parent and any of its child should not be selected at a time.
    How to achieve this? Anyone please help me.

    Thanikai wrote:
    I am very sorry.Whatever for? It's a valid question.
    How do i implement a custom TreeSelectionModel?I would start by going through the source of DefaultTreeSelectionModel so see how the default selection is handled. Also probably check out JTree.EmptySelectionModel to see how selection is prevented.
    Which methods to override?Methods in the class you choose to extend, obviously. But before that you need to firm up certain design decisions: if a parent node is selected and the user attempts to select one of its child nodes, do you select the child and deselect the parent or do nothing/ and vice versa.
    etc.... may form the basis for a future, more specific question accompanied by a [_SSCCE_|http://mindprod.com/jgloss/sscce.html].
    luck, db

  • How to find out if a NODE has any CHILD NODES in a hierarchical tree?

    I want to find out programmatically if a node in a tree has CHILDREN.
    My requirement is this: I want to only show nodes for which the user has permission to execute the program that node is associated with.
    Problem is, my tree population query will not show the child nodes, BUT the sub-menu nodes are displayed and I need to get rid of these nodes.
    There is a function to find out the PARENT of a tree node (FTree.Get_Tree_Node_Parent), but noting to find out if children exist for a node or not?
    What I thought of was to display the tree and then traverse it from the ROOT onwards and then if a NODE is a submenu node (I can find this out by checking the PROGRAM value. If this is NULL it is a sub-menu node) and IF IT HAS NO CHILD NODES then I can delete the node.

    Please provide the examples with DATA
    as far as i know we cannot get the Child Nodes but NODE's Parents we can get
    parent_node := Ftree.Get_Tree_Node_Parent(htree, :SYSTEM.TRIGGER_NODE);I faced the similar problem but i solved it with query.
    Provide the data and your Tree query then we can help

  • Regarding : Creation of child nodes in a outlinefield

    Hi,
    I am facing a few problems in creating a child node. I read elements from an array to populate the outline field. The array has exact definitions as to what should be a parent and child respectively. While I am able to create nodes at the parent level, I am unable to create child nodes for any parent. I discovered that the value for the parent node is getting lost. I have tried to use some of the methods to arrive at the parent node, but to no anvil. Could some one suggest how exactly to get the value of the parent node so that the child node can be assigned to the parent.
    Thanks In advance.
    Balasubramaniam Sures
    [email protected]
    P.S : I have seen the examples Simple Outline field and File Browser. No clues from here.

    I take it that you are traversing through the array and loading each
    element into the OutlineField. At the risk of stating the obvious, for
    each element you must also identify it's parent. This is necessary to
    set the relationship from the child to the parent or vise versa.
    If you are already doing this and are still having difficulty, the
    problem may be as simple as setting the IsFolder property of the parent
    node. Unless this is done, it's child nodes will not be visible.
    Van Vuong
    Lead Technical Analyst
    Office: 972.985.5289
    VoiceNow: 972.330.0822
    Internet: [email protected]
    PAGE NET
    From: bala[SMTP:[email protected]]
    Sent: Friday, October 03, 1997 12:32 PM
    To: '[email protected]'
    Subject: Regarding : Creation of child nodes in a outline field
    Hi,
    I am facing a few problems in creating a child node. I read elements from an
    array to populate the outline field. The array has exact definitions as to
    what should be a parent and child respectively. While I am able to create
    nodes at the parent level, I am unable to create child nodes for any parent.
    I discovered that the value for the parent node is getting lost. I have
    tried to use some of the methods to arrive at the parent node, but to no
    anvil. Could some one suggest how exactly to get the value of the parent node
    so that the child node can be assigned to the parent.
    Thanks In advance.
    Balasubramaniam Sures
    [email protected]
    P.S : I have seen the examples Simple Outline field and File Browser. No
    clues from here.

  • How can provide parent-child nodes relation ships?

    how can provide parent-child nodes relation ships?

    I was under the impression that scenegraph is like a JTree. But in JavaFX only leaf node rendering in scenegraph. This situation was confusing my mind. In JavaFX CustomNode must be extending and return a group for custom leaf. If we want to a create parent-child node hierarchy we are create CustomNode that return a group and this group contain an another group,etc. So there is maybe only a way. If you learning to JavaFX first time.This way don't look familiar.

  • How to differentiate parent and child node in af:treeTable ?

    Greetings,
    I have a requirement, I display master child view objects using <af:treeTable> component, When user expands a parent row, I have to make parent row is in read only and expanded(child) row in editable. To accomplish this I have to identify the 'node' whether it belongs to parent or child view object. In this example Tree table binds with EmpVO, There is a view link beteween EmpVO and DepartmentVO.
    <af:treeTable value="#{bindings.EmpVO.treeModel}"
    var="node"
    rowSelection="single" id="tEqSum"
    summary="Employee Summary"
    <af:column sortProperty="#{bindings.EmpVO.hints.LocCity.name}"
    filterable="true" sortable="true" width="90"
    headerText="#{bindings.EmpVO.hints.LocCity.label}"
    id="c3">
    <af:outputText value="#{node.LocCity}" id="ot21"/>
    expandAllEnabled="false">
    </af:treeTable>
    Thanks in Advance,

    Hi,
    You can find out the node depth by using
    #{bindings.<your_tree_binding>.treeModel.depth}Based on the depth, you can decide whether its a parent node or child node (for a 1 level tree- say dept and emp, the depth for parent would be 0 and for the child it would be 1).
    -Arun

  • Need to chart attribute value of just one child node of XML document

    I have a XML document with (for example) 7 parent nodes, each
    parent node has 5 child nodes. The parent nodes have an attribute
    @EarlierDTS (DateTime type) that is the x-axis category of a chart.
    Each child node has an attribute @eventid which specifies the id of
    the event, and another atttribute @NumOccurs which specifies how
    many times that event occured in that period.
    How do I tell Flex I want a simple line chart of the eventID
    = 215? What if I want two lines, for both eventID=215 and
    eventid=307?
    I have studied the posts and blogs for over a week now, and
    have seen this question or similar come up quite a few places, with
    no answer.
    1) Should I focus on learning how to create a filterfunction
    for the XMLList that underlies my XMLListCollection so that the
    filtered data view is just one child node per parent node ( or two
    child nodes for the second case)? And set the filtered data view as
    the dataprovider of my chart's vertical series?
    2) Should I focus on learning how to create a XML Filter
    query that selects just one or two child nodes for each parent
    node, and set the charts' series' dataprovider to this filter
    expression? (I don't think this is allowed - but I'm checking with
    the forum members...)
    3) Should I focus on learning how to convert the
    XMLListCollection into a HierarchicalData object, and then learning
    how to filter this object so there is only one (or two) childs per
    parent? This seems like a lot of coding - I almost have to create a
    pair of classes - one for the parent and one for the child - so I
    can create nested ArrayObjects.
    4) Should I create a brand new XMLList by walking the
    original XML list, and inserting Parent nodes and just the child
    nodes that match the eventID(s) I want to chart, into the new
    XMLList?
    I believe that the easiest way would be to create a
    Filterfunction for the XMLList, and bind the chart series to the
    (filtered) XML List. But the problem with this approach is that I
    have seen more than 2 posts asking how to accomplish filtering that
    removes specific children from the view, with no solutions posted.
    Help! What is the best way to get just one child for each
    parent, from an XMLList?

    "whertzing" <[email protected]> wrote in
    message
    news:[email protected]...
    >I have a XML document with (for example) 7 parent nodes,
    each parent node
    >has 5
    > child nodes. The parent nodes have an attribute
    @EarlierDTS (DateTime
    > type)
    > that is the x-axis category of a chart. Each child node
    has an attribute
    > @eventid which specifies the id of the event, and
    another atttribute
    > @NumOccurs
    > which specifies how many times that event occured in
    that period.
    >
    > How do I tell Flex I want a simple line chart of the
    eventID = 215? What
    > if I
    > want two lines, for both eventID=215 and eventid=307?
    >
    > I have studied the posts and blogs for over a week now,
    and have seen this
    > question or similar come up quite a few places, with no
    answer.
    >
    > 1) Should I focus on learning how to create a
    filterfunction for the
    > XMLList
    > that underlies my XMLListCollection so that the filtered
    data view is just
    > one
    > child node per parent node ( or two child nodes for the
    second case)? And
    > set
    > the filtered data view as the dataprovider of my chart's
    vertical series?
    >
    > 2) Should I focus on learning how to create a XML Filter
    query that
    > selects
    > just one or two child nodes for each parent node, and
    set the charts'
    > series'
    > dataprovider to this filter expression? (I don't think
    this is allowed -
    > but
    > I'm checking with the forum members...)
    >
    > 3) Should I focus on learning how to convert the
    XMLListCollection into a
    > HierarchicalData object, and then learning how to filter
    this object so
    > there
    > is only one (or two) childs per parent? This seems like
    a lot of coding -
    > I
    > almost have to create a pair of classes - one for the
    parent and one for
    > the
    > child - so I can create nested ArrayObjects.
    >
    > 4) Should I create a brand new XMLList by walking the
    original XML list,
    > and
    > inserting Parent nodes and just the child nodes that
    match the eventID(s)
    > I
    > want to chart, into the new XMLList?
    >
    > I believe that the easiest way would be to create a
    Filterfunction for the
    > XMLList, and bind the chart series to the (filtered) XML
    List. But the
    > problem
    > with this approach is that I have seen more than 2 posts
    asking how to
    > accomplish filtering that removes specific children from
    the view, with no
    > solutions posted.
    >
    > Help! What is the best way to get just one child for
    each parent, from an
    > XMLList?
    I'd just look at a dataFunction. There's an example here that
    may point you
    in the right direction:
    http://flexdiary.blogspot.com/2008/08/charting-example.html
    HTH;
    Amy

Maybe you are looking for