cancel
Showing results for 
Search instead for 
Did you mean: 

Error when Time field is left empty

Former Member
0 Kudos

Hi:

Does anyone know the exact reason for the following error? When I leave the input field of type Time empty I get the below error. It seems to orginate when the time field is being set internally by web dynpro. Thanks for your help.

java.lang.IndexOutOfBoundsException: Attribute index 10 Size: 0

at com.sap.aii.proxy.framework.core.JcoBaseTypeData.throwAttributeIndexOutOfBoundException(JcoBaseTypeData.java:120)

at com.sap.aii.proxy.framework.core.JcoBaseTypeData.setAttributeValue(JcoBaseTypeData.java:355)

at com.sap.tc.webdynpro.modelimpl.dynamicrfc.DynamicRFCModelClass.setAttributeValueAsTime(DynamicRFCModelClass.java:716)

at com.intec.ess.travel.model.request.Ztrvldest.setDep_Flight_Time(Ztrvldest.java:275)

at com.intec.ess.travel.request.comp.wdp.IPublicRequestFComp$IRetrieve_Destination_OutputElement.wdSetObject(IPublicRequestFComp.java:5159)

at com.sap.tc.webdynpro.progmodel.context.MappedNodeElement.wdSetObject(MappedNodeElement.java:365)

at com.sap.tc.webdynpro.progmodel.context.MappedNodeElement.wdSetObject(MappedNodeElement.java:365)

at com.sap.tc.webdynpro.progmodel.context.MappedNodeElement.wdSetObject(MappedNodeElement.java:365)

at com.sap.tc.webdynpro.progmodel.context.MappedNodeElement.wdSetObject(MappedNodeElement.java:365)

at com.sap.tc.webdynpro.progmodel.context.MappedNodeElement.wdSetObject(MappedNodeElement.java:365)

at com.sap.tc.webdynpro.progmodel.context.AttributePointer.setObject(AttributePointer.java:223)

at com.sap.tc.webdynpro.clientserver.data.DataContainer.transportPendingUserInput(DataContainer.java:1251)

at com.sap.tc.webdynpro.clientserver.data.DataContainer.transportPendingUserInput(DataContainer.java:458)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.transport(ClientComponent.java:548)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.transport(ClientComponent.java:552)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.transport(ClientComponent.java:552)

at com.sap.tc.webdynpro.clientserver.cal.ClientApplication.transport(ClientApplication.java:688)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.transportData(WebDynproMainTask.java:707)

at com.sap.tc.webdynpro.clientserver.task.WebDynproMainTask.execute(WebDynproMainTask.java:639)

at com.sap.tc.webdynpro.clientserver.cal.AbstractClient.executeTasks(AbstractClient.java:59)

at com.sap.tc.webdynpro.clientserver.cal.ClientManager.doProcessing(ClientManager.java:248)

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.doPost(DispatcherServlet.java:55)

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: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)

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi:

Thanks, I think SAP always defaults a time field to 00:00:00 and will not accept if you put space in the input field. I will have to default the value to 00:00:00 before I send it back.

Regard,

Subramania

Former Member
0 Kudos

I tried that too. I set it using null and i get the same error. Only if a use a New Time(int), i dont get any error. But this is not what I want.

Thanks for your help.

Former Member
0 Kudos

Subramania,

Strange that this error occurs at all: seems that you first type value on UI, left field, return back to field and then clear value... So there is "change event" at server.

Anyway, check your RFC module -- probably this is mandatory parameter and you may not left it blank. Also check whether some default value can be used.

Valery Silaev

EPAM Systems

http://www.NetWeaverTeam.com

Former Member
0 Kudos

Hi,

The DynamicRFCModelClass imposes some xsdl string restrictions on the attribute values that it sets.

Try explicitly setting the value to just null before executing your model object.

Regards,

Satyajit.

Message was edited by: Satyajit Chakraborty