Index out of bound array : calling bapi

Hi,
I am facing a problem while executing a BAPI using the SAP .net connector. The steps I performed are as follows:
Created a web project in Visual Studio .net using VB.net
Added the SAP Connector Proxy to the project
Dragged a Bapi_Customer_Getcontactlist onto the proxy
Created a page with a button on it
In the button_Click event of the web form I wrote the following code
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim Maxrows As Integer = 10
        Dim Return0 As BAPIRETURN1
        Dim Contactaddressdata As BAPICONTACT_ADDRESSDATATable
        Dim Customerrange As BAPICUSTOMER_IDRANGETable
        SapProxy11.Bapi_Customer_Getcontactlist(Maxrows, Return0, Contactaddressdata, Customerrange)
    End Sub
But when I execute the code the method the control goes into the SAPProxy1.vb file in which the code for the method Bapi_Customer_Getcontactlist contains a statement as follows
Dim results As Object()
        results = SAPInvoke("Bapi_Customer_Getcontactlist", New Object() { _
                            Maxrows, Contactaddressdata, Customerrange})
When the SAPInvoke method is executed it gives an exception saying “Index was outside the bounds of the array.”
For any other bapi that I execute it gives the same error. Please someone help me to execute the BAPI and let me know if I have missed out something.
Regards,
sridhar

Thanks a lot for your suggestion.
I got rid of the error by manually editing the code that the SAPProxy.vb contains in which the SAPInvoke method is called. This method expects the second parameter as the array of input parameters which it writes automatically but when executed the number of parameters is not the same as those in the actual method.
i.e. The code that is written automatically when I drag the method from the Server explorer contains the BAPI method which internally calls the SAPInvoke method. Now the BAPI that I want to make a call contains the output parameters which you said I need to initialize. But the code excludes this output parameters in the SAPInvoke method. Thats the reason why the index out of bound error was generated.
Now once I manually changed the code to include the output parameters too in the SAPInvoke method the error is gone but the call thus made does not return any value in the output parameters. Where as when executed from the SAP IDE it returns the values.
Please let me know whats wrong with it.
Regards,
Sridhar

