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
Similar Messages
-
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 -
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 GHi 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 -
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. -
RE: Regarding : Creation of child nodes in a outlinefield
Hi, Balasubramaniam:
Try to set the isFolder attribute of your parent display node to TRUE.
This may solve your problem. Also, check isFilled attribute of display
node, you might find the answer.
Hope this helps.
Tien Wang
Indus Consultancy Services
http://www.indcon.com
Phone 201.261.3100 x233
Fax 201.261.1399
E-mail : [email protected]
-----Original Message-----
From: owner-forte-users [SMTP:[email protected]]
Sent: Friday, October 03, 1997 5: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.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 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
AravindhHi 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! -
Child node attributes do not appear in ABAP WD
Hi,
I have the following context hierarchy (in ABAP WD):
-Context
---Child_Node_A
Sub_Child_NodeB
AttributeE_of_Sub_Child_NodeB
AttributeF_of_Sub_Child_NodeB
AttributeG_of_Sub_Child_NodeB
Sub_Child_NodeC
AttributeH_of_Sub_Child_NodeC
AttributeI_of_Sub_Child_NodeC
AttributeJ_of_Sub_Child_NodeC
AttributeA_of_Child_Node_A
AttributeB_of_Child_Node_A
AttributeC_of_Child_Node_A
The attributes A, B, C of Child_Node_A are displayed in an ALV grid and the idea is that when the user selects a row in the ALV grid and clicks on a button, a popup is to be shown with additional details of the selected row in the ALV. In this popup, I have some fields which are mapped to the attributes E, F, G of Sub_Child_NodeB and attributes H, I, J of Sub_Child_NodeC. But when I show the popup the fields are empty.
I use a supply function in the Component Controller to fill Child_Node_A and its children, so typically when the popup appears I should see the attributes of the Sub_Child_Node B and C which are linked to the lead selection of the ALV grid (i.e.: Child_Node_A), right?
By the way, I have linked Child_Node_A from the Component Controller Context to the Context of my Main View and Popup View. Also, I checked in the INIT method of my Main view to see if after the supply function has been called the Sub_Child_Nodes attributes were still there for a given lead selection in the ALV grid and they were. But in my action handler to show the popup window from my Main view, I checked again to see if the Sub_Child_Nodes attributes were still there and they were not.
I hope I was clear enough in my explanation.
Thanks in advance for your help,
ChristianHi Christian,
We discussed this problem offline, but I would like to give some feedback on what we found out.
(a) Since Child_Node_A had a supply function that also supplied Sub_Child_NodeB and since Sub_Child_NodeB was a singleton, it was not resupplied. The initial element originated from having Sub_Child_NodeB as 1..1 cardinality. In this case the runtime recreates an initial node element upon invalidation of the node.
(b) The second problem might be related to the ALV. As the ALV does not support child nodes being present for the data displayed, the assumption is that Sub_Child_NodeB might have been invalidated once the data was copied back from the ALV to Child_Node_A.
The solution is to have a supply function for Sub_Child_NodeB as well, which will counter any invalidation at any point in time and will restore the original data.
I am curious if (b) is really the cause of the problem described.
Best regards,
Thomas -
Binding Dropdownbykey to child node's attribute dynamically
Hi..
i am creating a child node "CHILD" and attribute attached to it "ATTR" dynamically. Also i create a dynamic dropdownbykey element and trying to attach the ATTR. then i get the following error. zdyn_date is data element with some fixed values. Please let me know as quick as possible.
<b>"Adapter error in DROPDOWN_BY_KEY "KEY1" of view "ZDYN_DDKEY.MAIN": Context binding for property SELECTED_KEY cannot be resolved: The MAIN.1.CHILD node does not contain any elements"</b>
METHOD WDDOMODIFYVIEW .
DATA: LR_ROOT_INFO TYPE REF TO IF_WD_CONTEXT_NODE_INFO,
LR_CHILD_INFO TYPE REF TO IF_WD_CONTEXT_NODE_INFO,
cl_des type REF TO CL_ABAP_ELEMDESCR,
ATTR_INFO TYPE WDR_CONTEXT_ATTRIBUTE_INFO.
LR_ROOT_INFO = WD_CONTEXT->GET_NODE_INFO( ).
CALL METHOD lr_root_info->ADD_NEW_CHILD_NODE
EXPORTING
NAME = 'CHILD'
RECEIVING
CHILD_NODE_INFO = lr_child_info.
ATTR_INFO-NAME = 'ATTR'.
ATTR_INFO-TYPE_NAME = 'ZDYN_DATE'.
CALL METHOD lr_child_info->ADD_ATTRIBUTE
EXPORTING
ATTRIBUTE_INFO = ATTR_INFO.
DATA: LR_ROOT_CONTAINER TYPE REF TO CL_WD_TRANSPARENT_CONTAINER,
LE_DD_KEY1 TYPE REF TO CL_WD_DROPDOWN_BY_KEY.
LR_ROOT_CONTAINER ?= VIEW->GET_ELEMENT( 'ROOTUIELEMENTCONTAINER' ).
CALL METHOD CL_WD_DROPDOWN_BY_KEY=>NEW_DROPDOWN_BY_KEY
EXPORTING
BIND_SELECTED_KEY = 'CHILD.ATTR'
ID = 'KEY1'
RECEIVING
CONTROL = LE_DD_KEY1. .
CALL METHOD CL_WD_MATRIX_LAYOUT=>NEW_MATRIX_LAYOUT
EXPORTING
CONTAINER = LR_ROOT_CONTAINER.
CALL METHOD CL_WD_MATRIX_HEAD_DATA=>NEW_MATRIX_HEAD_DATA
EXPORTING
ELEMENT = LE_DD_KEY1.
CALL METHOD LR_ROOT_CONTAINER->ADD_CHILD
EXPORTING
INDEX =
THE_CHILD = LE_DD_KEY1.
ENDMETHOD.Hi ,
can u try to create the node and its attribute in some other method..like in some action or in WDDOINIT instead of wddomodifyview .bcoz its recommended not to modify the data of node in wddomodifyview ..
hope it will solve ur problem .
Regards
Yash -
Hi Experts,
I have a child node B in node A . This node B has singleton property false .
I have to acess current element of child node B while looping on node A .
Please Help.
Thanks in advance ,Hello Hara,
try this:
final IPrivateXXX.INodeANode nodeA = wdContext.nodeNodeA();
final int sizeA = nodeA.size();
for (int i = 0; i< sizeA; i++)
final IPrivateXXX.INodeAElement element = (IPrivateXXX.INodeAElement)nodeA.getElementAt( i );
final IPrivateXXX.INodeBNode nodeB = element.nodeNodeB();
//current element in nodeB
final IPrivateXXX.INodeBElement currentChildElement = nodeB.currentNodeBElement();
//and just in case - the rest...
final int sizeB = nodeB.size();
for (int j = 0; j< sizeB; j++) {
final IPrivateXXX.INodeBElement childElement = (IPrivateXXX.INodeBElement)nodeB.getElementAt( j );
//do action with child element
Best regards, Maksim Rashchynski. -
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,
LucasGive this a shot mate
event.getNativeEventTarget();That will allow you to access the DOM object directly
Id can be retrieved via
event.getNativeEventTarget().id; -
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 Gangradethanks 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
|#] -
Check the value of attribute of a child node in datatype xmltype.
Hello,
I have a xml stored in column having datatype as "XMLTYPE"
<?xml version="1.0" encoding="ISO-8859-1"?>
<Settings>
<Setting Name="A1" Value="N"/>
<Setting Name="A2" Value="N"/>
<Setting Name="A3" Value="SOMEVALUE"/>
<Setting Name="A4" Value="N"/>
<Setting Name="A5" Value="Y"/>
<Setting Name="A6" Value="N"/>
</Settings>I do not want to loop into each child node. But want to find out if the value of setting A5 is Y or N? Is there a way I can find that without doing the extract of "Setting" child node and then looping each node to find the value?
Regards,You didn't specify your version of Oracle so here are two options. If 10.2 or greater, use XMLTable, else use the ExtractValue option.
-- The WITH simply simulates your existing table that I do not have.
WITH fake_tab AS
(SELECT XMLTYPE('<?xml version="1.0" encoding="ISO-8859-1"?>
<Settings>
<Setting Name="A1" Value="N"/>
<Setting Name="A2" Value="N"/>
<Setting Name="A3" Value="SOMEVALUE"/>
<Setting Name="A4" Value="N"/>
<Setting Name="A5" Value="Y"/>
<Setting Name="A6" Value="N"/>
</Settings>
') tab_col
FROM dual)
-- For 10.2 and higher use this SELECT
SELECT a5
FROM fake_tab,
XMLTABLE('/Settings'
PASSING fake_tab.tab_col
COLUMNS
a5 VARCHAR2(10) PATH 'Setting[@Name="A5"]/@Value');
-- For 10.1 and before
SELECT ExtractValue(tab_col, '/Settings/Setting[@Name="A5"]/@Value')
FROM fake_tab; -
Context Mapping: child-nodes of non-mapped parent nodes
I am somewhat curious about Context Mapping in WebDynpro.
Which parents nodes need to be mapped in order to map child nodes ? Does a child node has more than one parent node (e.g. grandparent - two steps above) ?
A.1 -
MAPPED----
> B.1
- A1.1 NOT MAPPED
- A1.2 NOT MAPPED
- A.1.2.1 MAPPED TO> B.1.2.4
- A.1.2.2 NOT MAPPED
- A1.3 NOT MAPPED
Is it sufficient that only one of these parent nodes (e.g. direct parent node not mapped, but parent node of this parent node is mapped) need to be mapped so that the child node can be mapped ?
Is this assumption true or not ?
The SAP library states:
"Conversely, child nodes of non-mapped parent nodes cannot be mapped, otherwise this would result in irresolvable conflicts at runtime with respect to the parent-child relation in the context and the mapping relation." (http://help.sap.com/saphelp_nw04/helpdata/de/51/a3384162316532e10000000a1550b0/content.htm)
This statement is not absolutely clear on this issue.Let me put it this way
You have a node vehicle and you have a child node for that the car. The car node have parameters car1, car2.
Let the vehicle node have parameters veh1 and veh2
Then if you map vehicle node one to any other node (say in the comp. controller) you have the option of mapping its children i.e veh1,veh2 and carnode.
You can have that veh1 is mapped and veh2 is not mapped.
vehicle node(mapped)
veh1(may or may not be mapped)
veh2(may or may not be mapped)
car node(may or may not be mapped)
If instead you try to map only the car node the vehicle node will also get mapped automatically but not it's child parameters like veh1 and veh2.
vehicle node(mapped)
veh1(may or may not be mapped)
veh2(may or may not be mapped)
car nodemapped)
car1(may or may not be mapped)
car2(may or may not be mapped)
Hope this would help.
Do revert for further clarification
Regards
Noufal -
How to assign ALV for parent node and child node that uses supply method.?
HI Dear friends,
I need to display header details ( VBAK ) and Item details ( VBAP ). I have created two node like HEADER_NODE inside this i have created ITEM_NODE for this item node i use supply function 'GET_ITEMS' any way it is working only when crete two separate table and binding but when i come to work with ALV i am totally confused .. i have created two 'View Controller UI Elements' when i try to map HEADER_NODE it mapped properly but for ITEM_NODE it shows mapping already defined. return status message as 'Action Cancelled' . In result both ViewContainer shows only HEADER_NODE data only.
How to achive ALV for Parent, child node that uses supply function ? ?
Thank youDelete Mapping is not enabled, that means there is no mapping done yet.
I just tried what you are saying and the application works and i am able to map the header table and item table and also again i could map the tables any number of times.. i didn't get any such message, sorry i couldn't recreate the scenario. might be there is something wrong in the context.
i just did it like this.
Please also move this to Web DynPro Discussion, Hope that would be helpful.
Message was edited by: Syed Ghulam Ali
Maybe you are looking for
-
Unable to connect to mail server on iphone
I have been getting an" unable to connect to yahoo mail server" on my iphone since yesterday. I have re-started the phone, deleted my mail account and re-added and nothing seems to work. Any ideas?
-
How can I disable the Application Bar in Flash 11?
How can I turn off viewing the Application Bar and associated window it is attached to without quitting Flash in Flash 11?
-
Hi; I am trying to rename or delete some of my bookmarks but Safari is telling me that I can't change bookmarks now because they are being synchronized. But I am not connecting any device nor I am synching with any web service. What is the problem? T
-
Error in document for BAPI_ACC_GL_POSTING_POST - help me with Pointers
Hi Gurus, I have a question on BAPI_ACC_GL_POSTING_POST. I tried to search in the forum, but didn't find any pointers on this. I am getting error message like: T ID NUM MESSAGE E RW 609 Error in document: BKPFF 500
-
Input type file go outside portal
Hi i'm writing a portlet that allow the user to save files to a server, to do that i got a classic button: <input id="Attachment1" type="file" runat="server" NAME="Attachment1"> everything works fine, but in the portlet i got a link button to navigat