Iterate through all the records in a table using Java API

Hi All,
What is the easiest way to iterate through all the records in a given table using Java API? I cannot find any methods that will return all records in a table and the only way I can use is to perform a free form search with a condition that is always true. The code works but is pretty ugly. Is there an alternative to this approach?
Thanks!
Kenny

Hi Kenny,
You can construct a new Search object with your table's code name, a new ResultSetDefinition object for your table and just execute this search using the GetResultSet method of CatalogData.
Please look at the following code:
Search search = new Search(<code name of your table>);
ResultSetDefinition rsd = new ResultSetDefinition(<code name of your table>);
rsd.AddField<code name of a field>);
rsd.AddField(<code name of a field>);
String sortField = <code name of your sort field>;
boolean sortAscending = true;
int page = 0; //page number
A2iResultSet rs = <your CatalogData object>.GetResultSet(search, rsd, sortField, sortAscending, page);
for (int i = 0; i < rs.GetRecordCount(); i++)
    Value fieldValue = rs.GetValueAt(i, <code name of a field>);
Hope this helps,
Nir
PS - I really recommend you to start using the new API, as it is much more efficient and straight-forward.

Similar Messages

  • How can i get all the records from three tables(not common records)

    Hi
    I have four base tables at R/3-Side. And i need to extract them from R/3-Side.
    And i dont have any standard extractor for these tables .
    If i create a 'View' on top of these tables. Then it will give only commom records among the three tables.
    But i want all the records from three base tables (not only common).
    So how can i get the all records from three tables. please let me know
    kumar

    You can create separate 3 datasources for three tables and extract data to BW. There you can implement business login to build relation between this data.

  • How to read records from Relationship table using ABAP API's

    Hi All,
    I need to retrieve the records from Relationship table. In Java API's I came to know there is an option to retrieve this. I could not find anything in ABAP API's. Is there any option in ABAP API's to do this.
    Please Suggest.
    Thank You,
    Gajendra.

    Hi Gajendra,
    You can mainly read records from MDM (in a DDIC structure) using ABAP API's using the following function modules/methods:
    1. RETRIEVE: This is used to generically retrieve records from tables. Attributes and Values can also be retrieved.
    2. RETRIEVE SIMPLE: Retrieve records from MDM in a simple way.( simple data types).
    3. RETRIEVE CHECKOUT: Retrieves all checked out ID's.
    4. RETRIEVE ATTRIBUTES: Retrieves attribute(s) from a Taxanomy table.
    You will find all these methods in the following interface
    Interface : IF_MDM_CORE_SERVICES
    Hope it helps.
    *Please reward points if found useful.
    Thanks and Regards
    Nitin Jain

  • Issue in retrieving all the records from ADF Table with multiple row

    Hi,
    As per my requirement, I need to fill the table with multi selected LOV values and when user clicks on commit, I need to save them to database.
    I am using ADF 11g, Multi select table. Using the below ADD method, I am able to add the records but if user clicks on cancel, I need to remove those from view and clear the table as well.
    But the Issue I am facing is, in my cancel method, always I am getting half of the records. Lets assume table contains 100 records but in my cancel method, I am getting only 50 records.
    Please let me know what is the issue in my source code.
    ADD Method:
    public void insertRecInCMProcessParamVal(String commType, String processType, Number seqNumber){       
    try{
    Row row = this.getCmProcessParamValueView1().createRow();
    row.setAttribute("ParamValue7", commType);
    row.setAttribute("ProcessType", processType);
    row.setAttribute("CreationDate", new Date());
    row.setAttribute("CreatedBy", uid);
    row.setAttribute("ParamValueSeqNum", seqNumber);
    row.setAttribute("ProcessedFlag", "N");
    this.getCmProcessParamValueView1().insertRow(row);
    }catch(Exception e){           
    e.printStackTrace();
    Table Code:
    <af:table value="#{bindings.CmProcessParamValueView11.collectionModel}"
    var="row"
    rows="#{bindings.CmProcessParamValueView11.rangeSize}"
    emptyText="#{bindings.CmProcessParamValueView11.viewable ? 'No data to display.' : 'Access Denied.'}"
    fetchSize="#{bindings.CmProcessParamValueView11.rangeSize}"
    rowBandingInterval="1"
    selectedRowKeys="#{bindings.CmProcessParamValueView11.collectionModel.selectedRow}"
    selectionListener="#{bindings.CmProcessParamValueView11.collectionModel.makeCurrent}"
    rowSelection="multiple"
    binding="#{backingBeanScope.backing_app_RunCalcPage.t1}"
    id="t1" width="100%" inlineStyle="height:100px;" >
    <af:column sortProperty="ParamValue6"
    sortable="true"
    headerText="#{bindings.CmProcessParamValueView11.hints.ParamValue6.label}"
    id="c1" visible="false">
    <af:inputText value="#{row.bindings.ParamValue6.inputValue}"
    label="#{bindings.CmProcessParamValueView11.hints.ParamValue6.label}"
    required="#{bindings.CmProcessParamValueView11.hints.ParamValue6.mandatory}"
    columns="#{bindings.CmProcessParamValueView11.hints.ParamValue6.displayWidth}"
    maximumLength="#{bindings.CmProcessParamValueView11.hints.ParamValue6.precision}"
    shortDesc="#{bindings.CmProcessParamValueView11.hints.ParamValue6.tooltip}"
    id="it3">
    <f:validator binding="#{row.bindings.ParamValue6.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="ParamValue7"
    sortable="true"
    headerText="Comm Type"
    id="c2">
    <af:inputText value="#{row.bindings.ParamValue7.inputValue}"
    label="#{bindings.CmProcessParamValueView11.hints.ParamValue7.label}"
    required="#{bindings.CmProcessParamValueView11.hints.ParamValue7.mandatory}"
    columns="#{bindings.CmProcessParamValueView11.hints.ParamValue7.displayWidth}"
    maximumLength="#{bindings.CmProcessParamValueView11.hints.ParamValue7.precision}"
    shortDesc="#{bindings.CmProcessParamValueView11.hints.ParamValue7.tooltip}"
    id="it4">
    <f:validator binding="#{row.bindings.ParamValue7.validator}"/>
    </af:inputText>
    </af:column>
    <af:column sortProperty="ParamValue8"
    sortable="true"
    headerText="#{bindings.CmProcessParamValueView11.hints.ParamValue8.label}"
    id="c3" visible="false">
    <af:inputText value="#{row.bindings.ParamValue8.inputValue}"
    label="#{bindings.CmProcessParamValueView11.hints.ParamValue8.label}"
    required="#{bindings.CmProcessParamValueView11.hints.ParamValue8.mandatory}"
    columns="#{bindings.CmProcessParamValueView11.hints.ParamValue8.displayWidth}"
    maximumLength="#{bindings.CmProcessParamValueView11.hints.ParamValue8.precision}"
    shortDesc="#{bindings.CmProcessParamValueView11.hints.ParamValue8.tooltip}"
    id="it2">
    <f:validator binding="#{row.bindings.ParamValue8.validator}"/>
    </af:inputText>
    </af:column>
    </af:table>
    Backing Bean Code:
    DCBindingContainer dcBindings=(DCBindingContainer)getBindings();
    DCIteratorBinding dcIterator=dcBindings.findIteratorBinding("CmProcessParamValueView1Iterator");
    RowSetIterator rs = dcIterator.getRowSetIterator();
    System.out.println("In Cancel Row Count is : "+ rs.getRowCount());
    if (rs.getRowCount() > 0) {
    Row row = rs.first();
    row.refresh(Row.REFRESH_UNDO_CHANGES);
    row.remove();
    while (rs.hasNext()) {
    int count = rs.getRowCount();
    System.out.println("Count is : "+ count);
    Row row = rs.next();
    System.out.println("Row === "+ row);
    if(row != null){                   
    row.refresh(Row.REFRESH_UNDO_CHANGES);
    row.remove();
    Thanks.

    Issue resolved.
    remove selectionListener and selectedRowKeys....
    code to get all the selectedRows.
    RowSetIterator rs = dcIterator.getRowSetIterator();
    RowKeySet rks = this.t1.getSelectedRowKeys();
    Iterator rksIter = rks.iterator();
    while (rksIter.hasNext()) {
    List l = (List) rksIter.next();
    Key key = (Key)l.get(0);
    Row row = rs.getRow(key);
    Thanks.

  • How do I update all the records in a table from the contents of another table?

    Ok some situation information, I have a pervasive database that runs our accounting software that I am pulling a product list from.  I have that list stored in a table in SQL.  From time to time we update the records in the pervasive database and
    I want to be able to pull those changes into the SQL table.  I don't want to drop the table and recreate it because if a product is no longer active in the pervasive database it will not be returned by the query (if I return all the products even the
    inactive ones I will get thousands of records rather than just a few hundred) and I do not want to loose the products from the table that are now inactive.  
    So what I want to be able to do is pull the list from pervasive, compare it to the list that exists in SQL and update any changed records, add any new records, and leave any now missing records alone(missing from the pervasive list but present in the SQL
    list).  I have no trouble pulling the records from pervasive (now) but I am a little stumped on how to do the rest.  I am not sure if this is a situation to use MERGE or not.  I also do not really need this to be done on a regular basis as the
    changes do not happen often enough for that, the ability to manually trigger it would be enough.
    Any help would be appreciated.
    David

    Hi David,
    lets say you want to go with the lookup transformation.
    lets say u want to move the data from server A table A1 to Server B table B1
    What you need to do is the following:
    Cofigure the Lookup options as follows:
    - In general -> Specify how to handle rows with no macthing entries -> "Redirect Rows to no Match Output"
    -  In Connection -> Set the ole db connection to the Server B and select the table B you want to lookup the values in your case the table where you want to input the changes 
    -  In columns -> link the product column from table A to product column in table B. And do not select any rows to output.
    - now your component is ready next you need to input. so when u connect your lookup to the destination component You will get an option to select which output you want to use - use "Lookup No Match Output".
    this will actually just allow you to add only new items only to the table B.
    Teddy Bejjani - BI Specialist @ Netways

  • Adding Record in a MDM table using Java APIs

    While inserting records in a table, we have to make sure that if there is any field of type lookup, particular value entered is either present in the lookuptable or we insert in the lookup table.
    two questions/clarifications
    1.     if there are more than one lookup tables, we have to do the same thing for all the tables????
    2.    to insert in the lookup tables, i have to find the record ID of the particular entry in the lookup table and then use the recordid to enter value in the main table. Is it correct??
    Thanks and Regards
    Nitin Mahajan
    Edited by: Nitin Mahajan on May 14, 2008 12:34 PM
    Edited by: Nitin Mahajan on May 14, 2008 12:36 PM

    Hi Nitin,
    You will need to have the value present in the lookup table and then take the record id of that entry from the lookup table to make an entry in the main table record (for all the fields in the main table which are of type lookup).
    Sample code: This code is from MDM 5.5 sp4.
    A2iFields Fields = new A2iFields();
    Fields = addField(<recordid from the lookup table>, <Field code in main table>, Fields);
    int RID = catalog.AddRecord(<repository>,Fields, 0, 0);
    Hope it helps.
    Thanks,
    Avinash.

  • How do I get the rowcount of target table using Sunopsis API in ODI 10g ?

    Hi guys,
    Actually I want to send an alert mail once interface is run from a package. I have included OdiSendMail alert which sends a mail once interface is run.
    Could anyone please tell how to get the no of rows inserted in the target table from Sunopsis API.
    I tried using <%=odiRef.getNbRows( )%> but this did not work for me. Since I'm a beginner, could you please help me out
    This is my ODI send mail format
    " Data population has been completed successfully at <%=odiRef.getSysDate( )%>
    Total rows in target table are: <-- need some API code --> ''
    Regards,
    Clinton
    Edited by: LawrenceClinton on Feb 25, 2013 8:53 PM

    Hi
    Create project variable with below details
    Variable_name: Total_Row_Count
    Variable Type: Refresh Variable
    Definition Tab:
    Datatype: Numeric
    Action: Not Persistent
    Refreshing Tab:
    Schema: provide your Work Repository Schema and be
    SELECT log.nb_row
    FROM snp_step_log log, snp_scen_step step
    WHERE log.nno = step.nno
    AND step.scen_no =( SELECT scen_no FROM snp_scen_step WHERE step_name='<%=odiRef.getPrevStepLog( "STEP_NAME" )%>' )
    AND log.sess_no = '<%=odiRef.getSession( "SESS_NO" )%>'low code
    AND step.step_name = '<%=odiRef.getPrevStepLog( "STEP_NAME" )%>'
    Note: Add this variable after interface step in your package (after the interface any where you can place), you can add this variable before ODISendEmailNotification Step in your package
    Call this varciable *#Total_Row_Count* in ODISendEmail Notification
    eg:
    Data has been populated successfully at <%=odiRef.getSysDate( )%>
    Total no of rows populated are : *#Total_Row_Count*
    It will work
    Regards,
    Phanikanth
    Edited by: Phanikanth on Feb 28, 2013 1:13 AM
    Edited by: Phanikanth on Feb 28, 2013 1:14 AM

  • Get Field Values from Table using Java api

    I am using the example java code "RetrieveLimitedRecords" that can be found at :
    https://help.sap.com/javadocs/MDM71/current/API/index.html
    The code give the expected result and retrieves the record count for the main table
    Now I want to get the values of the fields for one record
    I added the lines:
    Record[] records = recordResultSet.getRecords() ;
    FieldId[] fields = records[0].getFields();
    System.out.println ("Field Length = "+fields.length);
    and the output is::
    Field Length = 0
    How can I get the fields of the record and read their values?
    Thanks
    Nicolas

    Assuming you want every field, the equivalent of "SELECT *" in SQL, you can use the RepositorySchema object to get a TableSchema, and with that get all FieldIds for the table.
    If your RepositorySchema variable is rs it would be something along the lines of:
    TableSchema mainTableSchema = rs.getTableSchema(mainTableId);
    ResultDefinition rd = new ResultDefinition(mainTableId);
    rd.setSelectFields(mainTableSchema.getFieldIds());
    Hope this helps,
    Greg

  • How to update all the record for a particular column in a table based on search criteria.

    Hi All,
    I am new to ADF. I have a requirement, where i have to perform mass update on a table.
    Scenario:
    Ex: I have a dept manual search region. where i search with deptId: 20. I get 20 records in my table. now i have  another region where i have a inputchoice list which contains all the columns names that exists in dept table. Beside that i have a input text box and an update button
    Now user, first searches with dept id:20 and clicks on search button, where it shows 20 record in the table. He then select a column from input choicelist(ex: ManagerId), then enters new value in the input box(ex: abc) then clicks on update button.
    Now i want, all the records in the ManagerId column with dept id:20 to be updated with the new value "abc"
    Can anyone help me with the code.
    Thanks in advance..

    Hi,
    If you go to your VO and generate the ViewObjectImpl, in there you can create a method which will contain two parameters, 1 the attribute name and 2 the value.
    Then you can follow something like explained in this post:
    ADF Tutorial: How to apply bulk actions to a view object rows
    The only difference is that you will need to create a method like this:
    public void updateAttribute(String attribute, Integer value){
            RowSetIterator iter = createRowSetIterator(null);
            while (iter.hasNext()){
                Row row = iter.next();
                row.setAttribute(attribute, value);
    Then you expose that as a client interface and then after you filter your table by your criteria you just need to execute this method passing the right parameters.
    Regards

  • Should I use BCS my backend database will update all the record of the sql table daily.

    Should I use the BCS where the database table is going to be updated daily.
    All the records will be updated on daily basis.
    Why should I use BCS when I can connect to the sql server directly and  update the records that I need.
    What additional benefits can I get from BCS , I do not need the search functionality.
    Regards

    Hi,
    According to description, my understanding is that you want to know if you need to use Business Connectivity Services to connect external SQL table.
    Business Connectivity Services is a centralized infrastructure in SharePoint 2013 and Office 2013 that supports integrated data solutions.
    Business Connectivity Service will provide a familiar user interface to manage sql table data. It is more security for reading and writing data to external sql table.
    Here is a detailed article for your reference:
    https://technet.microsoft.com/en-us/library/ee661740(v=office.15).aspx
    https://msdn.microsoft.com/en-us/library/office/ee556440(v=office.14).aspx
    Best Regards
    Forum Support
    Please remember to mark the replies as answers if they help and unmark them if they provide no help. If you have feedback for TechNet Subscriber Support, contact
    [email protected]
    Jerry Guo
    TechNet Community Support

  • HELP:script that iterates through all opened documents and rezise them to match the biggest one.

    Hi,
    I'm making a batch processing action and I really need a script that iterates through all open documents, finds the one with the biggest image size and then iterates one more time to change the rest of the documents to the same image size dimensions. At the end all documents must share identical image size.  I'll really  appreciate if someone can put a quick script for doing this. Thank you !

    I think should do…
    #target photoshop
    if (documents.length > 1) {
         var smallest = 1000000; // Set beyond any size you may be expecting this should do?
         for (var a = 0; a < documents.length; a++) {
              smallest = Math.min(smallest,documents[a].width.as('px'));
         for (var b = 0; b < documents.length; b++) {
              if (documents[b].width.as('px') != smallest) {
                   app.activeDocument = documents[b];
                   var newWidth = new UnitValue(smallest, 'px');
                   documents[b].resizeImage(newWidth,undefined,undefined,ResampleMethod.BICUBICSMOOTHER);
    }else{
         alert("NOT enough docs to resize?");

  • Inserting all the records in particular period

    Hi.,
    I am using jdev11.1.5
    I had created a reccustdocEO and its corresponding VO with the following querry This VO doesnot displayd in the UI
    SELECT RecCustDocHdEO.RCDOC_BU,
           RecCustDocHdEO.RCDOC_PFX,
           RecCustDocHdEO.RCDOC_DOC_TYPE,
           RecCustDocHdEO.RCDOC_DOC_MODE,
           RecCustDocHdEO.RCDOC_DOC_NO,
           RecCustDocHdEO.RCDOC_PLNT,
           RecCustDocHdEO.RCDOC_CUST_ID,
           RecCustDocHdEO.RCDOC_DOC_DATE,
           RecCustDocHdEO.RCDOC_DOC_YEAR,
           RecCustDocHdEO.RCDOC_DOC_PERIOD,
           RecCustDocHdEO.RCDOC_BANK_ID,
           RecCustDocHdEO.RCDOC_CURRENCY,
           RecCustDocHdEO.RCDOC_EXCHANGE_RATE,
           RecCustDocHdEO.RCDOC_TOT_AMT,
           RecCustDocHdEO.RCDOC_CUST_REFERENCE,
           RecCustDocHdEO.RCDOC_CUST_REFERENCE1,
           RecCustDocHdEO.RCDOC_START_YEAR,
           RecCustDocHdEO.RCDOC_START_PERIOD,
           RecCustDocHdEO.RCDOC_LAST_PROC_YEAR,
           RecCustDocHdEO.RCDOC_LAST_PROC_PERIOD,
           RecCustDocHdEO.RCDOC_FREQUENCY,
           RecCustDocHdEO.RCDOC_PROC_NO,
           RecCustDocHdEO.RCDOC_PROC,
           RecCustDocHdEO.RCDOC_STATUS,
           RecCustDocHdEO.RCDOC_CRE_BY,
           RecCustDocHdEO.RCDOC_CRE_DATE,
           RecCustDocHdEO.RCDOC_UPD_BY,
           RecCustDocHdEO.RCDOC_UPD_DATE,
           RecCustDocHdEO.RCDOC_REC_TYPE,
           RecCustDocHdEO.RCDOC_LAST_PROC_DATE,
           RecCustDocHdEO.RCDOC_PLANT,
           RecCustDocHdEO.ROWID
    FROM REC_CUST_DOC_HD RecCustDocHdEO
    WHERE RecCustDocHdEO.RCDOC_STATUS = 'P'
    ORDER BY RecCustDocHdEO.RCDOC_DOC_YEAR,RecCustDocHdEO.RCDOC_DOC_PERIODconsider the table contains datas such as
    year        Period   Docno
    201011     2         1125556
    201011     2         5689898
    201011     3         5689444
    If the user clicks the button all the records in period2 should get inserted to another table gljrnlhd
    Pls verify the link if i am not clear
    http://www.4shared.com/photo/OK1hXBsW/E008.html

    Hi,
    To copy the values from one view object to another you can use a method in the application module that will be called when the button is clicked.
    The code in the method could be something like:
        //Create an iterator based on the source view object
        RowSetIterator iter=getViewObject1().createRowSetIterator(null);
        iter.reset();
        //iterate through the first view object
        while(iter.hasNext()){
            Row current=iter.next();
            if("2".equals((current.getAttribute("Period")){
                //create a new empty row from the second view object
                Row newRow=getViewObject2().createRow();
                //copy all attributes from one view object to the other
                newRow.setAttribute("attr1", current.getAttribute("attr1"));
                newRow.setAttribute("attr2", current.getAttribute("attr2"));
                newRow.setAttribute("attr3", current.getAttribute("attr3"));
                //insert the new row to the second view object
                getViewObject2().insertRow(newRow);
        //RowSetIterators should always be closed
        iter.closeRowSetIterator();
        }I hope I understood your use-case correctly.
    Gabriel.

  • Delete the records in a table from forms

    Oracle forms6i
    Hai All
    I am using forms6i and my need is i have generated a forms and the output is viewed through tables and i need to to delete all the records in the table from my forms while executing next time pls tell me
    Regards
    Srikkanth.M

    hi
    please try something like this.
    Begin
    Delete From Master_Tbl Cascade;
    forms_ddl('Commit');
    End;sarah

  • Database adapter not returning all the records

    I've taken over a BPEL from a developer who left the organization and have been having an issue during our User Acceptance Testing. We are querying a table that will return the insurance enrollment information for employee's and their dependants. When an employee change plans, or adds people, the old plan is terminated and a new once is created. When this happens there will be two records on the database to show the old plan and the new plan.
    When we run the SQL thru JDEV or SQLDeveloper, the data comes out fine. When we run it through a BPEL Database Adapter we are only getting one of the rows returned.
    I have created a small tester BPEL that is easily modified and deployed to run the same query to try multiple configurations changes within the DBAdapter. What I have found is all the records are returned when the "Return single result set" box on the DBAdapter Wizard is unchecked. When it's checked then it only returns one record for the employees with an old and a new plan.
    Can someone explain what the "Return single result set" option does, and what the impact will be if it's unchecked?

    Hello,
    In same way i am using two parent-child(header-line) tables. they have one to many relationship.
    I want to generate XML which contains multiple line items under a child elements for header elements.
    I have tried it but i am getting only one line under that child item. i am using jdev10.0.3.3.0
    can u help me please.
    -regards
    satyendra

  • Iterate through all documents

    Hi,
    We have a container which contains *1 million* documents, each of which has size 5K. Container type is wholedocument. We need to iterate through all document regualrly using container.getAllDocuments(containerTxn, DBXML_LAZY_DOCS | DBXML_NO_INDEX_NODES). For each document, we will perform a xpath query in xml document in memory.
    The problem here is about whether we should use transaction. If transaction is used, getAllDocuments will report "Lock table is out of available lock entries" error when it scan about 9383 ducuments. Here are lock setting:
    envp->set_lk_max_lockers(6000);
    envp->set_lk_max_locks(6000);
    envp->set_lk_max_objects(8000);
    We have 1 million documents, it is impossible to set lock object to 1 million.
    My questions:
    (1) Is this normal? If so, why performing a dbxml query on the container doesn't cause such an error. I believe dbxml query has to iterate all of documents too.
    (2) Is it possible to use a seek position for getAllDocuments? Thus we can commit transaction every iterating 1000 documents, and then continue the iteration from the last seek position.
    (3) if we don't use transaction to call getAllDocuments, what possible problems will happen? Other threads are using transaction to read/update the documents.
    Thanks.
    -Yuan

    Yuan,
    The quickest thing to try is to add the flag DB_READ_COMMITTED to getAllDocuments(). That may reduce the number of locks you need. While you may not be able to set the various lock parameters to 1 million, you should set them much larger than you have now (e.g. 50k - 100k) for this sort of operation.
    Not using transactions at all can lead to inconsistent data mostly related to index consistency with document content. Depending on the nature of your updates it may be safe. You could get stray exceptions but nothing should crash. E.g. if you are only adding/removing documents you are probably safe without transactions; although you might iterate to a document that's been removed so you'll see an exception which would have to be ignored. I'm not 100% certain this will work well but if you can test it in a high-update environment and see no issues that will tell you. The read side will not interfere with the updates.
    As for "seeking" if you look under the covers getAllDocuments() is really just a wrapper for an index lookup on the name index. The XmlIndexLookup API is quite flexible in terms of returning ranges. If you want to look into returning ranges of documents, do this:
    1. look at the code in XmlContainer.cpp in the function "getDocs()". It uses XmlIndexLookup to perform the operation.
    2. look at the XmlIndexLookup API to figure out how to turn the lookup into a range lookup vs looking up ALL items in the index
    Using XmlIndexLookup and tracking the name of your last-used document you can easily ask for all documents "higher" than that one. Further, if you know how your documents are named lexicographically you can give it a maximum as well if you wanted, but given that you can set your XmlQueryContext to be lazy you can simply iterate N times to get the next N documents without paying a penalty retrieving any documents you don't need.
    For the sort of thing you are doing I highly recommend using XmlIndexLookup directly (with or without transactions) to get the flexibility you need. XmlContainer::getAllDocuments() is merely a "convenience" layer on that class.
    Regards,
    George

Maybe you are looking for

  • Port Forwarding for Security Cameras

    I have a Cisco RV220W that I am trying to set up to view the store security cameras remotely. I can view the cameras when connected to the LAN but not with a WAN connection. The Video recorder is an ADT system.  Always Allow RTSP:TCP Enabled Any 192.

  • Moving iTunes library to external hard drive

    I would like to free up some space on my internal hard drive and move my iTunes music, movies and videos to an external hard drive. Can this be done and iTunes still access the files to play or sync them to my iPad when needed? If so, what do I need

  • Can't transfer movies from iTunes to ATV.

    I can download movies to my Pro and I can download movies to my ATV. But I can't move rented movies from the iTunes library on the Pro to the Apple TV. When I hit the Sync button I get this error; "Live Free or Die Hard" was not copied to the Apple T

  • Dsl won't connect to Internet help!!

    I have tried everything and this DSL will not work!! It's really frustrating considering that I do a lot online. Sometimes it works and some times it don't.<br><br>When I call it's the same ole same ole we will send a tech to check my equipment insid

  • Problem Using Check Box in a Report

    Hi all, I have a simple SQL report with a check box.The problem is when paginating forward and backward in the report(Next and Previous),The report region is refreshed and all the check boxes is reset to unchecked. P.S: I'm using APEX 4.0. Any Help w