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

Similar Messages

  • Example #31 (JClient JTable Using Range Paging Mode) problem?

    Hi,
    JClient 10.1.2
    When you run the example and activate the last record button to begin with, the next set button doesn't do nothing anymore?
    Is this a normal behaviour?
    Thanks
    Frederic

    repost

  • 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

  • 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

  • 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

  • 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

  • Performance tuning help

    hello friends,
    i am supposed to use ST05 and SE30 to do performance tuning,and also perform cost estimation,
    can some plz help me understand, i am not that good at reading large paragraphs, so plz donot give me links to help.sap
    thank you.

    Hi
    Se30  is the runtime analysis
    Here it will give you detailed graph about your program .
    abap time,database time application time ..
    st05 is sql trace where it will give you individual select stmnts in your program
    and also proper index is being used or not.
    Other performance tips
    check any select stmnts inside the loop and replace with read statement
    use binary search in read stmnts
    use proper index in where condition in select stmnt.
    if you want to execute st05..go st05..trace on-execute ur program--come to st05..trace off and --list trace...
    you get summary details of select queires and it will be pink or other color.
    Thanks

  • 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

  • Help with Video Performance Issues using Flash

    Asking on behalf of a customer who has been unable to get any answers so far - are you able to help?
    Background:
    We have a port of our Game Development Kit which allows us to recompile all our games using Crossbridge (http://adobe-flash.github.io/crossbridge/) into SWF without any code modifications.
    Overview:
    Our framework is using OpenGL for rendering and we have successfully ported it along with the audio and video to run in Flash.
    We are experiencing performance issues using Video. We cannot use image sequence as some of the video animations are too long and would increase the download to an unacceptable size.  Assets vary between 256x256 - 1024x1024 videos.

    Here's the rest of the story.  Let me know if you can see any resolution, and I will connect him to the forums.  Thank you.
    Current Video Solution:
    We create an instance of NetConnection, NetStream, and Video according to most samples out there, and invoke draw to rasterize the Video DisplayObject into a BitmapData instance.
    The BitmapData instance has a fixed color component layout which is not compatible with Stage3D texture and is therefore has to be reformatted before uploaded to Stage3D Texture (See Code Listing below).
    Our Problems:
    Performance issues with RGBA conversion (either using copyChannel or manually reformatting is not fast enough) natively in as3; this required for stage3d texture.Copying each channel individual using bitmapdata.Copychannel seems faster, but not significantly faster.
    Cannot detect when video frame has been updated, therefore we may copy pixels that are not needed in enterframe (processpixel).
    Looping video, our current solution uses the NET_STATUS event Buffer empty; Is there a better way to loop videos than checking buffer and seeking to 0.
    Stepping video, loading FLV or MP4 side by side assets from HTTP or embedded does not support stepping? Is there another way?
    ActionScript Code Listing:
    video_nc = new NetConnection();
    video_nc.addEventListener(NetStatusEvent.NET_STATUS , onConnect);
    video_nc.addEventListener(AsyncErrorEvent.ASYNC_ERROR , trace);
    video_nc.connect(null);
    // OnConnect Event:
    this.ns = new NetStream(e.target as NetConnection);
    eventclient = new Object();
    eventclient.onMetaData = onMetaData;
    this.ns.client = eventclient;
    ns.play(flvfile);
    ns.pause();
    //onMetaData event:
    this.width = infoObject.width;
    this.height = infoObject.height;
    this.textureWidth = NextPowerOfTwo(this.width);
    this.textureHeight = NextPowerOfTwo(this.height);
    cliprect = new Rectangle(0, 0, this.width ,this.height);
    cliprect.x = 0;
    cliprect.y = 0;
    cliprect.width = this.textureWidth;
    cliprect.height = this.textureHeight;
    totalFrames = infoObject.duration * infoObject.fps;
    this.hasAlpha = true;
    if(infoObject.videocodecid == 5)
    this.hasAlpha = true;
    this.bitmapData = new BitmapData(this.textureWidth, this.textureHeight, hasAlpha, 0xff000000);
    this.video = new Video(this.width, this.height);
    this.video.attachNetStream(ns);
    this.video.addEventListener(Event.ENTER_FRAME, processPixels);
    // processPixel method:
    BitmapData.draw(video);
    GLAPI.instance.glBindTexture(GLAPI.GL_TEXTURE_2D,this.textureId);
    var fmt:uint = GLAPI.GL_ARGB;
    // converting pixels using copychannel or loop through pixels
    GLAPI.instance.glBindTexture(GLAPI.GL_TEXTURE_2D,this.textureId);
    GLAPI.instance.glTexImage2D(GLAPI.GL_TEXTURE_2D, 0, fmt, this.textureWidth, this.textureHeight, 0,fmt, GLAPI.GL_UNSIGNED_BYTE, 0, convBitmapData.getPixels(cliprect));

  • 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

  • Severe DML Performance Issue using Oracle RLS on 11.2.0.3

    Hi Experts/Gurus,
    We are trying to implement Oracle RLS in one our Corporate Application
    Purpose of using RLS is to convert Single Company Application into Multiple Company Application
    by adding COMPANY_ID Column and Index to make Application Multi-Company.
    Each user would be allowed only to view/edit records from his own Company
    RLS function we defined is very simple and static.
    When we did some DML Tests using 8 parallel sessions, find DML Performance is
    severely degraded (response time is twice our existing Application without RLS)
    Top 5 Timed Foreground Events
    Event Waits Time(s) Avg wait (ms) % DB time Wait Class
    db file sequential read 1,312,910 6,197 5 43.08 User I/O DB CPU 2,976 20.69
    library cache: mutex X 80,808 1,139 14 7.91 Concurrency
    WCR: replay lock order 1,705 1,107 649 7.69 Application
    gc current grant 2-way 309,886 550 2 3.83 Cluster
    Would like to know why we encounter library cache: mutex X
    Checked Mutex Sleep Summary section of AWR and it has following:
    Mutex Sleep Summary
    ordered by number of sleeps desc
    Mutex Type Location Sleeps Wait Time (ms)
    Library Cache kglpin1 4 26,849 0
    Library Cache kglpnal2 91 25,230 0
    Library Cache kglpndl1 95 21,382 0
    Library Cache kglpnal1 90 12,823 0
    Cursor Pin kksfbc [KKSCHLFSP2] 5,196 0
    Would like to know how to interpret
    each of the Library Cache entries such as kglpin1 4.
    What does the keyword after Libary Cache (starting with kglpin mean)
    Thanks in advance

    Welcome to the forum!
    Please see the FAQ #3 at the top of the thread list for how to post a tuning request and the information you need to provide
    SQL and PL/SQL FAQ
    >
    We are trying to implement Oracle RLS in one our Corporate Application
    Purpose of using RLS is to convert Single Company Application into Multiple Company Application
    by adding COMPANY_ID Column and Index to make Application Multi-Company.
    Each user would be allowed only to view/edit records from his own Company
    RLS function we defined is very simple and static.
    When we did some DML Tests using 8 parallel sessions, find DML Performance is
    severely degraded (response time is twice our existing Application without RLS)
    What does the keyword after Libary Cache (starting with kglpin mean)
    >
    The short answer is that those are pinned objects in the library cache.
    The short question is why you are focusing on trivia instead of collecting, and posting, information that might shed some light on your problem?
    Read the FAQ thread above and post the information needed.
    Your RLS function may be 'very simple and static' but we can't see it. And we can't comment on what we can't see.
    We also can't see:
    1. your table or index DDL
    2. the query you are using that you say is non-performant
    3. any data about statistics and whether they are current
    4. any data about row counts for the table, the (unknown) query predicates, the expected result set
    5. any data about the query predicates
    6. any execution plans for the query from the standard table and from the current table
    7. any info about the RLS security you are using and how you implemented and configured it.

  • Performance issue using Native SQL

    Hi
        I am getting the data from Oracle database using Native SQL in ABAP. I am facing performance problem when i am using Native SQL to get data from Oracle database.Its been very slow and getting timed out.
    This is the code i am using for this.
    EXEC SQL PERFORMING BUILD_TAB.
    Get the territory id
        SELECT TERR_ID
          FROM DWPROD.VW_ARDETAIL_PRD1@DWP
          INTO :IT_TERR-TERR_ID
               :DG_TERR_ID
         WHERE COMPANY     = :dt_output-bukrs
           AND PAY_ADDR_ID = :dt_output-kunnr
           AND DOC_NO      = :dt_output-belnr
           AND DOC_ITEM_NO = :dt_output-buzei
      ENDEXEC.
      IF sy-dbcnt >= 1.
        READ TABLE it_terr INDEX 1.
        dg_terr_id = it_terr-terr_id.
        EXEC SQL.
    Get the Saled rep id, name
          SELECT MR_USER_ID,
                 MR_NAME
            FROM DWPROD.VW_TERR@DWP
            INTO :dt_output-srep_id,
                 :dt_output-srep_name
           WHERE TERR_ID = :DG_TERR_ID
        ENDEXEC.
    *Get sales manager id and sales manager name
        EXEC SQL.
          SELECT SALES_GRP_ID
            FROM DWPROD.VW_TERRRPT@DWP
            INTO :DG_SGRPID
           WHERE TERR_ID = :DG_TERR_ID
        ENDEXEC.
        IF sy-dbcnt >= 1.
          EXEC SQL.
            SELECT MGR_USER_ID,
                   MGR_NAME
              FROM DWPROD.VW_SGRP@DWP
              INTO :dt_output-sman_id,
                   :dt_output-sman_name
             WHERE SALES_GRP_ID = :DG_SGRPID
          ENDEXEC.
        ENDIF.
      ENDIF.
    Can any one suggest a solution to improve the performance.
    Thnaks
    Vianney

    Hi John!
    Looks like you need just one entry out of the tables, but you select 'into table'.
    Try to add a 'up to 1 rows' restriction, then Oracle will be much faster with the execution.
    To get an idea, who this parameter looks like in native SQL for Oracle, write a simple test program with an open SQL statement (including this parameter / select single) and run a SQL-trace (ST05). Here you can see in 'explain' how native translation looks like, can also maintain some small tests with 'enter SQL statement'.
    Regards,
    Christian

  • 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

  • Select stmt issue, performance tuning.

    Hi Group,
    I have a question.
    There is a select stmt which is using inner join, and its taking good amoutn of time to get executed. I was told to tune the performance of that query. And my TL suggested me to use ranges in that select stmt, like the sign, option, low, high.
    Could you please help me out on this issue? Urgent.
    Thank you in advance.
    Regards,
    P. Varun Kumar.

    They are suggesting to use ranges rather than For all entries.
    Here is the query:
    SELECT b~kunnr
             b~zz_echan_reg
             a~title
             a~first_name
             a~last_name
             a~email_addr INTO TABLE gt_ecustomers
                          FROM zyd_contacts AS a
                         INNER JOIN kna1 AS b
                            ON ayd_kunnr = bkunnr
                         WHERE zz_echan_reg EQ 'X' OR zz_echan_reg EQ 'A'
                           AND zzcap_divert EQ space
                           AND email_addr   NE space.
    Please check this out.
    Thanks again for any help in advance.

  • Can i use "Oracle Database 12c: Performance Management and Tuning " training for getting certification on "Oracle Database 11g: Performance Tuning 1Z0-054"

    i have taken "Oracle Database 12c: Performance Management and Tuning new" training from oracle university. Now i would like to get certified on "Oracle Database 11g: Performance Tuning 1Z0-054" exam. Is it possible ?

    I essentially endorse and refer you to Matthews' and John's post above.
    I would differ with slightly with Matthew because my guess is you would often be able to use like for like 12c training for an 11g certification ( I believe there are precedents).  BEFORE ANYONE ASKS THE OTHER WAY DOESN'T HAPPEN.
    .... but totally concur with Matthew you would ill advised to procede on that basis without one of:
    - This being advertised as possible on the website : e.g. https://education.oracle.com/pls/web_prod-plq-dad/db_pages.getpage?page_id=654&get_params=p_id:169 ... option 2 show courses.
    - Confirmation from Brandye
    - Confirmation from an Oracle Certification Support Web Ticket ( http://education.oracle.com/pls/eval-eddap-dcd/OU_SUPPORT_OCP.home?p_source=OCP )
    ... The more common (and in my opinion usually better) way would be get your 11g DBA OCP ( or higher first) and then take the 1z0-054.  I am almost certain they will accept your 12c course for the 11g DBA OCP.
    If you are choosing the route of not being a 11g (or 12c ) DBA OCP first but are on option 2 and relying on the course for certification then the issue is more in the balance and you are even more strongly advised to get confirmation before proceding (remember if the rules need to be changed for you only then any profit out of the exam is lost).
    In general my understanding is Oracle would prefer to encourage people to train on the latest version of product that is available for training  and will prefer to avoid restrictions which would cause you to train at a lower version.  ( This is simply my guess at Oracle University Policy ... personal opinion only).
    Having said all I have said I'd encourage you to go with the advice of the earlier two posts.

Maybe you are looking for

  • Child Scan Lock Option / Printer that is compatible with Mac OSX 10.4.11

    Hi Everyone, I'm new here and I tried to look for the answer of my questions. 1. I'm looking for a printer that has a child scanner lock option. (DeskJet, Photosmart doesn't matter) 2. Any printer that is compatibe with my Mac OS 10.4.11 I tried to l

  • Can't play mov file in Quicktime!!!!!!

    Hi. Got a new iMac. Got Snow Leopard and Quicktime Player (incl QTP 7 in utilities). I'm trying to play a video file. It is recognised as a Quicktime movie (in file info), but when I click on it it says - "xxx.mov could not be opened, the movie's fil

  • Converting to MP4 from FCP 7, jerky at times.

    I am trying to create a HD MP4 file less than 4GB, to play my 6 min HD movie on PS3. I can not have file larger than 4GB as FAT32 will not allow it. 1. What is the max bit rate should I use? I used 9,000 kb/sec 2. I noticed jerky motion at times, its

  • Errors with flashplayer 9

    My computer said I needed to install flashplayer 9 so i did that and automatically i couldn't see any kind of pictures or videos. I figured a problem must have occured so i tried uninstalling it and it wouldn't uninstall. I had to come to this websit

  • WorldPay Integration

    Has anybody integrated the WorldPay third party payment servlets within           WebLogic 5.1?           The problem I have is the WorldPay properties file (select.properties)           is not being read. I'm pretty sure it's a classpath problem.