Range Paging rownum question

I am using JDeveloper 11.1.1.3.0 and I have a question about the range paging access mode and I went through some docs but couldn't get myself to answer all the questions I have.
1. In the VO's I set the Access Mode to Range Paging and set the Range Size to 25 but I only have (at this time) 19 rows. But in the logs, I notice:
"<OracleSQLBuilderImpl><bindRangePagingParams> [2540] setting rownum query between (0, 28)"
which doesn't make sense. Firstly, 0-28 is not a 25 row range and secondly, why is the SQL even accessing anything outside the range of 25 when there are only 19 rows for the VO?
2. Also, I have two buttons on the page (page fragment #1) which performs operations (add a new row, version an existing row) by having the user go to a different page fragment (page fragment #2). After the user submits the info and returns to the original page (page fragment #1), I see this message in a pop-up:
"Cannot navigate with unposted rows in a RangePaging RowSet"
which, although not an error, doesn't make sense because the info was saved in the DB.
Hope my questions make sense.

I don't have the url reference handy for the "official" word, but I recall that jdev overfetches 3 records in range paging mode.
It's not known that there are only 19 records until the first batch is fetched, which is why you see 0-28.
Just noticed the second question - no comment on that one, unfortunately ;)
John

Similar Messages

  • ADF BC: range paging on dynamic view object

    hi!
    i have a dynamically generated sql query and i want to get the results one page at a time. for this to work i create at runtime a view object and try to use range paging:
    String sql = "SELECT ...";
    ViewObject vo = appModule.createViewObjectFromQueryStmt("tmpVO"+System.currentTimeMillis(), sql);
    vo.setRangeSize(pageSize);
    vo.setAccessMode(RowSet.RANGE_PAGING);
    vo.scrollToRangePage(pageNo);
    vo.getEstimatedRowCount();
    Row[] rows = vo.getAllRowsInRange();
    vo.remove();
    but when i run this it was pretty slow. so i traced the database session and saw that the executed query was the sql string, not the range paging select (SELECT * FROM (SELECT /*+ FIRST_ROWS */ IQ.*, ROWNUM AS Z_R_N FROM (...).
    i use range paging on other view objects that are not dynamically generated and it works fine. please tell me what can i do to get only the specified page from the data base.
    thank you
    Edited:
    here is the select i run:
    SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    here is the jbo.debugoutput that was generated; it includes the creation of the app module, the execution of SearchEntityPkVO (a predefined vo, not paged), then the execution of the code above:
    08/07/22 13:56:52 [436] Connected to Oracle JBO Server - Version: 10.1.3.36.73
    08/07/22 13:56:52 [437] mPCollUsePMgr is false
    08/07/22 13:56:52 [438] ViewObjectImpl.mDefaultMaxRowsPerNode is 70
    08/07/22 13:56:52 [439] ViewObjectImpl.mDefaultMaxActiveNodes is 30
    08/07/22 13:56:52 [440] Created root application module: 'enermet.aim.search.model.SearchAppModule'
    08/07/22 13:56:52 [441] Locale is: 'en_US'
    08/07/22 13:56:52 [442] ApplicationPoolImpl.resourceStateChanged wasn't release related. No notify invoked.
    08/07/22 13:56:52 [443] Oracle SQLBuilder: Registered driver: oracle.jdbc.driver.OracleDriver
    08/07/22 13:56:52 [444] Creating a new pool resource
    08/07/22 13:56:52 [445] Trying connection/2: url='jdbc:oracle:thin:@AIMTEST:1521:AIM' ...
    08/07/22 13:56:53 [446] Successfully logged in
    08/07/22 13:56:53 [447] JDBCDriverVersion: 10.1.0.5.0
    08/07/22 13:56:53 [448] DatabaseProductName: Oracle
    08/07/22 13:56:53 [449] DatabaseProductVersion: Oracle Database 10g Enterprise Edition Release 10.2.0.2.0 - Production With the Partitioning, OLAP and Data Mining options
    08/07/22 13:56:53 [450] <AM MomVer="0">
    <cd/>
    <CONN/>
    </AM>
    08/07/22 14:00:21 [985] SearchEntityPkVO>#q old SQLStmtBufLen: 234, actual=163, storing=223
    08/07/22 14:00:21 [986] select sep.pk_name, sep.position
    from MD_SEARCH_ENTITY_PK sep
    inner join MD_SEARCH_ENTITIES se
    on se.entity_id = sep.entity_id
    where se.name = :VarEntityName
    08/07/22 14:00:21 [987] ViewObject: SearchEntityPkVO Estimated Row Count Query Statement:
    08/07/22 14:00:21 [988] "SELECT count(1) FROM (select sep.pk_name, sep.position
    from MD_SEARCH_ENTITY_PK sep
    inner join MD_SEARCH_ENTITIES se
    on se.entity_id = sep.entity_id
    where se.name = :VarEntityName) "
    08/07/22 14:00:21 [989] Bind params for ViewObject.getQueryHitCount: SearchEntityPkVO
    08/07/22 14:00:21 [990] Binding param "VarEntityName": Unit
    08/07/22 14:00:21 [991] ViewObject: SearchEntityPkVO Estimated Row Count: 2
    08/07/22 14:00:21 [992] Clear QueryCollection in cache for VO tmpVO1216724421562
    08/07/22 14:00:21 [993] ViewObject: tmpVO1216724421562 close prepared statements...
    08/07/22 14:00:21 [994] tmpVO1216724421562>#q computed SQLStmtBufLen: 641, actual=601, storing=631
    08/07/22 14:00:21 [995] SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    08/07/22 14:00:21 [996] *** createViewAttributeDefImpls: oracle.jdbc.driver.T4CPreparedStatement@4e6
    08/07/22 14:00:21 [997] Bind params for ViewObject: tmpVO1216724421562
    08/07/22 14:00:21 [998] Clear QueryCollection in cache for VO tmpVO1216724421562
    08/07/22 14:00:21 [999] ViewObject: tmpVO1216724421562 close prepared statements...
    08/07/22 14:00:21 [1000] Column count: 7
    08/07/22 14:00:21 [1001] tmpVO1216724421562>#q computed SQLStmtBufLen: 641, actual=601, storing=661
    08/07/22 14:00:21 [1002] SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    08/07/22 14:00:21 [1003] ViewObject: tmpVO1216724421562 Estimated Row Count Query Statement:
    08/07/22 14:00:21 [1004] "SELECT count(1) FROM (SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    08/07/22 14:00:21 [1005] Bind params for ViewObject.getQueryHitCount: tmpVO1216724421562
    08/07/22 14:00:26 [1006] ViewObject: tmpVO1216724421562 Estimated Row Count: 32732
    08/07/22 14:00:26 [1007] Column count: 7
    08/07/22 14:00:26 [1008] ViewObject: tmpVO1216724421562 Created new QUERY statement
    08/07/22 14:00:26 [1009] tmpVO1216724421562>#q old SQLStmtBufLen: 661, actual=601, storing=631
    08/07/22 14:00:26 [1010] SELECT * FROM (SELECT /*+ FIRST_ROWS */ IQ.*, ROWNUM AS Z_R_N FROM (SELECT UnitEO.UNIT_TYPE, UnitEO.UNIT_NR,
    UnitTypeEO.USER_UNIT_TYPE,
    UnitEO.UNIT_NR UNIT_NUMBER,
    UnitEO.NUMBER_PLATE_ID,
    AreaEO.AREA_NAME,
    UnitEO.SERIAL_NR
    FROM NW_UNIT UnitEO,
    NW_UNIT_DETAILS NwUnitDetailsEO,
    NW_UNIT_TYPE UnitTypeEO,
    NW_AREA AreaEO,
    NW_COMMUNICATION_COMPUTER ComputerEO
    WHERE
    UnitEO.deleted IS NULL
    AND UnitEO.UNIT_NR = NwUnitDetailsEO.UNIT_NR (+)
    AND UnitEO.UNIT_TYPE = NwUnitDetailsEO.UNIT_TYPE (+)
    AND UnitEO.UNIT_TYPE = UnitTypeEO.UNIT_TYPE
    AND UnitEO.AREA_ID = AreaEO.AREA_ID (+)
    AND UnitEO.COMPUTER_ID = ComputerEO.COMPUTER_ID (+)
    ) IQ WHERE ROWNUM < :0) WHERE Z_R_N > :1
    08/07/22 14:00:26 [1011] Bind params for ViewObject: tmpVO1216724421562
    08/07/22 14:00:26 [1012] setting rownum query between (0, 23)
    08/07/22 14:00:26 [1013] ViewObject: tmpVO1216724421562 close prepared statements...
    PS: I am using JDev 10.1.3.36.73

    You have a couple of choices. You could create one view object with a bind variable parameter(s) and in the application module you have 10 instances of that VO with appropriate values set for the bind variable in each instance.
    Or if you are using the LOV feature of a VO then you can set an attribute to point to one VO and then using a view cirteria applied to that specific LOV you can then "filter" the data that would appear in that LOV.
    Does that help?
    Grant Ronald

  • Issue using Range Paging Incr in  VO performance tuning

    Hi All,
    I have a View Object, where I have given the following tuning conditions
    1. All rows option with Batch Size - 250 (As Needed)
    2. Query Optimizer - FIRST_ROWS_250
    3. Access Mode Range Paging Incremental with Range Size - 50 and cache factor - 5
    Now when I run my application, I am getting the following error
    *<OracleSQLBuilderImpl> <bindRangePagingParams> [36909] setting rownum query between (1200, 1453)*
    *<ViewRowSetIteratorImpl> <scrollRange> [36910] oracle.jbo.common.JboAssert: (Assertion Failed) mSize < 0 after range page adjustment of mSize.*
    *     at oracle.jbo.common.Diagnostic.ASSERT(Diagnostic.java:302)*
    *     at oracle.jbo.common.Diagnostic.ASSERT(Diagnostic.java:325)*
         at oracle.jbo.server.ViewRowSetIteratorImpl.scrollRange(ViewRowSetIteratorImpl.java:1346)
         at oracle.jbo.server.ViewRowSetIteratorImpl.setRangeStartWithRefresh(ViewRowSetIteratorImpl.java:2729)
         at oracle.jbo.server.ViewRowSetIteratorImpl.setRangeStart(ViewRowSetIteratorImpl.java:2714)
         at oracle.jbo.server.ViewRowSetImpl.setRangeStart(ViewRowSetImpl.java:2924)
         at oracle.jbo.server.ViewObjectImpl.setRangeStart(ViewObjectImpl.java:10099)
         at oracle.adf.model.binding.DCIteratorBinding.setRangeStart(DCIteratorBinding.java:3419)
         at oracle.adfinternal.view.faces.model.binding.RowDataManager._bringInToRange(RowDataManager.java:103)
         at oracle.adfinternal.view.faces.model.binding.RowDataManager.setRowIndex(RowDataManager.java:58)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$FacesModel.setRowIndex(FacesCtrlHierBinding.java:603)
         at oracle.adfinternal.view.faces.renderkit.rich.TreeRendererUtils.computeCurrentContainerRowCount(TreeRendererUtils.java:2070)
         at oracle.adfinternal.view.faces.renderkit.rich.TreeRendererUtils.getCurrentContainerRowCount(TreeRendererUtils.java:2042)
    Additional Info:
    1. In VOIterator in Page def file I have given Range Size as 50 and in table fetchSize="#{bindings.MscOrdersVO11.rangeSize}"
    2. I ran the sql from VO in DB and found the row count to be 1264.
    Can some one please let me know where I am going wrong here.
    Thanks in advance.
    Ragu

    Hi Timo,
    Jdev Version - 11.1.1.4.0
    Also I tried using Range Paging and I am getting Missing IN or OUT parameter at index:: 9 issue. But the other issue
    "oracle.jbo.common.JboAssert: (Assertion Failed) mSize < 0 after range page adjustment of mSize" did not appear.
    IQ  WHERE ROWNUM < :Bind_RangePage_High) WHERE Z_R_N > :Bind_RangePage_Low) "
    *<ViewObjectImpl> <getQueryHitCount> [35841] Bind params for ViewObject.getQueryHitCount: MscOrdersVO1*
    *<ViewRowSetImpl> <doSetWhereClauseParam> [35842] MscOrdersVO1 ViewRowSetImpl.doSetWhereClause(-1, vPlanId, 15320)*
    *<ViewRowSetImpl> <doSetWhereClauseParam> [35843] MscOrdersVO1 ViewRowSetImpl.doSetWhereClause(-1, vPlanId1, null)*
    *<ViewRowSetImpl> <doSetWhereClauseParam> [35844] MscOrdersVO1 ViewRowSetImpl.doSetWhereClause(-1, vBasePlanId, 15320)*
    *<ViewRowSetImpl> <doSetWhereClauseParam> [35845] MscOrdersVO1 ViewRowSetImpl.doSetWhereClause(-1, vBasePlanId1, 0)*
    *<OracleSQLBuilderImpl> <bindParamValue> [35846] Binding param "vPlanId": 15320*
    *<OracleSQLBuilderImpl> <bindParamValue> [35847] Binding null of type 12 for "vPlanId1"*
    *<OracleSQLBuilderImpl> <bindParamValue> [35848] Binding param "vBasePlanId": 15320*
    *<OracleSQLBuilderImpl> <bindParamValue> [35849] Binding param "vBasePlanId1": 0*
    *<ViewObjectImpl> <getQueryHitCount> [35850] ViewObjectImpl.getQueryHitCount failed...*
    *<ViewObjectImpl> <getQueryHitCount> [35851] java.sql.SQLException: Missing IN or OUT parameter at index:: 9*
    *     at oracle.jdbc.driver.OraclePreparedStatement.processCompletedBindRow(OraclePreparedStatement.java:1821)*
         at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3576)
         at oracle.jdbc.driver.OraclePreparedStatement.executeQuery(OraclePreparedStatement.java:3625)
         at oracle.jdbc.driver.OraclePreparedStatementWrapper.executeQuery(OraclePreparedStatementWrapper.java:1491)
         at weblogic.jdbc.wrapper.PreparedStatement.executeQuery(PreparedStatement.java:135)
         at oracle.jbo.server.ViewObjectImpl.getQueryHitCount(ViewObjectImpl.java:4523)
         at oracle.jbo.server.ViewObjectImpl.getQueryHitCount(ViewObjectImpl.java:4437)
    Thanks,
    Ragu
    Edited by: 867250 on Jul 26, 2012 5:58 AM
    Edited by: 867250 on Jul 26, 2012 5:58 AM

  • Named View Criteria and Range paging don't work together

    Hi,
    I am using a named view criteria for a view whose access mode is set to range paging.
    When I use the named view criteria on my page to do a search I am getting the below error. If I don't use range paging as access mode for the view I don't get this error. Looks like when I use the search it doesn't pass the row numbers properly and they are not set in the query.
    Is this a known issue or am I missing something?
    Thanks
    SQL error during statement preparation.  Statement: Select *
      From (Select /*+ FIRST_ROWS */
             IQ.*, ROWNUM As Z_R_N
              From (Select Persons.PRINCIPAL_NAME,
                           Persons.PERSON_ID,
                           Persons.TITLE,
                           Persons.FIRST_NAME,
                           Persons.LAST_NAME,
                           Persons.PHONE_NUMBER
                      From PERSONS Persons
                     Where ((((UPPER(Persons.FIRST_NAME) Like UPPER('%' || :p_name || '%')) Or (:p_name Is Null))))) IQ
             Where ROWNUM < :1)
    Where Z_R_N > :2
    Missing IN or OUT parameter at index:: 4 Message was edited by:
    Muhammed Soyer

    Hi Frank,
    I didn't test it in 10g. It was something that I came across and thought that it might be a known issue..
    The query is not something that I built manually. My entity is created from a table and my view is using the entity. I added a Named Criteria to the view and used Range Paging as access mode for the view.
    The actual query is this
    SELECT Persons.PRINCIPAL_NAME,
           Persons.PERSON_ID,
           Persons.TITLE,
           Persons.FIRST_NAME,
           Persons.LAST_NAME,
           Persons.PHONE_NUMBER
    FROM PERSONS Persons

  • Issue with ADF table range paging and sorting

    Hello,
    We have a requirement to support pagination in ADF tables. For this, we have made use of Range paging access mode in the view object level. The paging works perfectly fine with this. But we have another requirement of letting the user do a sort on the table (Yes!! The paginated table). The sort should be applied on all rows in the db and the control should return to the first row.
    Applying sort as it is provided by the fwk, sorts the records in the obtained range only. So we have over ridden the Sort listener in Managed bean for this and are able to acheive the sorting of all rows through a AM method call. We are seeing a problem after this. If the sort action is applied to the key attribute then the previous and next range navigation works fine. If the same action is applied to non-key field, then some times (yea!! This is not consistent) the next set is not fetched.
    Here is the code snippet that is called on Next navigation:
    Map<String,Object> pfScope = AdfFacesContext.getCurrentInstance().getPageFlowScope();
    Object objPageNumber = pfScope.get("pageNumber");
    int pageNumber = 0;
    if(null != objPageNumber)
    pageNumber = new Integer(objPageNumber.toString()).intValue();
    BindingContainer bindings = BindingContext.getCurrent().getCurrentBindingsEntry();
    JUCtrlRangeBinding view = (JUCtrlRangeBinding)bindings.getControlBinding("GeDmRequestVO");
    int iRange = getTable().getAutoHeightRows();
    int currentPage = view.getIteratorBinding().getNavigatableRowIterator().getRangeStart()/(iRange + 1);
    System.out.println("Before " + view.getIteratorBinding().getNavigatableRowIterator().getRangeStart());
    System.out.println("Current : " + currentPage);
    System.out.println("Page Number : " + pageNumber);
    System.out.println("Range : " + iRange);
    System.out.println("Value : " + iRange*(currentPage + pageNumber));
    view.getIteratorBinding().getNavigatableRowIterator().scrollRange(iRange*pageNumber);
    System.out.println("After " + view.getIteratorBinding().getNavigatableRowIterator().getRangeStart());
    Although, the new values are not refreshed in the table, the SOPs for before and after print the proper range sizes. And as I mentioned above, the above code works perfectly fine if there is no sort applied or when key attribute is sorted.
    Would appreciate your help on this regard with navigation after non-key attribute sort.
    Thanks,
    Chitra.

    Hi Chitra,
    Can you specify some links to implement RangePaging.....We need to implement pagination.If possible can you share the code or specify the steps how you achieved it.
    Thanks

  • Error in ADF View Object Range Paging ?

    Hi all,
    I've used the range paging technique (similar to the paging action example posted by Steve Muench). It works for most cases. However, I found a strange behaviour with getEstimatedRangePageCount call as described below :
    e.g.
    VOs on Table A(key1) -> Table B (key1, key2, fld1) with records of table B:
    k1, 1, 'ABC'
    k2, 1, 'BCD'
    k2, 2, 'CDE'
    k2, 3, 'EFG'
    k3, 1, 'DBCD'
    k3, 2, 'DCDE'
    k3, 3, 'EEFG'
    k3, 4, 'EFFG'
    RangeSize of table B = 1
    There are 2 screens : one is master/detail screen and another search screen to pass key1 to the master/detail screen
    The JSP screen is master(table A) with navigation buttons on detail (table B)
    The sequence of actions are as follows :
    1. search screen with key1=k2
    2. display m/d screen with key1 = k2 (getEstimatedRangePageCount return 3)
    3. go back to search screen and set key1=k3
    4. display m/d screen wtih key1 = k3 (getEstimatedRangePageCount return 4)
    5. go back to search screen and set key1=k1
    6. display m/d screen wtih key1 = k1 (getEstimatedRangePageCount return 1)
    7. go back to search screen and set key1=k3
    8. display m/d screen wtih key1 = k3 (getEstimatedRangePageCount return 1 instead of 4)
    9. go back to search screen and set key1=k3
    10. display m/d screen wtih key1 = k3 (getEstimatedRangePageCount return 4)
    Does anyone know what happen or how can it be solved ?
    Thanks,
    Nelson.

    Repost.
    Can anyone help ?
    Regards,
    Nelson.

  • Problems using writeXML on Range Paging ViewObject

    We have a ViewObject configured to work with Range Page feature (it has up to 150 thousand rows), it works very nicely, fast and fine.
    But the problem appears when we try to use the writeXML functionality on this Range Paging ViewObject, and exception is thrown, seems that writeXML calls any other rowset method than next().
    Any suggestion about how to solve this problem? (without disabling range paging feature on the ViewObject).
    Thanks in advanced.
    The thrown exception is:
    oracle.jbo.InvalidOperException: JBO-25011: El juego de filas <ViewObjectName> sólo permite desplazarse hacia delante.
         at oracle.jbo.server.ViewRowSetImpl.createViewRowSetIterator(ViewRowSetImpl.java:811)
         at oracle.jbo.server.ViewRowSetImpl.createRowSetIterator(ViewRowSetImpl.java:794)
         at oracle.jbo.server.RowSetImpl$1$RSIEnumeration.<init>(RowSetImpl.java:247)
         at oracle.jbo.server.RowSetImpl.getRowsEnumerator(RowSetImpl.java:259)
         at oracle.jbo.server.RowSetImpl.getXMLElementNode(RowSetImpl.java:147)
         at oracle.jbo.server.ViewObjectImpl.appendXMLElementNodes(ViewObjectImpl.java:9805)
         at oracle.jbo.server.ViewObjectImpl.writeXML(ViewObjectImpl.java:9707)

    Eliseu -
    Unfortunately with the forum software not escaping any XML content, I'm having a real hard time figuring out what kind of problem you are having with detail disclosure. I did post a response to your message in the UIX forum:
    Problems with details disclosure
    You might want to check out my response and post any follow-ups there...
    Andy

  • Range Paging Feature

    anyone tried the new Range Paging Feature in 9.0.5 preview version? it works well?
    i try to fecth rows in sets of 10 and when i need more i make a scrollRange(),setRangeStart(),...
    in SCROLLABLE mode this works well but in RANGE_PAGING mode this only returns 2 pages, i can't go to the third page (the range size is 10 and i have 20000 rows in database).
    how can i count the rows? now this.getRowSet().getRowCount(); don�t work because rows are not in the RowSet
    any help?
    thanks

    scrollRange (+/- rowCount) should scroll the 'rowCount' number of rows. You may also use scrollToRangePage method and pass in index of which page to jump to.
    getRowCOunt() will return the count of rows in the cache and in case of range paging that should be range size + some buffered rows. You may use getEStimatedRowCOunt() to get the valid row count.

  • Duplicate iterators on range paging VOs

    Hi all,
    For performance reasons we want to use range paging VOs for our application. We have logic where we need to create duplicate iterators on VOs to compute some values. But when access mode of VOs is not scrollable we are getting exceptions that duplicate iterators and rowsets cannot be created. Any suggestions on how to overcome this problem, both in managed beans and in BC code ?
    -Ramku

    Thanks Dimitris for your reply.
    Yes. createRowSetIterator("") throws JBO-25083: Cannot create a secondary iterator on row set {0} because the access mode is forward-only or range-paging.
    Is there a way to change access mode of VO programatically or some trick to work around this problem ?
    -Ramku

  • JClient: Range Paging

    We try to use the range paging feature of 9.0.5.1 with a JTable. The API doc isn't very helpful on this subject.
    Is there any example code on using range paging with JClient ?
    We used setRangeSize(), scrollRange() on the view object. With acces mode SCROLLABLE we face following effect: JTable seems to be filled with all rows of the query result, but only the data of the rows in the range are visible. All other rows are existing but are empty. This is a strange behavior and not very useful.
    With access mode RANGE_PAGING we got following exception on executeQuery(), but the query is correct and runs with access mode SCROLLABLE:
    class oracle.jbo.SQLStmtException: JBO-27122: SQL error during statement preparation.
    =================================================================
    oracle.jbo.server.QueryCollection.buildResultSet(QueryCollection.java:760)
    oracle.jbo.server.QueryCollection.executeQuery(QueryCollection.java:521)
    oracle.jbo.server.ViewObjectImpl.executeQueryForCollection(ViewObjectImpl.java:3200)
    oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:597)
    oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:700)
    oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:638)
    oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:3147)
    autefa.apis.screens.product.ProductData.refresh(ProductData.java:442)
    autefa.apis.screens.product.SelectionPanel.refresh_btn_actionPerformed(SelectionPanel.java:791)
    autefa.apis.screens.product.SelectionPanel.access$5000471(SelectionPanel.java:33)
    autefa.apis.screens.product.SelectionPanel$14.actionPerformed(SelectionPanel.java:423)
    javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1786)
    javax.swing.AbstractButton$ForwardActionEvents.actionPerformed(AbstractButton.java:1839)
    javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420)
    javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258)
    javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:245)
    java.awt.Component.processMouseEvent(Component.java:5100)
    java.awt.Component.processEvent(Component.java:4897)
    java.awt.Container.processEvent(Container.java:1569)
    java.awt.Component.dispatchEventImpl(Component.java:3615)
    java.awt.Container.dispatchEventImpl(Container.java:1627)
    java.awt.Component.dispatchEvent(Component.java:3477)
    java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:3483)
    java.awt.LightweightDispatcher.processMouseEvent(Container.java:3198)
    java.awt.LightweightDispatcher.dispatchEvent(Container.java:3128)
    java.awt.Container.dispatchEventImpl(Container.java:1613)
    java.awt.Component.dispatchEvent(Component.java:3477)
    java.awt.EventQueue.dispatchEvent(EventQueue.java:456)
    java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
    java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
    java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
    java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Any idea or a working example ? Thanks.

    Repost

  • BC4J Range Paging

    Hi all,
    I am trying to figure out a way of paging through a large set of rows in a view object without loading all the rows into the cache. In BC4J 9.0.4 there seems to be a new API (as described in http://radio.weblogs.com/0118231/stories/2003/01/26/quickOverviewOfNewBc4j904RangePagingFeature.html). However, we are using 9.0.3. Is there any way to have this functionality without implementing it manually (e.g. by setting ROWNUM in the query)?
    Thanks for any hint!
    Markus.

    Hi,
    I have a UIX page which shows 10 members per page. As we are getting "Out of memory" error for one of our clients because of large data, I have enabled RANGE_PAGING feature for that page, followed all the procedures like:
    1. All Rows in Batches of : 13
    2. Checked Passivate State
    3. In the Application module, overridden the method - "PrepareSession"
    with the following code:
    ViewObjectImpl vo = getMemInfoViewMemSearchPage1();
    vo.setAccessMode(RowSet.RANGE_PAGING);
    When I first go to the page, it is showing 10 members out of the entrie count with 1-10 of 30000. But when I click "Next", it is just showing 3.
    By this I believe it is not executing the query for the second set and if I explicitly call the execute Query on View Object, I believe paging may not work.
    I would really appreciate anyone's help in this regard.
    Thanks
    Venkat

  • Order by range? mysql Question

    hi all ! I need to know if this is possible in sql.
    I have a table with a Column called Hours, what I want to do its to count objects that are in a certain Hour range.
    Something like:
    Select Count(citas.Protocolo),citas.Hora,citas.Protocolo FROM citas WHERE citas.Fecha="2006-09-27"
    AND Horaentrada!="00:00:00" GROUP BY citas.Hora,citas.Protocolo Order by Citas.HoraWHat I try is to get the count between 8:00 and 8:59 and then 9:00 and 9:59 ,etc ,etc but automaticly since I cant do a between.
    Now what I get is
    8:00 Count =1
    8:10 Count= 2
    8:20 Count=1
    WHat I try to achieve
    Count=4 between 8:00 and 8:59

    No, it will not give an error. You need not specify the order by with both the queries just write that at the end of last querfy and that will work.
    select empno from emp
    union all
    select empno from emp
    order by 1 desc
    EMPNO
    9999
    9999
    8888
    8888
    7934
    7934
    7902
    7902
    7900
    7900
    7876
    7876
    7844
    7844

  • XSQL Paging Example Questions - XMLBOOK

    Hi all,
    I run example NewsCategorySimple.xsql?p=2&id=1 from XMLBOOK (S.Muench pag. 650), but it doesn't show stateless paging. shows data, but not: Page 1 of 4 Next - Total 19.
    I run over WNT4/Sp5, Ora816/R2, WEBDB/IAS, XSQL Utility (Examples is good), I don't have jdev 3.1 (is necesary?), my evironment variable CLASSPATH is add c:\xmlbook\samples\ch17\classes;....
    Examples http://localhost/orxmlapp/samples/ch17/store.html is good
    I think what configure Jserv (jserv.conf or jserv.properties) is the problem. can anybody help me
    Thanks..

    thanks, Steve
    now is ok, but i have an other problem, in the URL: http://ias/orxmlapp/Examples/ch17/
    I see the main page (index.html) and the message:
    "No stocks selected" and "You have not selected any news categories... Preferences for roy-ayala". (XMLBOOK pag. 684, Fig. 17-23)
    I added: wrapper.classpath=C:\xmlbook\samples\ch17\classes
    wrapper.classpath=C:\xmlbook\samples\ch06\classes
    in jserv.properties.
    and run all script in ch06 / ch17
    what do you think
    [email protected]
    null

  • ROWNUM question

    So I have a SQL query in which I look at the ROWNUM and then perform formatting based on the row number. For example all rows under 15 show up with a highlighted column of blue, 16-30 show up red, etc. I want all of the rows from the blue group together and so on. I had an order by clause on the query of rownum but this wasn't working as expected as the returned results were always different for each user. I then tried to change the order by to sort by the primary key but then the highlighted rows aren't all together. Isn't the ROWNUM supposed to be read after the where clause? Here is my query below any ideas on how to get it functioning correctly.
    select
    (case when ROWNUM <= 15 then '<div align="center" style="background-color: #FFDAC1; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 1' || ' </div>'
    when ROWNUM > 15 and ROWNUM <= '30' then '<div align="center" style="background-color: #C0C0FF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 2' || ' </div>'
    when ROWNUM > 30 and ROWNUM <= 45 then '<div align="center" style="background-color: #DDFFDD; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 3' || ' </div>'
    when ROWNUM >45 and ROWNUM <= 60 then '<div align="center" style="background-color: #FFFCC0; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 4' || ' </div>'
    when ROWNUM > 60 and ROWNUM <= 75 then '<div align="center" style="background-color: #FAD8DF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 5' || ' </div>'
    when ROWNUM > 75 and ROWNUM <= 90 then '<div align="center" style="background-color: #FFDAC1; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 6' || ' </div>'
    when ROWNUM > 90 and ROWNUM <= 105 then '<div align="center" style="background-color: #C0C0FF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 7' || ' </div>'
    when ROWNUM > 105 and ROWNUM <= 120 then '<div align="center" style="background-color: #DDFFDD; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 8' || ' </div>'
    when ROWNUM > 120 and ROWNUM <= 135 then '<div align="center" style="background-color: #FFFCC0; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 9' || ' </div>'
    when ROWNUM > 135 and ROWNUM <= 150 then '<div align="center" style="background-color: #FAD8DF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 10' || ' </div>'
    when ROWNUM > 150 then '<div align="center" style="background-color: #e6e6e6; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 11' || ' </div>'END) row_1,
    "SCHEDULE_ID",
    "SCHEDULE_ID" SCHEDULE_ID_DISPLAY,
    "CALL_DATE",
    "CALL_IDENTIFIER",
    "CALL_NAME",
    "PRIMARY_PHONE",
    "ALTERNATE_PHONE",
    "NOTE",
    "CSR_ID",
    "COMPLETED",
    "CALLBACK_DATE",
    "CALLBACK_TIME",
    RESCHEDULE_DATE,
    RESCHEDULE_TIME,
    CSR_NOTE,
    SPREADSHEET_ID,
    (case when PRIORITY = 'Y' then '<div align="center" style="background-color: #1073AA; font-weight: bold; color: #ffffff;">    ' || priority || '    </div>' END) priority,
    call_completed_time
    from "#OWNER#"."UID_CSR_SCHEDULE"
    where trunc(sysdate)|| ' ' || :P9_TIME = upper(to_char(callback_date,'dd-mon-yy AM')) and (callback_cancelled is null or callback_cancelled != 'Y') and call_identifier is not null
    order by  ROWNUM

    Thank you for your help...I will look at rewriting the case using the width once I get the return sequence correct. I have changed my query to below and it still doesn't seem to work...I must be doing something wrong! If I put an order by my_rownum then all the blocks are together but not in sequential order. If I set an order by clause of the id then the ids are sequential but the blocks are incorrect. I thought I had understood the previous replies and I read through the links but not sure what I am missing.
    select
    (case when MY_ROWNUM <= 15 then '<div align="center" style="background-color: #FFDAC1; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 1' || ' </div>'
    when MY_ROWNUM > 15 and MY_ROWNUM <= 30 then '<div align="center" style="background-color: #C0C0FF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 2' || ' </div>'
    when MY_ROWNUM > 30 and MY_ROWNUM <= 45 then '<div align="center" style="background-color: #DDFFDD; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 3' || ' </div>'
    when MY_ROWNUM >45 and MY_ROWNUM <= 60 then '<div align="center" style="background-color: #FFFCC0; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 4' || ' </div>'
    when MY_ROWNUM > 60 and MY_ROWNUM <= 75 then '<div align="center" style="background-color: #FAD8DF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 5' || ' </div>'
    when MY_ROWNUM > 75 and MY_ROWNUM <= 90 then '<div align="center" style="background-color: #FFDAC1; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 6' || ' </div>'
    when MY_ROWNUM > 90 and MY_ROWNUM <= 105 then '<div align="center" style="background-color: #C0C0FF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 7' || ' </div>'
    when MY_ROWNUM > 105 and MY_ROWNUM <= 120 then '<div align="center" style="background-color: #DDFFDD; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 8' || ' </div>'
    when MY_ROWNUM > 120 and MY_ROWNUM <= 135 then '<div align="center" style="background-color: #FFFCC0; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 9' || ' </div>'
    when MY_ROWNUM > 135 and MY_ROWNUM <= 150 then '<div align="center" style="background-color: #FAD8DF; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 10' || ' </div>'
    when MY_ROWNUM > 150 then '<div align="center" style="background-color: #e6e6e6; font-weight: bold; color: #OOOOOO;"> ' || 'BLOCK 11' || ' </div>'END) row_1,
    "SCHEDULE_ID",
    "SCHEDULE_ID" SCHEDULE_ID_DISPLAY,
    "CALL_DATE",
    "CALL_IDENTIFIER",
    "CALL_NAME",
    "PRIMARY_PHONE",
    "ALTERNATE_PHONE",
    "NOTE",
    "CSR_ID",
    "COMPLETED",
    "CALLBACK_DATE",
    "CALLBACK_TIME",
    RESCHEDULE_DATE,
    RESCHEDULE_TIME,
    CSR_NOTE,
    SPREADSHEET_ID,
    (case when PRIORITY = 'Y' then '<div align="center" style="background-color: #1073AA; font-weight: bold; color: #ffffff;">    ' || priority || '    </div>' END) priority,
    call_completed_time
    from (SELECT ROWNUM MY_ROWNUM, SCHEDULE_ID, CALL_DATE, CALL_IDENTIFIER, CALL_NAME, PRIMARY_PHONE, ALTERNATE_PHONE, NOTE, CSR_ID, COMPLETED, CALLBACK_DATE, CALLBACK_TIME, RESCHEDULE_DATE, RESCHEDULE_TIME, CSR_NOTE, SPREADSHEET_ID, PRIORITY, CALL_COMPLETED_TIME FROM UID_CSR_SCHEDULE WHERE trunc(sysdate)|| ' ' || 'PM' = upper(to_char(callback_date,'dd-mon-yy AM')) and (callback_cancelled is null or callback_cancelled != 'Y') and call_identifier is not null ORDER BY SCHEDULE_ID )
    order by  MY_ROWNUM

  • UCCX Trigger Range and Reporting Question

    Hello Everyone:
    I are using a wildcard trigger so that instead of having 30 triggers to one application, I can just leverage that one trigger.  That part is working great, however the issue is that when looking at reports we are only seeing the Wildcard Trigger and not the full extension.  Specifically we are looking at the Abandoned Call Detail Activity Report.  We want to pull out calls for each trigger as each trigger represents a different location.  Is there a way to expose the "Original Called Number" field to get this data?  That way the called number will be the range it hit, with the Original Called Number field being the specific location.  I'm hoping there is a way to get this data, outside of developing a custom report.  Any help would be appreciated - Thanks!
    Sean

    Sean,
    You will need to create a custom report for this.

Maybe you are looking for

  • Oracle 10g Installation in HP-UX 11.11

    Hi, I am facing a problem while installing Oracle 10g on HP-UX 11.11 I get the following error after executing runInstaller Error: could not find libjava.sl Error: could not find Java 2 Runtime Environment. We have Java 1.4 SDK and RTE installed. All

  • EAP-TLS User and machine authentication question

    Hello, i have a question regarding EAP TLS authentication in a wireless environment. We use Cisco AnyConnect NAM client and an ACS 5.1 to do EAP-TLS authentification. The Laptop and the user can be successfully authenticated using a certificate from

  • Troubleshooting RRI

    I have some trouble with one of my reports in RRI ( report report interface). I have tried to set it up several times, but it is not working. I get this error message ABEND RSBOLAP (000): Programfeil i klasse SAPMSSY1 metode : UNCAUGHT_EXCEPTION   MS

  • JMS C API for AIX

              Hi,           Is there a version for JMS C API for AIX ? Where can I find it ?           Thanks,           Ziv           

  • My Tabs and History sync just fine, but my Bookmarks do not

    I am using Firefox Home on both my iPhone4 and iPad2. I have refreshed the data, and have re-input the sync properties, but I still don't get my Bookmarks. Tabs and History are working just fine. Help!