cancel
Showing results for 
Search instead for 
Did you mean: 

ContextIndexOutOfBoundsException

Former Member
0 Kudos

Hi,

Am facing a strange error while the WDP app initialization and its happening some times only if I do again its not happing and I am able to replicate the situation.

Please share with me if have any idea

Caused by: com.sap.tc.webdynpro.progmodel.context.ContextIndexOutOfBoundsException: Node(Ewd_OOFMgt.ewdcomp/Ewd_inboxmgtComp.Display, class=uk.co.britishgas.ict.em.ewd_inboxmgtcomp.wdp.IPublicEwd_inboxmgtComp$IDisplayNode): index out of bounds: index=0, size=0

at com.sap.tc.webdynpro.progmodel.context.ElementList.getLocalElement(ElementList.java:517)

at com.sap.tc.webdynpro.progmodel.context.ElementList.getElement(ElementList.java:538)

at com.sap.tc.webdynpro.progmodel.context.MappedElementList.getElement(ElementList.java:1222)

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

at com.sap.tc.webdynpro.progmodel.context.Paths.followPath(Paths.java:1464)

at com.sap.tc.webdynpro.progmodel.context.Paths.followPath(Paths.java:1414)

at com.sap.tc.webdynpro.progmodel.context.Paths.getNodeElementFor(Paths.java:516)

at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter.getNodeElementByContextPath(TableAdapter.java:30170)

at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter.onRowSelect(TableAdapter.java:30093)

at com.sap.tc.webdynpro.clientserver.uielib.standard.uradapter.TableAdapter.onClientRowSelect(TableAdapter.java:29127)

Regards

Rajesh

Accepted Solutions (0)

Answers (3)

Answers (3)

junwu
Active Contributor
0 Kudos

please post your code first.

Former Member
0 Kudos

Hi

Code in following manner

IPublic<your view>.I<node element> elementObject = wdContext.node<node name>().create<node element name>();

elementObject .set<feild>(.......value......);

.

.

. //set all feilds.

.

wdContext.node<node name>().addElement(elementObject );

Regards,

Deepak Dwivedi.

Former Member
0 Kudos

Hi,

Am using CE7.2 SP3 here am posting the some peace of code where am creating the element for the Node and adding

for(int i=0;i<lstInteractionEmployeeDTO.size();i++)

{

if(!arrInbox.contains( lstInteractionEmployeeDTO.get(i).getFkIdInteraction() ))

{

IPublicEwd_inboxmgtComp.IDisplayElement ele = wdContext.nodeDisplay().createAndAddDisplayElement();

arrInbox.add( lstInteractionEmployeeDTO.get(i).getFkIdInteraction());

ele.setInteractionShortDesc(lstInteractionEmployeeDTO.get(i).getSubject());

if(lstInteractionEmployeeDTO.get(i).getReceivedDate()!=null){

ele.setInteractionDate(new java.util.Date(lstInteractionEmployeeDTO.get(i).getReceivedDate().getTime()));

}

}

*Note : error is not throwing always randomly its hitting in pre production the same code is working very fine with all other boxes.

Regards

Rajesh

Former Member
0 Kudos

Hi,

You should add element created into the node. Here in your code you have not added it. Adding element might resolve your problem.

for(int i=0;i<lstInteractionEmployeeDTO.size();i++)

{

if(!arrInbox.contains( lstInteractionEmployeeDTO.get(i).getFkIdInteraction() ))

{

IPublicEwd_inboxmgtComp.IDisplayElement ele = wdContext.nodeDisplay().createAndAddDisplayElement();

arrInbox.add( lstInteractionEmployeeDTO.get(i).getFkIdInteraction());

ele.setInteractionShortDesc(lstInteractionEmployeeDTO.get(i).getSubject());

if(lstInteractionEmployeeDTO.get(i).getReceivedDate()!=null){

ele.setInteractionDate(new java.util.Date(lstInteractionEmployeeDTO.get(i).getReceivedDate().getTime()));

}

wdContext.nodeDisplay().addElement(ele); // This line was missing.

}

Try this hope you get resolved with the problem.

Regards,

Deepak Dwivedi.

Former Member
0 Kudos

Hi Deepak,

IPublicEwd_inboxmgtComp.IDisplayElement ele = wdContext.nodeDisplay().createAndAddDisplayElement();

createAndAddDisplayElement() will creates ele and adds to that doesn't need add explicitly.

Regards

Rajesh

Former Member
0 Kudos

Hi,

Create an element of that context node in the wdInit of the view.

Thanks & Regards

Kaushik Banerjee

Former Member
0 Kudos

Hi Rajesh,

This error often occurs when you try to set value for any element in a node whose cardinality is 0....n . To overcome this problem you should first create the element then add it the node.

Regards,

Deepak Dwivedi.