Similar Messages

  • Array Index out of bound exception

    public Name[] getName() {
              Name[] retVal = new Name[0];
              retVal[0] = this.getNameInstance();
              return retVal;
         public void setName(Name[] theName) {
              theName[0]=this.getNameInstance();
         private Name myNameInstance = new Name();
         public void setNameInstance(Name theNameInstance) {
              if(isValidName(theNameInstance)){
              myNameInstance = theNameInstance;
         public Name getNameInstance() {
              return myNameInstance;
         }I am getting an array Index out of bound eception in the method setName, Can any one tell me where I am doing wrong?

    The array passed in must be empty. I suggest using the debugger for problems like these. If you don't know how to use the debugger, here's a start:
    (Assuming you have a debugger, any IDE you'd be using will)
    1. Set a breakpoint on or before your line of question. In this case, place it on the line of code in your setName() method. Set a breakpoint by either right clicking on that line and selecting "Add breakpoint," or simply click on the far left side of the editor window, right next to the line number. Either way, a little dot will appear to mark the breakpoint.
    2. Execute your code in Debug mode rather than release mode. This might mean clicking on the little bug-looking icon "Debug" rather than "Run."
    3. Your code will execute and you'll enter the debug perspective when that breakpoint is reached. There, in the variables window, you'll see your array and any information about it, particularly its size and contents.

  • Fusion Security, SearchResponse next returning array index out of bound

    I am trying to fetch all the roles under a search base and while iterating i am getting array index out of bound exception.
    SimpleSearchFilter filter=store.getSimpleSearchFilter(RoleProfile.NAME,SimpleSearchFilter.TYPE_EQUAL,null);
    String wildCardChar=filter.getWildCardChar();
    filter.setValue(wildCardChar);
    SearchParameters parameters=new SearchParameters(filter,SearchParameters.SEARCH_ROLES_ONLY) ;
    SearchResponse resp=store.searchRoles(Role.SCOPE_ANY, parameters);
    +while(resp.hasNext()){+
    Role role=(Role)resp.next();
    Can anybody kindly advise

    Hi..
    check this
    http://andrejusb.blogspot.com/2011/01/fusion-middleware-11g-security-retrieve.htmlhope this will helpful

  • Vector.get(0) Array Index out of bounds - Please Help

    Hi,
    I have a method, where i am accesing vector.get(0)
    and since it is a multi threaded application, somtimes i am getting
    Array Index out of bounds exception.
    I want to confirm that if i make that particular method synchronized, is it going to
    solve my problem.
    Please help me, since i am not able to reproduce the error very often, i want to make sure this will work.
    zraoz.

    It's a bit of both. The code you posted fails if two
    threads execute at the same time. He needs the
    synchronization, and the size check.Only if he is removes elements somewhere else. If not the code is safe.
    My guess is that he is trying to get the first element before it has been added.

  • Java Index Out Of Bounds Exception error

    In the Query Designer when I choose access type for Result value as Master data, and execute, I get the following java Index Out Of Bounds Exception error:
    com.sap.ip.bi.webapplications.runtime.controller.MessageException: Error while generating HTML
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2371)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.doServerRedirect(Page.java:2642)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:2818)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2293)
         at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.doProcessRequest(Controller.java:841)
         at com.sap.ip.bi.webapplications.runtime.controller.impl.Controller.processRequest(Controller.java:775)
         at com.sap.ip.bi.webapplications.runtime.jsp.portal.services.BIRuntimeService.handleRequest(BIRuntimeService.java:412)
         at com.sap.ip.bi.webapplications.runtime.jsp.portal.components.LauncherComponent.doContent(LauncherComponent.java:21)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.serviceDeprecated(AbstractPortalComponent.java:209)
         at com.sapportals.portal.prt.component.AbstractPortalComponent.service(AbstractPortalComponent.java:114)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.component.PortalComponentResponse.include(PortalComponentResponse.java:215)
         at com.sapportals.portal.prt.pom.PortalNode.service(PortalNode.java:645)
         at com.sapportals.portal.prt.core.PortalRequestManager.callPortalComponent(PortalRequestManager.java:328)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:136)
         at com.sapportals.portal.prt.core.PortalRequestManager.dispatchRequest(PortalRequestManager.java:189)
         at com.sapportals.portal.prt.core.PortalRequestManager.runRequestCycle(PortalRequestManager.java:753)
         at com.sapportals.portal.prt.connection.ServletConnection.handleRequest(ServletConnection.java:240)
         at com.sapportals.portal.prt.dispatcher.Dispatcher$doService.run(Dispatcher.java:522)
         at java.security.AccessController.doPrivileged(Native Method)
         at com.sapportals.portal.prt.dispatcher.Dispatcher.service(Dispatcher.java:405)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at com.sap.engine.services.servlets_jsp.server.servlet.InvokerServlet.service(InvokerServlet.java:156)
         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)
    Caused by: com.sap.ip.bi.base.exception.BIBaseRuntimeException: Error while generating HTML
         at com.sap.ip.bi.webapplications.ui.items.UiItem.render(UiItem.java:380)
         at com.sap.ip.bi.webapplications.runtime.rendering.impl.ContainerNode.render(ContainerNode.java:62)
         at com.sap.ip.bi.webapplications.runtime.rendering.impl.PageAssemblerRenderingRoot.processRendering(PageAssemblerRenderingRoot.java:50)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRenderingRootNode(Page.java:3188)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRendering(Page.java:2923)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.doProcessRequest(Page.java:2877)
         at com.sap.ip.bi.webapplications.runtime.impl.Page.processRequest(Page.java:2293)
         ... 39 more
    Caused by: java.lang.IndexOutOfBoundsException: fromIndex = -7
         at java.util.SubList.<init>(AbstractList.java:702)
         at java.util.RandomAccessSubList.<init>(AbstractList.java:860)
         at java.util.AbstractList.subList(AbstractList.java:569)
         at com.sap.ip.bi.bics.dataaccess.base.impl.ModifiableList.remove(ModifiableList.java:630)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsDataCells.removeRows(RsDataCells.java:480)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.removeTuples(RsAxis.java:550)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1312)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1326)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1326)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1326)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1272)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.RsAxis.applyResultVisibility(RsAxis.java:1170)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.ResultSet.applyPostProcessing(ResultSet.java:282)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.resultset.ResultSet.refreshData(ResultSet.java:262)
         at com.sap.ip.bi.bics.dataaccess.consumer.impl.queryview.QueryView.getResultSet(QueryView.java:267)
         at com.sap.ip.bi.webapplications.ui.items.analysis.control.AcPivotTableInteractive.checkResultSetState(AcPivotTableInteractive.java:368)
         at com.sap.ip.bi.webapplications.ui.items.analysis.control.AcPivotTableExport.validateDataset(AcPivotTableExport.java:249)
         at com.sap.ip.bi.webapplications.ui.items.analysis.control.AcPivotTableInteractive.buildUrTree(AcPivotTableInteractive.java:282)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:33)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayoutItem.iterateOverChildren(FlowLayoutItem.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayout.iterateOverChildren(FlowLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayoutCell.iterateOverChildren(MatrixLayoutCell.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayoutRow.iterateOverChildren(MatrixLayoutRow.java:56)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.MatrixLayout.iterateOverChildren(MatrixLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.matrixlayout.control.AcMatrixControlGrid.iterateOverChildren(AcMatrixControlGrid.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.Group.iterateOverChildren(Group.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.group.control.AcGroupControl.iterateOverChildren(AcGroupControl.java:259)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayoutItem.iterateOverChildren(FlowLayoutItem.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.FlowLayout.iterateOverChildren(FlowLayout.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.advancedcontrols.bridge.AcItemBridge.iterateOverChildren(AcItemBridge.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.unifiedrendering.controls.Group.iterateOverChildren(Group.java:63)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.container.group.control.AcGroupControl.iterateOverChildren(AcGroupControl.java:259)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.composites.UiRootContainer.iterateOverChildren(UiRootContainer.java:40)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.process(CompositeBuildUrTreeTrigger.java:36)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.CompositeBuildUrTreeTrigger.start(CompositeBuildUrTreeTrigger.java:59)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.ExtendedRenderManager.triggerComposites(ExtendedRenderManager.java:69)
         at com.sap.ip.bi.webapplications.ui.framework.base.impl.BICompositeManager.renderRoot(BICompositeManager.java:79)
         at com.sap.ip.bi.webapplications.ui.items.UiItem.render(UiItem.java:376)
    Any help in solving this error is highly appreciated. Points will be given
    Best Regards,
    Vidyut K Samanta

    Hi.
    Go to line 9 of your code.
    You are trying to use an array there.
    Suppose you have an array x[4] - this array has 4 elements indexed 0..3.
    you are trying to access an element with an index higher than 3.
    Nimo.

  • String index out of bounds... issue regarding checking for non-integers

    okay. i have been racking my brain about this for the last couple of days. i looks like everything is alright, but i keep getting string index out of bounds exception: string index out of range 1.
    heres the code.
                   for(int x=0; x<size; ++x)
                        count=x+1;
                        System.out.println("Please enter value #"+count+(":"));
                        numnum=console.nextLine();
                        if(Character.isDigit(numnum.charAt(x)))
                             goodInput=true;
                        if(!goodInput)
                             System.out.print("Please Enter Only Integers!");
                        else
                             values[x]=Integer.parseInt(numnum);
    its probably something really stupid, but if someone can figure this out, id be most grateful.
    -thanks

    Be sure values contains data.
    Then make sure that size = values.length
    Either you don't have any data to iterate through, or the size variable is too big. So it's trying to search in parts of the array that don't exist.

  • Why Do I Receive Internal Software Error(s): Terminal Index Out of Bounds. Error code -61350,When Compiling my FPGA VI for an cRIO-9118 using NI 9223 ?

    I am receiving the following error (in a pop-up window) when compiling my VI FPGA code in chassis NI 9118 using NI 9223 module.  This error occur while compiling process (generating intermediate files , stage 7 of 7). how do I resolve this error ?
    thank you
    additional information :
    Original error message: 
    Errors : 
    Internal Software Error(s): Terminal Index Out of Bounds.
    Error code: -61350
    Details : 
    A terminal with this index does not exist on this block diagram node.
    NiFpgaHandleCallbackError.vi<APPEND>
    <b>Complete call chain:</b>
    NiFpgaHandleCallbackError.vi
    niFpgaNodeInformation.lvclass:Get Const Variant.vi
    DfirModGen.lvclass:GetConstant.vi
    niLvFpgaMungerBrainwashIONodeCommon_Dfir.vi
    niLvFpgaMungerBrainwashSingleIOGrowableMethod_DFIR.vi
    nirviEIOMethodImplementation_SpecifyDFIR.vi
    nirviEIOMethodImplementation_SpecifyDFIR.vi.ProxyCaller
    Solved!
    Go to Solution.

    Hi tesa,
    This is a bug which was fixed in LabVIEW 2012 SP1. The CAR number created for this bug is 332811 and as you can see in this link, it is already in the bug fixes list.
    Carmen C.

  • Index out of Bounds Exception in for loop.

    Occasionaly with the code below, i get an index out of bounds error, index 1, size 1, however the for loop should ensure that it never calls the getActorLocation method if the index is the same size as the arrayList size.
    Im having one of those days, and i just cant see what error i have made.
    Perhaps i need coffee? lol
    Cheers
    James
    private void checkMemoryIntegrity(){
            Actor actor = actorList.get(actorIndex);
            ArrayList<Integer> inRangeList = getActorsInMemoryRange(actor, actor.getRange());
            inRangeList.trimToSize();
            for (int i = 0; i < inRangeList.size();i++){
                if (inRangeList.size() != 0){
                    actor = brainState.getActorLocation(i); //<<<<<<<<< problem line
                    if (!actorList.contains(actor)){
                        brainState.actorLocations.remove(i);
    public ArrayList <Integer> getActorsInMemoryRange(Actor actor, int range){
            int i = 0;
            int x = actor.getX();
            int y = actor.getY();
            ArrayList <Integer> inRangeList = new ArrayList <Integer> ();
            Actor compActor;
            while (i< brainState.actorLocations.size())
                compActor = brainState.getActorLocation(i);
                int xDist = x - compActor.getX();
                if ( (xDist >= (-1) * range) && (xDist <= range) ){
                    int yDist = y - compActor.getY();
                    if ( (yDist >= (-1) * range) && (yDist <= range) ){
                        inRangeList.add(i);
                i++;
            return inRangeList;
        }

    I was thinking it might be easier to do it this way:
    Iterator<Actor> i = actorLocations.iterator();
    while(i.hasNext())
        if (!actorList.contains(i.next())) {
            i.remove();
    }It sounds like you have an equals() method which compares the x and y locations of the actor. If not then you will have to enclose the remove in an if block which compares the actor location. Does that make sense?
    Edit: contains uses the equals method.
    Returns true if this list contains the specified element. More formally, returns true if and only if this list contains at least one element e such that
    (o==null ? e==null : o.equals(e)).Edited by: Edward_Kimber on May 23, 2008 11:43 AM

  • SelectOneChoice index out of bounds

    Hi,
    I have two SelectOneChoice components as follows:
    <af:selectOneChoice label="Type" id="soc1" required="true"
    binding="#{pageFlowScope.calEntryBean.entryType}"
    autoSubmit="true"
    valueChangeListener="#{pageFlowScope.calEntryBean.onChangeType}">
    <f:selectItems value="#{session_calEntry.entryTypes}" id="si1"/>
    </af:selectOneChoice>
    <af:selectOneChoice label="Sub Type" id="soc2"
    binding="#{pageFlowScope.calEntryBean.subEntryType}"
    partialTriggers="soc1" autoSubmit="true"
    valueChangeListener="#{pageFlowScope.calEntryBean.onChangeSubType}"
    required="true">
    <f:selectItems value="#{session_calEntry.subEntryTypes}"
    id="si2"/>
    </af:selectOneChoice>
    "Sub Type" dropdown is refreshed whenever "Type" dropdown is changed.
    The problem is that if I select "Sub Type" option 4 from the list, then change "Type" dropdown which then refreshes "Sub Type" with less than 4 options. Then I will get the error:
    WARNING 29-Jun-2010 00:12:16.828 oracle.adfinternal.view.faces.renderkit.rich.SimpleSelectOneRenderer.__getIndex ln.280 -- The index 3 of the submitted value for selectOne is out of bounds. It should be between 0 and 2.
    and the UI will show "You must make at least one selection".
    I tried resetting the "Sub Type" dropdown as suggested in this forum (SelectOne index out of bounds in the ValueChangeListener:
    public void onChangeType(ValueChangeEvent valueChangeEvent) {
    LOGGER.info("Entering onChangeType: " + valueChangeEvent.getNewValue());
    subEntryType.resetValue();
    pageFlowScope.put("isChangeType", "true");
    But the problem is that I saw the getSubEntryType() method in CalEntrySession called twice, one before onChangeType valueChangeListerner and the other one is after onChangeType valueChangeListerner. So it still can't be reset before getSubEntryType.
    Please advise.
    Thanks.
    -Mina

    I m new ADF, so I not at all able to figure out to proceed with this scenario. My scenario is that I have four SelectOneChoice and the value of soc1 will decide soc2, value of soc1 & soc2 will decide soc3 and value of soc1 soc2 & soc3 will decide soc4.
    <af:selectOneChoice value="#{ajaxTestBean.country}" id="soc1" autoSubmit="true" valueChangeListener="#{ajaxTestBean.populateState}" valuePassThru="true">
    <f:selectItem itemValue="INDIA" itemLabel="INDIA" id="si11"/>
    <f:selectItem itemValue="US" itemLabel="US" id="si12"/>
    </af:selectOneChoice>
    <af:selectOneChoice value="#{ajaxTestBean.state}" id="soc2" partialTriggers="soc1" autoSubmit="true" valueChangeListener="#{ajaxTestBean.populateCity}" valuePassThru="true">
    <f:selectItems value="#{ajaxTestBean.stateMap}" id="si2"/>
    </af:selectOneChoice>
    <af:selectOneChoice value="#{ajaxTestBean.state}" id="soc3"
    partialTriggers="soc1 soc2" autoSubmit="true" valueChangeListener="#{ajaxTestBean.populateBranch}" valuePassThru="true">
    <f:selectItems value="#{ajaxTestBean.cityMap}" id="si3"/>
    </af:selectOneChoice>
    <af:selectOneChoice value="#{ajaxTestBean.state}" id="soc4" partialTriggers="soc1 soc2 soc3" valuePassThru="true">
    <f:selectItems value="#{ajaxTestBean.branchMap}" id="si4"/>
    </af:selectOneChoice>
    First load of page is working fine and once all four SelectOneChoices are populated and then I try to change the value soc1 only soc2 gets changed. I have resetted the value of soc2, soc3 & soc4 before doing anything inside the method "populateState" which is being called on change of soc1.
    I m having one more doubt that auto submit = "true" says that its submits the whole form but when I try to retreive other parameters inside valueChangeListner method I m getting only null.
    Please help.

  • String index out of bounds?

    hi, i am writing a java program which reads in a file and then error checks it, once its done this it will output it to another file.
    It was working fine until i tried writing another method, now it keeps telling there is a string index out of bounds exception with the 'charAt' method. I have uploaded all the necessary files to compile and run the program.
    I am unsure of what the problem is so id be grateful of you would be able to check it out. If it helps i programmed and compiled this problem in netbeans 3.6.
    I uploaded it here: http://www.megaupload.com/?d=45QHZYN1
    you have to wait 45 seconds, the timer is in the right hand corner before you can begin download

    try
          {   System.out.println("2");
              Properties props   = new Properties();
              File file          = new File(System.getProperty("user.home") + File.separator + configFileName);
              BufferedInputStream bis = new BufferedInputStream(new FileInputStream (file));
              props.load(bis);
              if(bis != null)
                  bis.close();
              // Load the information from the properties file.
              String driver = (String)props.get("DB_DRIVER");
              String user    = (String)props.get("DB_USERNAME");
              String passwd  = (String)props.get("DB_PASSWORD");
              String url     = (String)props.get("DB_URL");
              conManager = ConnectionManager.getInstance(driver, user, passwd, url);
    logFilename = fileName.substring(0,fileName.lastIndexOf(".")) + ".log";
              System.out.println("log file name :: " + logFilename);
              fout = new FileOutputStream(new File(logFilename));
         catch (Exception e)
             e.printStackTrace();
      public static void main(String[] args)
        FormsRefresher formsRefresher = new FormsRefresher();
        String filename = "D:\\FCC\\FMB\\CLDUDCMT.fmb";   
        String username ="BPELDEMO";
        String pwd = "BPELDEMO";
        String url = "jdbc:oracle:thin:@PLUTO:1521:seriousim";
        String filename = args[8];
        formsRefresher.initialize(filename);
        formsRefresher.processForm(filename);
    }I am getting the error in the lines quoted bold
    This is the code and i am getting another error also along with that.
    That is Unsatisfiedlink error
    Message was edited by:
    Feroz_CG

  • Index out of bound?

    I dont understand what im doing wrong. :(
    everytime i try to delete an entry from the iterator it gives me the index out of bound msg. what im i doing wrong?
    app code:
                         ConsoleIO.out.print("Which employee to delete? Enter Payroll Number >> ");
                         int emp = ConsoleIO.in.readInt();
                         boolean paynum = sh.checkPayrollNumber(emp);
                         if(paynum == true)
                              sh.removeEmployee(emp);
                         if(paynum == false)
                              ConsoleIO.out.print("Re enter payroll number, it doesnt exist: ");
                              emp = ConsoleIO.in.readInt();
                              paynum = sh.checkPayrollNumber(emp);
                              while(paynum == false)
                                   ConsoleIO.out.print("Re enter Payroll number, it doesnt exist: ");
                                   emp = ConsoleIO.in.readInt();
                                   paynum = sh.checkPayrollNumber(emp);
                                       sh.removeEmployee(emp);
                         ConsoleIO.out.print("Select choice: ");
                         choice = ConsoleIO.in.readInt();
                    }sh.removeEmployee(param)....
    Iterator iter = theStaff.iterator();
            while(iter.hasNext() == true)
                 Employee employee = (Employee) iter.next();
                 if(payrollNumber == employee.getPayrollNumber())
                      theStaff.remove(payrollNumber);
                      ConsoleIO.out.println("Employee " + payrollNumber + " removed\n");
                      employee.display();
            }help!

    use iter.remove() to remove stuff from the collection.
    You can not remove stuff from the collection directly while there is an iterator travesing it.

  • Please iam getting index out of bound exception can any body solve my probl

    Dear all
    iam doing aproject in swing in that one class iam using the below method. Iam getting index out of bound exception. Actually iam trying to access the more that 50mb file at that time its giving out of memory exception after that iam using this method now its giving index out of bound exception, when it is going second time in the while loop. can any body solve my problem. Please give me the solution . Ill be very thankful to you.
    public Vector getFileContent(File fileObj){
    FileInputStream fis = null;
    DataInputStream dis = null;
    Vector v = new Vector();
    byte[] data = null;
    int pos = 0;
    int chunk = 10000;
    int sizePos = 0;
    try{
    fis = new FileInputStream(fileObj);
    int size = (int)fileObj.length();
    dis = new DataInputStream(fis);
    int k = 1;
    if(size <10000){
    data = new byte[size];
    //v.addElement(dis.readFully(data));
    dis.readFully(data);
    v.addElement(data);
    else {
    while(pos < size){
    sizePos = size - chunk*k;
    if(sizePos > 10000){
    chunk = 10000;
    else{
    chunk = sizePos;
    data = new byte[chunk];
    dis.read(data, pos, chunk);
    v.addElement(data);
    System.gc();
    pos = pos + chunk + 1;
    regards,
    surya

    pos = pos + chunk + 1;Why the +1??

  • SelectOne index out of bounds

    Here is my error:
    java.lang.IndexOutOfBoundsException: SelectOne submittedValue's index 2 is out of bounds. It should be between 0 and 0
    What I'm trying to do:
    There are 2 SelectOneChoice Lists that are populated dynamically with by the bean of a selectItems tag.
    I'm using adf faces 19
    1)
    <af:selectOneChoice binding="#{backing_FileManage.ddlTopic}" id="ddlTopic"
    immediate="true" simple="true" autoSubmit="true">
    <f:selectItems id="fill_TopicDdl" value="#{backing_FileManage.fill_TopicDdl}"/>
    </af:selectOneChoice>
    2)
    <af:selectOneChoice binding="#{backing_FileManage.ddlCategory}" simple="true"
    id="ddlCategory" partialTriggers="ddlTopic" autoSubmit="true">
    <f:selectItems id="fill_CategoryDdl" value="{backing_FileManage.fill_CategoryDdl}"/>
    </af:selectOneChoice>
    (1) triggers (2) which is filled by the submitted value from (1). This all works fine. When you select an item in (2) but then want to switch the value in (1), i get the above error. I've checked all the data and fill Items and they all seem to be changing with the data. I'm completely stumped as to whether this is a bug or not.
    any help at all would be greatly appreciated.
    thanks in advance,
    Allen

    Hi,
    I encountered the same issue - warning "index out of bounds". I tried this suggestion above, to reset in the ValueChangeListener, but still got the error. The reason is that I saw the log that the bean method to get the SelectOneChoice items is fired twice. One before the ValueChangeListener method, and one after the ValueChangeListener method. Hence, still got the same error as the reset in ValueChangeListener is executed after the bean method to get the SelectOneChoice items.
    Please help and advise.
    Thanks
    -Mina

  • I am getting this error when submitting through iTunes Producer: *** -[__NSCFString substringToIndex:]: Range or index out of bounds

    I get the following error:
    *** -[__NSCFString substringToIndex:]: Range or index out of bounds
    I don't know why and I am part way through creating all the meta data for my submission so really frustrated this isn't going through.

    It always says:
    1. Apple's web service operation was not successful
    2. ERROR ITMS-3000: "Line 7 column 54: character content of element "publication_type" invalid; must be equal to "Book", "Textbook", "book" or "textbook" at XPath /package/book/metadata/publication_type"
    3. Unable to authenticate the package: 10000317086.itmsp
    I have no clue what this means and how to solve it

  • Array index out of bounds

    I have in my code a method, proceed(), and in the method main, which i called.
    however, the error msg:
    java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0
    could someone please tell me what is wrong with my code?
    // in the code, 2 arrays (keeping the contents and the count are
    //declared
    public static boolean proceed(String[] data, int[] count, int count_c){
    for(int i=0; i<21; i++){
    if ((data[i] == null) || (count[i] != count[i+1])){
    return false;
    if (count_c != count[21] && data[21] == null)
    return false;
    else
    return true;
    public static void main(String[] args){
    Vector v=new Vector();
    //... do something...
    if(proceed(array, count, count_c)){
    cell.setParameters(0, "cellid", array[0])
    cell.setParameters(1, "sac", array[1]);                
         cell.setParameters(21,"tmr_cspu", array[21]);
    v.add(cell);
    count_c++;
    temp[0] = ((OneCell)v.get(0)).printParameters()[0];
    error     -->     java.lang.ArrayIndexOutOfBoundsException: Array index out of range: 0

    sorry, i hope that this is better now. thanks for your comment.
    in the code, 2 arrays (keeping the contents and the count) are declared
    temp is also an array of size 23
    i believe that the problem lies with the method proceedsince the method setParameters is correct...
    i hope that my question is now clearer. thx for the trouble taken to answer me...
    public static boolean proceed(String[] data, int[] count, int count_c){
        for(int i=0; i<21; i++){
            if ((data == null) || (count != count[i+1])){
                return false;
        if (count_c != count[21] && data[21] == null)
            return false;
        else
            return true;
    public static void main(String[] args){
        Vector v=new Vector();
        //... do something...
        if(proceed(array, count, count_c)){
            cell.setParameters(0, "cellid", array[0])
            cell.setParameters(1, "sac", array[1]);
            cell.setParameters(21,"tmr_cspu", array[21]);
            v.add(cell);
            count_c++;
        temp[0] = ((OneCell)v.get(0)).printParameters()[0];

Maybe you are looking for