cancel
Showing results for 
Search instead for 
Did you mean: 

ndexOutOfBoundsException when creatign new main bank in ESS

Former Member
0 Kudos

Hi,

When I click New main bank from Payroll > direct deposit in ESS.

I am getting the following error. Can any one suggest me what this error is about?

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

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

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

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

at com.sap.tc.webdynpro.progmodel.context.Node.getElementAtInternal(Node.java:621)

at com.sap.tc.webdynpro.progmodel.context.Node.setLeadSelection(Node.java:753)

at com.sap.xss.hr.per.us.bank.detail.DetailView.wdDoModifyView(DetailView.java:166)

at com.sap.xss.hr.per.us.bank.detail.wdp.InternalDetailView.wdDoModifyView(InternalDetailView.java:756)

at com.sap.tc.webdynpro.progmodel.generation.DelegatingView.doModifyView(DelegatingView.java:78)

at com.sap.tc.webdynpro.progmodel.view.View.modifyView(View.java:337)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:481)

at com.sap.tc.webdynpro.clientserver.cal.ClientComponent.doModifyView(ClientComponent.java:488)

at com.sap.tc.webdynpro.clientserver.window.WindowPhaseModel.doModifyView(WindowPhaseModel.java:551)

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

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

at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:364)

at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:1039)

at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:265)

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(AccessController.java:215)

at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:102)

at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:172)

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Goto the ess~bank webdynpro application -> Webdynpro Components -> VcPerBankUSDetail -> Views -> DetailView -> Implementation Tab ....wddomodifyview() method line no..166 and try to fix the issue there or send me the code....I will let you know ...

Shikhil

Former Member
0 Kudos

Below is the wddomodify() function

public static void wdDoModifyView(IPrivateDetailView wdThis, IPrivateDetailView.IContextNode wdContext, com.sap.tc.webdynpro.progmodel.api.IWDView view, boolean firstTime)

{

//@@begin wdDoModifyView

TextFieldInfo[] fieldInfo = new TextFieldInfo[]

{ new TextFieldInfo("Bankl", "Bank_Name") };

F4TextHelper.GetF4Text(wdThis.wdGetAPI(),

wdContext.nodeSelectedInfotype(),

view,

fieldInfo);

String subtype = wdContext.currentSelectedInfotypeElement().getBnksa().toString();

try{

if ( subtype.startsWith("1") )

{

wdContext.currentContextElement().setIsVisible(WDVisibility.VISIBLE );

}

else

{

wdContext.currentContextElement().setIsVisible(WDVisibility.NONE);

}

}catch (Exception ex){ }

String bankControlKey = wdContext.currentSelectedInfotypeElement().getBkont();

if (bankControlKey.equals(""))

wdContext.nodeAccount_type_radiobutton().setLeadSelection(2);

else{

for (int i=0; i<wdContext.nodeAccount_type_radiobutton().size()-1; i++){

if (wdContext.nodeAccount_type_radiobutton().getAccount_type_radiobuttonElementAt(i).getValue().equals(bankControlKey)){

wdContext.nodeAccount_type_radiobutton().setLeadSelection(i);

break;

}

}

}

i have highlighted the 166 line

Former Member
0 Kudos

I remember having this issue..Just do the following code changes and you would be fine ...

//if (bankControlKey.equals(""))

//wdContext.nodeAccount_type_radiobutton().setLeadSelection

//(2);

//else{

Comment out these 4 lines

for (int i=0; i<wdContext.nodeAccount_type_radiobutton().size(); i++){

if (wdContext.nodeAccount_type_radiobutton().getAccount_type_radiobuttonElementAt(i).getValue().equals(bankControlKey)){

wdContext.nodeAccount_type_radiobutton().setLeadSelection(i);

break;

and in the for loop change the condition as:

for (int i=0; i<wdContext.nodeAccount_type_radiobutton().size(); i++){

instead of i<wdContext.nodeAccount_type_radiobutton().size() -1

Hope it helps

Shikhil

Former Member
0 Kudos

I remember having this issue..Just do the following code changes and you would be fine ...

//if (bankControlKey.equals(""))

//wdContext.nodeAccount_type_radiobutton().setLeadSelection

//(2);

//else{

Comment out these 4 lines

for (int i=0; i<wdContext.nodeAccount_type_radiobutton().size(); i++){

if (wdContext.nodeAccount_type_radiobutton().getAccount_type_radiobuttonElementAt(i).getValue().equals(bankControlKey)){

wdContext.nodeAccount_type_radiobutton().setLeadSelection(i);

break;

and in the for loop change the condition as:

for (int i=0; i<wdContext.nodeAccount_type_radiobutton().size(); i++){

instead of i<wdContext.nodeAccount_type_radiobutton().size() -1

Hope it helps

Shikhil

Former Member
0 Kudos

Shikil,

Thanks for you help. You are awesome. if you time can you quote some lines why exactly the problem was. Your solution worked.

Thanks,

Boiler.

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

have you checked if the nodeAccount_type_radiobutton() is filled?

This error accurs because the program are trying access a invalid prosition into the node.

Former Member
0 Kudos

can you please tell me how do I check for it.