cancel
Showing results for 
Search instead for 
Did you mean: 

Error On deleting from table

Former Member
0 Kudos

Hello Experts.

I am getting error when deleting from table.

please help me.I had given my error.

If possible also tell me how to trace this error.

java.lang.IndexOutOfBoundsException: Index: 3, Size: 3

at java.util.ArrayList.RangeCheck(ArrayList.java:507)

at java.util.ArrayList.get(ArrayList.java:324)

at com.sap.tc.webdynpro.progmodel.context.Node$ElementList.getElement(Node.java:2034)

at com.sap.tc.webdynpro.progmodel.context.Node.isMultiSelected(Node.java:841)

at com.sap.tc.webdynpro.progmodel.context.Node.isMultiSelected(Node.java:839)

at try1.comp1.TableView.onActionDelete_Entry(TableView.java:191)

at try1.comp1.wdp.InternalTableView.wdInvokeEventHandler(InternalTableView.java:191)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.invokeEventHandler(DelegatingView.java:87)

at com.sap.tc.webdynpro.progmodel.controller.Action.fire(Action.java:67)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doHandleActionEvent(WindowPhaseModel.java:420)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.processRequest(WindowPhaseModel.java:132)

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

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessingStandalone(ClientSession.java:759)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doApplicationProcessing(ClientSession.java:712)

at com.sap.tc.webdynpro.clientserver.session.ClientSession.doProcessing(ClientSession.java:261)

at com.sap.tc.webdynpro.clientserver.session.RequestManager.doProcessing(RequestManager.java:149)

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

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 (1)

Accepted Solutions (1)

Former Member
0 Kudos

chk ur code

I think the problem is that you have removed the elements from the node and again trying to access the same node

Former Member
0 Kudos

This Is the code of delete function.

//@@begin onActionDelete_Entry(ServerEvent)
    	int Count=wdContext.nodePerson().size();
    	int LeadSelcection=wdContext.nodePerson().getLeadSelection();
    	for(int i=0;i<Count;i++)
    	{
    		if( (i==LeadSelcection) || wdContext.nodePerson().isMultiSelected(i))
    		{
    			wdContext.nodePerson().removeElement(wdContext.nodePerson().getElementAt(i));
    		}//if
    	}//for
    //@@end 

Former Member
0 Kudos

Loop backwards (n-1, ..., 0) to keep indices stable when removing an element from the node.

Armin

Former Member
0 Kudos

Thankx Sir. It is working fine now with the use of your solution.

Answers (0)