on 12-01-2006 1:41 PM
Hello every one ,
Now i am lerning ,how develop WebApplication with WebDynpro for java.
In Web Dynpro Sample Applications and Tutorials , the example "Working with Tables in Web Dynpro (11)"
a error appear.
java.lang.NoSuchMethodError: java.math.BigDecimal.<init>(I)V
at com.sap.tut.wd.tutwd_table.tablecomp.TableCompBasketView.getTotalPriceAMOUNT(TableCompBasketView.java:162)
at com.sap.tut.wd.tutwd_table.tablecomp.wdp.InternalTableCompBasketView.getTotalPriceAMOUNT(InternalTableCompBasketView.java:176)
at com.sap.tut.wd.tutwd_table.tablecomp.wdp.IPrivateTableCompBasketView$ITotalPriceElement.wdGetObject(IPrivateTableCompBasketView.java:539)
at com.sap.tc.webdynpro.progmodel.context.AttributePointer.getObject(AttributePointer.java:141)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.getAndFormat(DataContainer.java:1082)
... 74 more
Kindly advise me on this..
Thanks in advance..
Yaning
Message was edited by:
Yaning Liu
Are you using the correct JDK version?
Armin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Armin
Server:
Web Dynpro Runtime Vendor: SAP, Build ID: 6.4017.00.0000.20060503180106.0000 (release=630_VAL_REL, buildtime=2006-05-15:20:31:30[UTC], changelist=401354, host=PWDFM026)
J2EE Engine 6.40 patchlevel 104329.313
Java VM Java HotSpot(TM) Server VM, version:1.4.2_08-b03, vendor: Sun Microsystems Inc.
Operating system Windows 2000, version: 5.0, architecture: x86
In NWDS: JDK 5.0
Thx
Yaning
HI Armin,
when i it deployed, no error appeared. but then run it . "500 Internal Server Error" come .
in this example und other (34)Excel Export Using the Web Dynpro Binary Cache there are same error message.
The initial exception that caused the request to fail, was:
java.lang.NoSuchMethodError: java.math.BigDecimal.<init>(I)V
Detailed Exception Chain
java.lang.NoSuchMethodError: java.math.BigDecimal.<init>(I)V
at com.sap.tut.wd.tutwd_table.tablecomp.TableComp.getProductsTOTAL_PER_ARTICLE(TableComp.java:199)
at com.sap.tut.wd.tutwd_table.tablecomp.wdp.InternalTableComp.getProductsTOTAL_PER_ARTICLE(InternalTableComp.java:165)
at com.sap.tut.wd.tutwd_table.tablecomp.wdp.IPublicTableComp$IProductsElement.wdGetObject(IPublicTableComp.java:437)
at com.sap.tc.webdynpro.progmodel.context.MappedNodeElement.wdGetObject(MappedNodeElement.java:351)
at com.sap.tc.webdynpro.progmodel.context.AttributePointer.getObject(AttributePointer.java:141)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.getAndFormat(DataContainer.java:1082)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.getAndFormat(DataContainer.java:1054)
at com.sap.tc.webdynpro.clientserver.uielib.standard.impl.TextView.getText(TextView.java:812)
at com.sap.tc.webdynpro.clientimpl.html.uielib.standard.uradapter.TextViewAdapter.getText(TextViewAdapter.java:270)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.TextViewRenderer.render(TextViewRenderer.java:40)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableCellRenderer.renderSapTableGenericCellFragment(SapTableCellRenderer.java:1201)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableCellRenderer.renderSapTableCellFragment(SapTableCellRenderer.java:226)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableCellRenderer.render(SapTableCellRenderer.java:71)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableRowRenderer.renderSapTableRowFragment(SapTableRowRenderer.java:90)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableRowRenderer.render(SapTableRowRenderer.java:41)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableDefaultBodyRenderer.renderSapTableDefaultBodyFragment(SapTableDefaultBodyRenderer.java:168)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableDefaultBodyRenderer.render(SapTableDefaultBodyRenderer.java:36)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableRenderer.renderSapTableFragment(SapTableRenderer.java:570)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SapTableRenderer.render(SapTableRenderer.java:71)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.FlowLayoutRenderer.renderFlowLayoutItemFragment(FlowLayoutRenderer.java:280)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.FlowLayoutRenderer.renderFlowLayoutFragment(FlowLayoutRenderer.java:165)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.FlowLayoutRenderer.render(FlowLayoutRenderer.java:41)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SingleColumnLayoutRenderer.renderSingleColumnLayoutCellFragment(SingleColumnLayoutRenderer.java:582)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SingleColumnLayoutRenderer.renderSingleColumnLayoutFragment(SingleColumnLayoutRenderer.java:227)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.SingleColumnLayoutRenderer.render(SingleColumnLayoutRenderer.java:66)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:507)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.ScrollContainerRenderer.render(ScrollContainerRenderer.java:61)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.ViewContainerRenderer.renderViewContainerFragment(ViewContainerRenderer.java:118)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.ViewContainerRenderer.render(ViewContainerRenderer.java:41)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.GridLayoutRenderer.renderGridLayoutCellFragment(GridLayoutRenderer.java:712)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.GridLayoutRenderer.renderGridLayoutRowFragment(GridLayoutRenderer.java:372)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.GridLayoutRenderer.renderGridLayoutFragment(GridLayoutRenderer.java:290)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.GridLayoutRenderer.render(GridLayoutRenderer.java:71)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.ScrollContainerRenderer.renderScrollContainerFragment(ScrollContainerRenderer.java:581)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.nn7.ScrollContainerRenderer.render(ScrollContainerRenderer.java:61)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.UiWindowRenderer.render(UiWindowRenderer.java:50)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:294)
at com.sap.tc.webdynpro.clientimpl.html.renderer.uielements.base.AbstractRenderManager.render(AbstractRenderManager.java:102)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendHtml(HtmlClient.java:559)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:350)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.sendResponse(HtmlClient.java:256)
at com.sap.tc.webdynpro.clientimpl.html.client.HtmlClient.retrieveData(HtmlClient.java:160)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.handleActionEvent(WebDynproMainTask.java:430)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:659)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:154)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:116)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doGet(DispatcherServlet.java:48)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:390)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:264)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:347)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:325)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:887)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:241)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:148)
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)
thx
yaning
Yaning,
Use JDK 1.4.x with NWDS as well. Otherwise after compilation you get calls inside byte-code to methods that exists only in JDK 1.5 and hence not available at run-time (in JDK 1.4 of server).
Valery Silaev
SaM Solutions
You cannot run code that used JDK5 features on a JDK 1.4 server, so goto Window -> Preferences -> Java -> Installed JREs and select JDK 1.4 as default.
It seems there is some JDK5-only code in the tutorial (BigDecimal.ZERO, BigDecimal(0)). This is wrong, simply change it to work with the JDK of the Web Dynpro release.
Armin
Message was edited by:
Armin Reichert
hi
First intialize the BigDecimal as
BigDecimal var = new BigDecimal("0");
You can pass string to the BigDecimal and can change string into BigDecimal
Regards
Nidhideep
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hello Yaning.
I had this exact same problem. I opted for using BigDecimal's other constructor the one that receives a String instead of an int:
BigDecimal total = new BigDecimal("0");
This worked out perfectly for me. However it would be nice if somebody could tell us why the constructor that receives an int doesnt work as expected.
Hope this helps
Francisco
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi there,
Can you post the line of code in line 162 of TableCompBasketView? Because thats where the error is.
Regards,
LM
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi LM,
Thx
public java.math.BigDecimal getTotalPriceAMOUNT(IPrivateTableCompBasketView.ITotalPriceElement element)
{
//begin getTotalPriceAMOUNT(IPrivateTableCompBasketView.ITotalPriceElement)
//line 162
BigDecimal total = new BigDecimal(BigInteger.ZERO);
int n = wdContext.nodeProducts().size();
for (int i = 0; i < n; ++i) {
IProductsElement item = wdContext.nodeProducts().getProductsElementAt(i);
int quantity = item.getQUANTITY();
BigDecimal price = item.getPRICE();
total = total.add(new BigDecimal(BigInteger.valueOf(quantity)).multiply(price));
}
return total;
}
yaning
Message was edited by:
Yaning Liu
Hi,
chaage this and try
BigDecimal total = new BigDecimal(BigInteger.ZERO);
// u try use this code.
BigDecimal total = new BigDecimal(0);
int n = wdContext.nodeProducts().size();
for (int i = 0; i < n; ++i) {
total =
total.add(
new BigDecimal(wdContext.nodeProducts().getProductsElementAt(i).getQUANTITY()).multiply(
wdContext.nodeProducts().getProductsElementAt(i).getPRICE()));
}
return total;
//@@end
}
Thanks,
Lohi.
Message was edited by:
Lohitha M
Hi,
In a big decimal u can try passing a string and multiply.
try this:
public java.math.BigDecimal getTotalPriceAMOUNT(IPrivateTableCompBasketView.ITotalPriceElement element)
{
//begin getTotalPriceAMOUNT(IPrivateTableCompBasketView.ITotalPriceElement)
BigDecimal total = new BigDecimal("0");
int n = wdContext.nodeProducts().size();
for (int i = 0; i < n; ++i) {
IProductsElement item = wdContext.nodeProducts().getProductsElementAt(i);
int q = item.getQUANTITY();
String qty = null;
BigDecimal quantity = new BigDecimal(qty.valueOf(q));
BigDecimal price = item.getPRICE();
total = total.add(quantity.multiply(price));
}
return total;
}
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.