Using ALL_WMD_MODIFIED_TABLES,_DIFF view & SetDiffVersions

Hi All,
I need suggestions on the below usage of ALL_WMD_MODIFIED_TABLES,_DIFF view & SetDiffVersions procedure in OWM.
Requirement: Need to determine modified rows between two savepoints in a workspace and update modified rows.
Data:
Workspace name -'WPS1'.
Savepoint1 name -'WPS1_SVP1'.
Savepoint2 name -'LATEST'.
What I am doing?
1.Goto Workspace.
EXEC Dbms_wm.Goto_Workspace('WPS1');
2. Run below query on 'ALL_WM_MODIFIED_TABLES ' to identify modified tables and keep them in a collection say 'Modified_Tables'.
select distinct TABLE_NAME From ALL_WM_MODIFIED_TABLES where WORKSPACE='&WPS';
3.Set DiffVersions procedure between two Savepoints.
EXEC Dbms_wm.SetDiffVersions('WPS1','WPS1_SVP1','WPS1','LATEST');
4. Loop through the 'Modified_Tables' collection and run the below query on {table_name}_DIFF Views.
+select * from {table_name}_DIFF where WM_DIFFVER = 'WPS1,LATEST' and WM_CODE in ('I', 'U','NE');+
5. Update rows on modified tables.
Inputs needed:
Please provide suggestions/recommendations/feedback/limitations/best practises of the above used OWM elements (ALL_WMD_MODIFIED_TABLES,_DIFF view & SetDiffVersions.
Also provide me feedback on improving performance of any of the above queries.
My frontend application is based on .NET and it is running very slow.
Thanks in advance.

Thanks Ben in responding to this problem!
I am using OWM 10.2.0.5.0
The gather statistics on WMSYS schema did not help either. Following is the performance statistics that I observe
•     _DIFF view selection (select *) for following number of row change
o     for 50K row change - 11 minutes
o     for 30K row change - 6.5 minutes
o     for 20K row change - 5 minutes
o     for 10K row change - 2.4 minutes
•     _DIFF view selection (select (1)) for following number of row change
o     for 50K row change - 12 minutes
o     for 30K row change - 6.8 minutes
o     for 20K row change - 4.8 minutes
o     for 10K row change - 2.4 minutes
While waiting for the OTN response, I created an SR. Following is what Oracle says.. They are asking not to gather statistics ! I tried the rule based optimizer suggested by Oracle. It did not help. I have responded back to Oracle with my observation.
I think you have run into following bug -
Bug 7581604: BAD PERFORMANCE OF QUERY AGAINST _DIFF IF VERSION ENABLED TABLE IS ANALYZED
This bug is fixed in11.2.0.1. There is no fix for this bug in 10.2. But you can use one of the following workarounds -
1. Using a RULE hint in the query to force use of the Rule Based Optimizer, for example:
select /*+ RULE */ * from <Table>_DIFF
2. dont gather statistics !!!! when stats are gathered for a version enabled table, querying _DIFF view starts using a full table scan execution plan instead of index range scan.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Similar Messages

  • Performance problem with select from _DIFF view

    Hi,
    we have a versioned table with more then one million records. We use the DBMS_WM.SetDiffVersions procedure and select from DIFF view to get data differences between two workspaces. The problem is that the select from the DIFF view is very slow. I takes more than 15 minutes. Has anybody an idea why it consumes so much time? Is there any way how to improve it?
    Thanks and regards
    Ondrej

    Hi,
    This can be due to any number of things, but is typically caused by an inefficient optimizer plan. Make sure that statistics on the _LT table have been recently analyzed.
    Also the following information would be useful:
    1. What is the relationship of the workspaces that you are trying to compare (parent/child, children of the same parent, etc) ?
    2. How many and of what type dml are being performed in the workspaces ?
    3. What version of Workspace Manager are you using and what is the version of the database ?
    4. What is the time needed to select from the _DIFF view based on the primary key ?
    Regards,
    Ben

  • Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems n

    Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems never arose during two years of using LTR-4 and nothing else has changed on my computer.  I have a pretty simple system with only a few plug-ins, which are usually not in operation.  I have 12GB of RAM in my Windows 7 PC.  I could illustrate these problems with screen shots if you would tell me how to submit screen shots.  Otherwise I will try to describe the problems in words.
    The problem is clearly cumulative, growing worse as usage time passes.  Compare View feature gradually slows down and eventually seems to choke as my work session proceeds. If I Exit LTR and re-enter and start all over, things will work normally for maybe 30 minutes, but then the Compare View feature begins to become very slow to respond.   In a recent example with my screen full of thumbnails in Library mode I highlighted two images to compare. LTR started to open the Compare View screen by first having the top row of thumbnails disappear to be replaced by the "SELECT" and "CANDIDATE" words in their spaces  (but no images), but Compare View never succeeded in gaining control of the screen. After some seconds the top row of thumbnails reasserted its position and the Compare View windows disappeared. But LTR kept trying to bring them back. Again the top row of thumbnails would go away, Select and candidate would reappear, try again, and give up. This went on for at least 2-3 minutes before I tried to choose File and Exit, but even that did not initially want to respond. It doesn't like to accept other commands when it's trying to open Compare View. Finally it allowed me to exit.
    To experiment I created a new catalog of 1100 images.  After 30-40 minutes, the Compare View function began to operate very slowly. With left and right side panels visible and two thumbnails highlighted, hitting Compare View can take half a minute before the two mid-size  images open in their respective SELECT and CANDIDATE windows. When the side panels are open and two images are in the Select/Candidate spaces, hitting the Tab button to close the side panels produces a very delayed response--25-30 seconds to close them, a few more seconds to enlarge the two images to full size. To reverse the process (i.e., to recall the two side panels), hitting Tab would make the two sides of the screen go black for up to a minute, with no words visible. Eventually the info fields in the panels would open up.
    I also created a new user account and imported a folder of 160 images. After half an hour Compare View began mis-placing data.  (I have a screen shot to show this.)  CANDIDATE appears on the left side of SELECT, whereas it should be on the right. The accompanying camera exposure data appears almost entirely to the left of the mid-screen dividing line. Although the Candidate and Select headings were transposed, the image exposure data was not, but the data for the image on the right was almost entirely to the left of the line dividing the screen in two.
    Gurus in The Lightroom Forum have examined Task Manager data showing Processes running and Performance indicators and they see nothing wrong.  I could also send screen shots of this data.
    At this point, the only way I can process my images is to work 30-40 minutes and then shut down everything, exit, and re-start LTR.  This is not normal.  I hope you can find the cause, and then the solution.  If you would like to see my screen shots, tell me how to submit them.
    Ollie
    [email protected]

    Since installing LTR 5.4, which I've now upgraded to 5.6, I've encountered repeated slowness and malfunctions in operations, especially when using the Compare View function and the Tab key to open and close the right and left side panels.  Such problems never arose during two years of using LTR-4 and nothing else has changed on my computer.  I have a pretty simple system with only a few plug-ins, which are usually not in operation.  I have 12GB of RAM in my Windows 7 PC.  I could illustrate these problems with screen shots if you would tell me how to submit screen shots.  Otherwise I will try to describe the problems in words.
    The problem is clearly cumulative, growing worse as usage time passes.  Compare View feature gradually slows down and eventually seems to choke as my work session proceeds. If I Exit LTR and re-enter and start all over, things will work normally for maybe 30 minutes, but then the Compare View feature begins to become very slow to respond.   In a recent example with my screen full of thumbnails in Library mode I highlighted two images to compare. LTR started to open the Compare View screen by first having the top row of thumbnails disappear to be replaced by the "SELECT" and "CANDIDATE" words in their spaces  (but no images), but Compare View never succeeded in gaining control of the screen. After some seconds the top row of thumbnails reasserted its position and the Compare View windows disappeared. But LTR kept trying to bring them back. Again the top row of thumbnails would go away, Select and candidate would reappear, try again, and give up. This went on for at least 2-3 minutes before I tried to choose File and Exit, but even that did not initially want to respond. It doesn't like to accept other commands when it's trying to open Compare View. Finally it allowed me to exit.
    To experiment I created a new catalog of 1100 images.  After 30-40 minutes, the Compare View function began to operate very slowly. With left and right side panels visible and two thumbnails highlighted, hitting Compare View can take half a minute before the two mid-size  images open in their respective SELECT and CANDIDATE windows. When the side panels are open and two images are in the Select/Candidate spaces, hitting the Tab button to close the side panels produces a very delayed response--25-30 seconds to close them, a few more seconds to enlarge the two images to full size. To reverse the process (i.e., to recall the two side panels), hitting Tab would make the two sides of the screen go black for up to a minute, with no words visible. Eventually the info fields in the panels would open up.
    I also created a new user account and imported a folder of 160 images. After half an hour Compare View began mis-placing data.  (I have a screen shot to show this.)  CANDIDATE appears on the left side of SELECT, whereas it should be on the right. The accompanying camera exposure data appears almost entirely to the left of the mid-screen dividing line. Although the Candidate and Select headings were transposed, the image exposure data was not, but the data for the image on the right was almost entirely to the left of the line dividing the screen in two.
    Gurus in The Lightroom Forum have examined Task Manager data showing Processes running and Performance indicators and they see nothing wrong.  I could also send screen shots of this data.
    At this point, the only way I can process my images is to work 30-40 minutes and then shut down everything, exit, and re-start LTR.  This is not normal.  I hope you can find the cause, and then the solution.  If you would like to see my screen shots, tell me how to submit them.
    Ollie
    [email protected]

  • How to use table maintenance view in module pool screen

    hi ,
    want to use table maintenance view in a module pool screen so that i can edit, insert, delete and update date in to the ztable.please help.

    You can simply call it via SM30.   Or you can call the table maintence view from any program(report or module pool) using a function module.
      call function 'VIEW_MAINTENANCE_CALL'
           exporting
                action                       = 'U'
                view_name                    = 'Z_Table_Name'
           exceptions
                client_reference             = 1
                foreign_lock                 = 2
                invalid_action               = 3
                no_clientindependent_auth    = 4
                no_database_function         = 5
                no_editor_function           = 6
                no_show_auth                 = 7
                no_tvdir_entry               = 8
                no_upd_auth                  = 9
                only_show_allowed            = 10
                system_failure               = 11
                unknown_field_in_dba_sellist = 12
                view_not_found               = 13
                others                       = 14.
    Regards,
    RIch Heilman

  • How to use a Table View in AppleScriptObjC

    How can I use a table view and add data to it? And how can I display a button cell and image cell in the table? Thanks.

    Hi all,
    Actually i need some more clarification. How to use the same select statement, if i've to use the tabname in the where clause too?
    for ex : select * from (tab_name) where....?
    Can we do inner join on such select statements? If so how?
    Thanks & Regards,
    Mallik.

  • Re: [SunONE-JATO] How to use a tiled view without a model

    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- "Craig V. Conover" wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

  • Re: [SunONE-JATO] Re: How to use a tiled view without a model

    I'm not sure what is different for you now. You still parse the string
    and put it into a data structure. Before the data structure was a
    vector, in JATO its just a model with a "hidden" data structure (a hash
    map).
    MVC only really comes into play when you talk about where your write
    this code, and where the data structure is being stored. So really, JATO
    takes care of half of the MVC'ness of it all (where the data is store).
    You just decide where to be the code to populate the model.
    Make sense?
    Is there something different required of you in JATO in this scenario
    that I am not grasping?
    c
    Hoskins, John D. wrote:
    Thanks for the feedback.
    The problem I was solving involved a single string, which contained
    delimited subsets of information.
    The string looked like
    this:"time|analyst|description|time|analyst|description|..."
    In ND, I parsed it apart into it's components (time vector, analyst vector,
    description vector), populated the repeated.
    With JATO, how would I make a model for something that doesn't have a
    database component like this?
    I'm pretty new to this MVC thing, so bear with me.
    John D. Hoskins
    Telephone & Data Systems
    Application Development & Support
    Voice: 608.664.8263
    Fax: 608.664.8288
    Email: john.hoskins@t...
    -----Original Message-----
    From: Craig V. Conover [mailto:<a href="/group/SunONE-JATO/post?protectID=219212113009229091025149066024064239039098031198039130252055210">craig.conover@s...</a>]
    Sent: 6/26/2002 3.22 PM
    Subject: Re: [SunONE-JATO] Re: How to use a tiled view without a model
    I guess the only thing "weird" (for lack of a better term) about what
    you are doing is that your are populating the model on the "display
    cycle". Typically, the cycle goes like this:
    Request -> populate model -> update data store -> retrieve data to
    populate model -> display data
    some of the above steps are optional but hopefully you get the point I
    am making.
    So what you are doing is:
    Request -> populate model/display data
    If it works for you, then it's not necessarilly wrong. But I would
    probably have my model populated before I forwarded to the target
    (displaying view bean) or at a minimum, in the begin display event of
    the view bean or the tiled view, but not during the iteration of the
    tiled view.
    c
    jhoskins wrote:
    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- Craig V. Conover wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

    Craig,
    Thanks for the pointers. I ended up doing something else. I set the
    models setSize() method to set the max size, and as the tiles fields
    iterated, populated the value from some vectors I had the data in
    already. Is this solution fraught with peril and will ultimately fail,
    or should I try your way?
    John
    --- "Craig V. Conover" wrote:
    John,
    Check out the docs for DefaultModel. There is an appendRow() method.
    So get your tiledview's primary model (the tiledview's primary model
    should be set to use an instance of DefaultModel), model.appendRow(),
    then model.setValue("fieldname", value) for each value.
    Rinse, repeat as needed.
    c
    jhoskins wrote:
    I would like to use a tiled view, but populate the fields manually.
    Any pointers about where I can set the size of the tiled view? I tried
    setMaxDisplayTiles() in the beginDisplay, but it won't get down and
    generate the rows.
    John Hoskins
    To download the latest version of JATO, please visit:
    http://www.sun.com/software/download/developer/5102.html
    For more information about JATO, please visit:
    http://developer.iplanet.com/tech/appserver/framework/index.jsp

  • I am trying to open a website that is using Microsoft content viewer, and the page does not show. Any ideas on how to view this site using firefox. It works on IE.

    I am participating in an online class whose website uses Microsoft Content Viewer to view the class content. The browser opens a new page, but nothing is there. At the top of the tab it says Microsoft Content Viewer, and nothing else. Can anyone tell me how to view my course using Firefox? I would prefer not to use IE, but it works there.

    When originally creating the pdf, you would need to choose another pdf conversion setting. In Word if you use the pdf menu, change your settings there: Adobe PDF > Change Conversion Settings. I would use High Quality Print instead. If you use the File > Print method, click the Properties button next to the Adobe PDF printer selection.
    For your already created form, you can change the file so your users will not encounter issues. In Acrobat 9, which hopefully is similar in process to 8: Advanced > Preflight > Profile tab > PDF/A compliance > Remove PDF/A information.(You'll have to unsecure your form first).
    You can read about PDF/A files in the Help.

  • Problem on using Crystal Report Viewer on windows application ("specified type is not valid ")

    Hi
    I am having problem on using Crystal Report Viewer on one of my windows application.
    I am not sure how to put the Crystal Report Viewer 11 Control onto the tool box.
    I could found a Crystal Report Viewer control on my computer, but it is version 8.5.
    I have also found another one which is Called Crytal ActiveX Report Viewer, i don't think it is the one I can use. As when I try to load a dummy report on to the Crytal ActiveX Report Viewer, It return an error. "specified type is not valid"
    Please see the Code sample below.
    private sub loadReport()
         Dim r as New ReportDocument
         'v is the name of the Crystal ActiveX Report Viewer Control
         r.Load("C:\Report1.rtp")
         v.ReportSource(r) <---It throw error on this line.
    End Sub
    Could you give me some advice about what have I done wrong, How to check if I have set up the Crystal Report Component correctly in my Visual Studio 2005 Standard edition.
    Thanks in advances.
    Many thanks
    Chi

    VS 2005 Standard and Express editions do not come with Crystal Reports; only the Professional and higher editions will have CR bundled. However, I believe you can purchase CR XI R2 Developer and it will give you the components you need to create a VS .NET 2005 application using the Standard edition.
    -MJ

  • How to use Crystal report viewer in a portlet based web application

    I am using JRC to view crystal reports in porlet based web application. Following is the code in JSP
    <%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,
    com.crystaldecisions.sdk.occa.report.application.OpenReportOptions,
    com.crystaldecisions.sdk.occa.report.application.ReportClientDocument,
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase" %>
    <portlet:defineObjects />
    <%
         // This sample code calls methods from the CRJavaHelper class, which
         // contains examples of how to use the BusinessObjects APIs. You are free to
         // modify and distribute the source code contained in the CRJavaHelper class.
         try {
              String reportName = "ProactiveEventsSummaryData.rpt";
              ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName);
              if (clientDoc == null) {
                   // Report can be opened from the relative location specified in the CRConfig.xml, or the report location
                   // tag can be removed to open the reports as Java resources or using an absolute path
                   // (absolute path not recommended for Web applications).
                   clientDoc = new ReportClientDocument();
                   //clientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString);
                                  clientDoc.setReportAppServer("inproc:jrc");
                   // Open report
                   clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);
                   // Store the report document in session
                   session.setAttribute(reportName, clientDoc);
              // ****** BEGIN CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET **************** 
                   // Create the CrystalReportViewer object
                   CrystalReportViewer crystalReportPageViewer = new CrystalReportViewer();
                   String reportSourceSessionKey = reportName+"ReportSource";
                   Object reportSource = session.getAttribute(reportSourceSessionKey);
                   if (reportSource == null)
                        reportSource = clientDoc.getReportSource();
                        session.setAttribute(reportSourceSessionKey, reportSource);
                   //     set the reportsource property of the viewer
                   crystalReportPageViewer.setReportSource(reportSource);
                   // Apply the viewer preference attributes
                   // Process the report
                   crystalReportPageViewer.processHttpRequest(request, response, application, null);
              // ****** END CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET ****************          
         } catch (ReportSDKExceptionBase e) {
             out.println(e);
    %>
    With this code , report gets displayed in the portlet but none of the actions on thre report like next page click , search button , opening subreport , clicking on drill-downs are working . The error in the explorer console is as shown below
    Error: CrystalViewerCrystalEvent is not defined
    javascript:CrystalViewerCrystalEvent('CrystalViewer',%20'tb=next')
    PageSource of the web page shows the CrystalViewerCrystalEvent javascript function defined but for somereason its not recognized by the portlet. Has anyone worked on displaying crystalreports in a portlet ?

    Code attached
    <%@ page import="com.crystaldecisions.report.web.viewer.CrystalReportViewer,
    com.crystaldecisions.sdk.occa.report.application.OpenReportOptions,
    com.crystaldecisions.sdk.occa.report.application.ReportClientDocument,
    com.crystaldecisions.sdk.occa.report.lib.ReportSDKExceptionBase" %>
    <portlet:defineObjects />
    <%
         // This sample code calls methods from the CRJavaHelper class, which
         // contains examples of how to use the BusinessObjects APIs. You are free to
         // modify and distribute the source code contained in the CRJavaHelper class.
         try {
              String reportName = "ProactiveEventsSummaryData.rpt";
              ReportClientDocument clientDoc = (ReportClientDocument) session.getAttribute(reportName);
              if (clientDoc == null) {
                   // Report can be opened from the relative location specified in the CRConfig.xml, or the report location
                   // tag can be removed to open the reports as Java resources or using an absolute path
                   // (absolute path not recommended for Web applications).
                   clientDoc = new ReportClientDocument();
                   //clientDoc.setReportAppServer(ReportClientDocument.inprocConnectionString);
                                  clientDoc.setReportAppServer("inproc:jrc");
                   // Open report
                   clientDoc.open(reportName, OpenReportOptions._openAsReadOnly);
                   // Store the report document in session
                   session.setAttribute(reportName, clientDoc);
              // ****** BEGIN CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET **************** 
                   // Create the CrystalReportViewer object
                   CrystalReportViewer crystalReportPageViewer = new CrystalReportViewer();
                   String reportSourceSessionKey = reportName+"ReportSource";
                   Object reportSource = session.getAttribute(reportSourceSessionKey);
                   if (reportSource == null)
                        reportSource = clientDoc.getReportSource();
                        session.setAttribute(reportSourceSessionKey, reportSource);
                   //     set the reportsource property of the viewer
                   crystalReportPageViewer.setReportSource(reportSource);
                   // Apply the viewer preference attributes
                   // Process the report
                   crystalReportPageViewer.processHttpRequest(request, response, application, null);
              // ****** END CONNECT CRYSTALREPORTPAGEVIEWER SNIPPET ****************          
         } catch (ReportSDKExceptionBase e) {
             out.println(e);
    %>
    Edited by: teethoma on Nov 30, 2009 10:06 AM

  • Paging issues using a dynamic view object...

    I am working on an application that uses JAG to generate JSP pages, i had the requirement to use dynamic view objects where the view object query is generated at runtime. The rest of the application is more or less the same... I used the defult functionality provided by TableScrollButtons.jsp file for paging. Now the problem im facing is that while the '>' and '<' buttons are working fine, i cant seem to navigate to the pages using the drop down...
    With the default handler, whenever i select the range the range displayed remains the same ie 1-10, 10 being the rangesize, but the rows are refreshed with values from the next page. Also, if the next page is the last and is incomplete, then the rows are pushed in from the bottom, so that the last page is always full...I tried the tuning panel in the view object edit dialogue and all settings are fine (i think)...could anyone please tell me what i am doing wrong??

    could it be because i am using a dynamic view object with dynamic bindings? i am using the preparemodel() method in the action as follows...
    protected void prepareModel(DataActionContext ctx) throws Exception {
    inferRangeBindingIfUnset(ctx);
    ctx.getBindingContainer().setEnableTokenValidation(false);
    String sql = ctx.getHttpServletRequest().getParameter("sql");
    String cost=ctx.getHttpServletRequest().getParameter("CostCostCent");
    String event=ctx.getHttpServletRequest().getParameter("event");
    if (sql != null && event == null) {
    setupDynamicQueryAndDynamicBindings(ctx,sql.substring(1),cost);
    if (retrieveOnlyCurrentPageFromDatabase()) {
    ViewObject vo = getIterForPaging(ctx).getViewObject();
    if (vo.getAccessMode() != ViewObject.RANGE_PAGING) {
    vo.setAccessMode(ViewObject.RANGE_PAGING);
    // if(event==null)
    super.prepareModel(ctx);
    ctx.getBindingContainer().setEnableTokenValidation(true);
    if (ctx.getEvents() == null || ctx.getEvents().size() ==0) {
    setPage(ctx,1);
    setLastPage(ctx,getIterForPaging(ctx).getRowSetIterator().getEstimatedRangePageCount());
    else if(event.equals("setRangeStart")) {
    setPageFromRequest(ctx);
    }

  • Error when trying to use the Log Viewer

    Hello experts, today I wanted to examine some logs using the Log Viewer on Visual Administrator. However, when clicking on this service, the Visual Administrator would freeze for a long while and after that, an error message was displayed. I do not remember the exact message, but it was something like "A fatal error occurred. For more information, click on the Details button". After clicking on that button, the following error was displayed:
    com.sapmarkets.bam.util.BAMRuntimeException
    at com.sapmarkets.bam.jmx.connector.rmi.AbstractConnectorClient.invoke(AbstractConnectorClient.java:110)
    at $Proxy31.getAttribute(Unknown Source)
    at com.sapmarkets.bam.application.logdepot.AbstractLogDepot.getAttribute(AbstractLogDepot.java:236)
    at com.sapmarkets.bam.application.logdepot.AbstractLogDepot.getLogDescriptors(AbstractLogDepot.java:84)
    at com.sapmarkets.bam.view.config.RemoteViewConfiguration.initializeViewConfiguration(RemoteViewConfiguration.java:65)
    at com.sapmarkets.bam.view.overview.OverviewFacade.populateOverview(OverviewFacade.java:219)
    at com.sapmarkets.bam.view.AbstractLogViewerAppplication.populateOverview(AbstractLogViewerAppplication.java:171)
    at com.sapmarkets.bam.view.AbstractLogViewerAppplication.initOverview(AbstractLogViewerAppplication.java:652)
    at com.sapmarkets.bam.j2ee.services.logviewer.gui.LogViewerRuntimeLogical.setRuntime(LogViewerRuntimeLogical.java:121)
    at com.sapmarkets.bam.j2ee.services.logviewer.gui.LogViewerRuntimeLogical.show(LogViewerRuntimeLogical.java:88)
    at com.sap.engine.services.adminadapter.gui.node.ServiceNodeView.selectSingleService(ServiceNodeView.java:202)
    at com.sap.engine.services.adminadapter.gui.node.ServiceNodeView.selectNode(ServiceNodeView.java:156)
    at com.sap.engine.services.adminadapter.gui.AdminManager.selectServiceNode(AdminManager.java:290)
    at com.sap.engine.services.adminadapter.gui.AdminManager.selectNode(AdminManager.java:170)
    at com.sap.engine.services.adminadapter.gui.AdminManager.valueChanged(AdminManager.java:108)
    at javax.swing.JTree.fireValueChanged(JTree.java:2392)
    at javax.swing.JTree$TreeSelectionRedirector.valueChanged(JTree.java:2763)
    at javax.swing.tree.DefaultTreeSelectionModel.fireValueChanged(DefaultTreeSelectionModel.java:629)
    at javax.swing.tree.DefaultTreeSelectionModel.notifyPathChange(DefaultTreeSelectionModel.java:1076)
    at javax.swing.tree.DefaultTreeSelectionModel.setSelectionPaths(DefaultTreeSelectionModel.java:287)
    at javax.swing.JTree.setSelectionInterval(JTree.java:2041)
    at javax.swing.plaf.basic.BasicTreeUI$TreeIncrementAction.actionPerformed(BasicTreeUI.java:3268)
    at javax.swing.SwingUtilities.notifyAction(SwingUtilities.java:1530)
    at javax.swing.JComponent.processKeyBinding(JComponent.java:2438)
    at javax.swing.JComponent.processKeyBindings(JComponent.java:2473)
    at javax.swing.JComponent.processKeyEvent(JComponent.java:2401)
    at java.awt.Component.processEvent(Component.java:4978)
    at java.awt.Container.processEvent(Container.java:1569)
    at java.awt.Component.dispatchEventImpl(Component.java:3684)
    at java.awt.Container.dispatchEventImpl(Container.java:1627)
    at java.awt.Component.dispatchEvent(Component.java:3546)
    at java.awt.KeyboardFocusManager.redispatchEvent(KeyboardFocusManager.java:1713)
    at java.awt.DefaultKeyboardFocusManager.dispatchKeyEvent(DefaultKeyboardFocusManager.java:627)
    at java.awt.DefaultKeyboardFocusManager.preDispatchKeyEvent(DefaultKeyboardFocusManager.java:831)
    at java.awt.DefaultKeyboardFocusManager.typeAheadAssertions(DefaultKeyboardFocusManager.java:741)
    at java.awt.DefaultKeyboardFocusManager.dispatchEvent(DefaultKeyboardFocusManager.java:592)
    at java.awt.Component.dispatchEventImpl(Component.java:3575)
    at java.awt.Container.dispatchEventImpl(Container.java:1627)
    at java.awt.Window.dispatchEventImpl(Window.java:1606)
    at java.awt.Component.dispatchEvent(Component.java:3546)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:480)
    at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:201)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:151)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:145)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:137)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)
    Caused by: java.lang.reflect.InvocationTargetException
    at com.sapmarkets.bam.util.FutureResult.get(FutureResult.java:71)
    at com.sapmarkets.bam.jmx.connector.rmi.AbstractConnectorClient.invoke(AbstractConnectorClient.java:104)
    ... 45 more
    Caused by: java.lang.OutOfMemoryError: Java heap space
    at javax.management.ObjectName.construct(ObjectName.java:385)
    at javax.management.ObjectName.readObject(ObjectName.java:1063)
    at sun.reflect.GeneratedMethodAccessor60.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1736)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
    at java.util.ArrayList.readObject(ArrayList.java:559)
    at sun.reflect.GeneratedMethodAccessor63.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1736)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
    at java.util.HashMap.readObject(HashMap.java:1015)
    at sun.reflect.GeneratedMethodAccessor64.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:838)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1736)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
    at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:1835)
    at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1759)
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1646)
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1274)
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:322)
    The lines I marked in bold are the ones that caught my attention. What is this error and how can I fix it?

    Hello, thanks for your answers. I checked the JVM Heap size, we are using a 64 bit HW, and it was already set to 2048M, as well as both parameters Xms and Xmx. I also checked our virtual memory and directory space, the virtual memory looks fine, and the <SID> directory uses 5 GB of space.
    If you wish, I can write the configuration found on the Config Tool, where you set the JVM Heap size and other parameters.

  • How to use a Text View to show the current user

    Hi Experts,
    I am using a Text View to show the current logged on user.
    Also i need to retrieve the date of creation of proposal and show it as output parameter.
    I am using the following code but it is not working properly.
    Please help me out regarding the same.
    Method technicalDescription()
    //Attribute User to store user name
    IGPAttributeInfo user = output.addAttribute("USER", IGPAttributeInfo.BASE_STRING);
                user.setMultiplicity(IGPAttributeInfo.MULITIPLICITY_1_1);
    //Attribute date to store current system date           
    IGPAttributeInfo date = output.addAttribute("DATE", IGPAttributeInfo.BASE_DATE);
                date.setMultiplicity(IGPAttributeInfo.MULITIPLICITY_1_1);
    Method execute()
    //getting current system date
    Date currDate = new Date(System.currentTimeMillis());
              contextElement.setDate(currDate);
    //Retrieve Current User Details
    try {
    IWDClientUser user = WDClientUser.getCurrentUser();
    String firstName = user.getFirstName();
    String lastName = user.getLastName();          
    String userName = lastName + " " + firstName;
    contextElement.setUserName(userName);
    } catch (WDUMException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    Method complete()
    output.setAttributeValue("USER", wdContext.currentContextElement().getUserName());
    output.setAttributeValue("Date", wdContext.currentContextElement().getDate());
    Thanks a lot.
    Cheers
    Gaurav Raghav

    There are a few ways, for example declare an IBOutlet for the text field and then use it with NSControl's stringValue: method (inherited by the NSTextField), or bind the value of the text field to a property, etc.  What have you got so far?

  • To use a maintainence view in programe.

    Unlike projection and database views, i am not able to use maintainence views for getting the data using the SELECT query .
    How can we get the associated data using the maintainence view.

    Hi,
    We can call the VIEW_MAINTENANCE_CALL function module inorder to use the maintenace view.
    To this pass the view names and U for Updattion and S for display.
    This maintainenance is used to update the tables and display them.
    pls check this link for it's usage -
    Plant , Storage Locations...
    Regards
    Lekha

  • How to use a Text View to show the current user in WDJ

    Hi Experts,
    I am using a Text View to show the current logged on user.
    Also i need to retrieve the date of creation of proposal and show it as output parameter.
    I am using the following code but it is not working properly.
    Please help me out regarding the same.
    Method technicalDescription()
    //Attribute User to store user name
    IGPAttributeInfo user = output.addAttribute("USER", IGPAttributeInfo.BASE_STRING);
    user.setMultiplicity(IGPAttributeInfo.MULITIPLICITY_1_1);
    //Attribute date to store current system date
    IGPAttributeInfo date = output.addAttribute("DATE", IGPAttributeInfo.BASE_DATE);
    date.setMultiplicity(IGPAttributeInfo.MULITIPLICITY_1_1);
    Method execute()
    //getting current system date
    Date currDate = new Date(System.currentTimeMillis());
    contextElement.setDate(currDate);
    //Retrieve Current User Details
    try {
    IWDClientUser user = WDClientUser.getCurrentUser();
    String firstName = user.getFirstName();
    String lastName = user.getLastName();
    String userName = lastName + " " + firstName;
    contextElement.setUserName(userName);
    } catch (WDUMException e1) {
    // TODO Auto-generated catch block
    e1.printStackTrace();
    Method complete()
    output.setAttributeValue("USER", wdContext.currentContextElement().getUserName());
    output.setAttributeValue("Date", wdContext.currentContextElement().getDate());
    Thanks a lot.
    Cheers
    Gaurav Raghav

    You can use a text string as the reference.
    If you use the VISA Find Resource function, it will return an array of strings which you can index in your code, and store either the index, or store the string itself. You can even use strings like COM1 and COM2, assuming those ports are available.
    The challenge is when you move from one machine to another, where the serial ports may be different on the other machine.
    Message Edited by LabViewGuruWannabe on 01-07-2008 06:33 AM
    Message Edited by LabViewGuruWannabe on 01-07-2008 06:37 AM
    Attachments:
    VISA find.png ‏5 KB

Maybe you are looking for