on 10-29-2004 5:30 PM
Hi There,
When i introduce some non-numerical characters in a InputField (employeeNumber), and this is mapped and binding to a model (R/3 system, Version 4.6c, rfc: BAPI_ADDRESSEMPGETDETAILEDLIST ; model data type: BAPIP0006-PERNR) a fatal error stop the application execution:
Error stacktrace:
com.sap.aii.proxy.framework.core.DataAccessException: Type conversion error, field EMPLOYEENUMBER, complex type class sap.cantv.bapi_addressemp_change.model4.Bapi_Addressempgetdetailedlist_Input
at com.sap.aii.proxy.framework.core.JcoBaseTypeData.propagateJcoException(JcoBaseTypeData.java:130)
at com.sap.aii.proxy.framework.core.JcoBaseTypeData.setElementValue(JcoBaseTypeData.java:751)
at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClass.setAttributeValueAsString(DynamicRFCModelClass.java:657)
at sap.cantv.bapi_addressemp_change.model4.Bapi_Addressempgetdetailedlist_Input.setEmployeenumber(Bapi_Addressempgetdetailedlist_Input.java:192)
at sap.cantv.bapi_addressemp_change.wdp.IPublicBAPI_ADDRESSEMP_CHANGE$IReadElement.wdpSetObject(IPublicBAPI_ADDRESSEMP_CHANGE.java:3349)
at com.sap.tc.webdynpro.progmodel.context.MappedNodeElement.wdpSetObject(MappedNodeElement.java:75)
at com.sap.tc.webdynpro.progmodel.context.AttributePointer.setObject(AttributePointer.java:222)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.transportPendingUserInput(DataContainer.java:1196)
at com.sap.tc.webdynpro.clientserver.data.DataContainer.transportPendingUserInput(DataContainer.java:404)
at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.transport(ClientComponent.java:547)
at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.transport(ClientApplication.java:623)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.transportData(WebDynproMainTask.java:654)
at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:581)
at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:57)
at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:251)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doWebDynproProcessing(DispatcherServlet.java:139)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doContent(DispatcherServlet.java:101)
at com.sap.tc.webdynpro.serverimpl.defaultimpl.DispatcherServlet.doPost(DispatcherServlet.java:45)
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:385)
at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:263)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:337)
at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:315)
at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:815)
at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:238)
at com.sap.engine.services.httpserver.server.Client.handle(Client.java:92)
at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:147)
at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:37)
at com.sap.engine.core.cluster.impl6.session.UnorderedChannel$MessageRunner.run(UnorderedChannel.java:71)
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:94)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:151)
Please help to solve this situation,
Thanks a lot
Francisco.
please, somebody help me to solve this problem.
Thank you
Francisco.-
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
The best way to solve your problem is not to capture or manage it, but to prevent the error by implementing some simple validation rules on what your user should enter.
Before the execution of the model, check the personnel number is valid (numeric).
If the validation fails, display a meaningful error message to the user, and dont execute the model.
This means you keep the control, and the work done in your application (ie. It doesnt try and call the back-end system until it should, or needs to), and you get control on the error message the user is displayed with.
This is good for usability.
Let me know if you would like more detail on how to accomplish this.
Regards,
Anthony.
User | Count |
---|---|
87 | |
10 | |
10 | |
10 | |
7 | |
6 | |
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.