Report Engine SDK Performance

What are the recommended settings for businessobjects xI (version 11.5)
Are there any tips to improve performance and reliability of the Report Engine SDK?
It is very slow. We are using a Java client to interact with the dswsbobje libraries.
Calls to " reportEngine.getDocumentInformation" are not consistently working even from the same program.
We supply the prompt info parameters to generate the report.
It works for the first 3 times, then fails a couple of times, and then works again.
Sometimes a report load in 3 seconds, and other times it loads in 30 seconds or not at all.

Why not open a case with SAP Support?
Sincerely,
Ted Ueda

Similar Messages

  • Report Engine SDK sample code questions

    Hello,
    I've been able to view a boxi report in an iframe via the Enterprise SDK by modifying the sample code in the HowToViewWebiReports_VB example.
    I'm not totally happy with the way that's working, so I'm looking at using the Report Engine SDK, although I understand it's performance and scalability isn't quite as good as the Enterprise SDK.
    I'm a VB.NET guy, not a C# guy, and I'm not clear on how the wssdk_net2.0_portal_sample_12.0_en example is supposed to work.
    I don't have one and my CMS server is running Tomcat, not IIS so there's not going to be an ASP.NET web service running there.
    In the dsws.config for the wssdk_net2.0_portal_sample_12.0_en example I put the name of the CMS server, but it's looking for a web service at http://cmsservername:8080/dswsbobje/services/Session, but I get a 404 when i try to hit that. 
    I'm not familiar with Tomcat, but in searching around on the server, I see a dswsbobje directory under the webapps in my Tomcat installation, but I don't see a services or a Session folder underneath that.  In the dswsbobje folder I see the following folders:
    BOAR-INF
    META-INF
    WEB-INF
    xsd
    Is there something else that needs to be installed on the Tomcat server to get the web service running?
    -Eric

    It looks like I have something there.  When I launch launch http://servername:8080/dswsbobje,  I see:
    Apache-AXIS
    Hello! Welcome to Apache-Axis.
    What do you want to do today?
    Validate the local installation's configuration
    see below if this does not work.
    To enable the disabled features, uncomment the appropriate declarations in WEB-INF/web.xml in the webapplication and restart it.
    Validating Axis
    If the "happyaxis" validation page displays an exception instead of a status page, the likely cause is that you have multiple XML parsers in your classpath. Clean up your classpath by eliminating extraneous parsers.
    I clicked on the "Validate" link and I see:
    Axis Happiness Page
    Examining webapp configuration
    QaaWS Configuration
    QaaWS Servlet is not valid.
    ErrorServer servername not found or server may be down
    See Web Application log to get more info or read QaaWS v2 documentation starting with section
    Perhaps this environment needs some additional configuration?

  • Please, help me with with Report Engine SDK!

    I am using Report Engine SDK. This is my code:
    <%@ page import="com.crystaldecisions.sdk.framework.*"%>
    <%@ page import="com.crystaldecisions.sdk.exception.SDKException"%>
    <%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoStore"%>
    <%@ page import="com.crystaldecisions.sdk.occa.infostore.IInfoObject"%>
    <%@ page import="com.crystaldecisions.sdk.occa.security.ILogonTokenMgr"%>
    <%@ page import="com.crystaldecisions.sdk.occa.infostore.*"%>
    <%@ 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.exportoptions.ReportExportFormat,
                     java.io.ByteArrayInputStream"
    %>
    <%@ page import="java.util.Iterator"%>
    <%
         // Reference to the Report Engine:
    %>
    <%@ page import="com.businessobjects.rebean.wi.*"%>
    <%!IInfoObjects getList(IInfoStore iStore) {
              IInfoObjects list = null;
              String query = "SELECT SI_ID, SI_NAME, SI_PARENTID," + " SI_KIND, SI_INSTANCE, SI_DESCRIPTION FROM"
                        + " CI_INFOOBJECTS";
              try {
                   list = iStore.query(query);
              } catch (SDKException sdke) {
                   list = null;
              return list;
         }%>
    <%!     void see_all_objects(IInfoStore iStore){          
              IInfoObjects webiDocs = getList(iStore);
              Iterator infoObjectsIter = webiDocs.iterator();
              while (infoObjectsIter.hasNext()) {
                   IInfoObject folder = (IInfoObject) infoObjectsIter.next();
                   System.out.println(folder.getID());
                   System.out.println(folder.getTitle());
                   System.out.println(folder.getDescription());
         %>
    <%
         String CMS = request.getParameter("cms");
         String userID = request.getParameter("user");
         String password = request.getParameter("password");
         String auth = request.getParameter("auth");
         if (CMS == null)
              CMS = "";
         if (userID == null)
              userID = "";
         if (password == null)
              password = "";
         if (auth == null)
              auth = "";
         IEnterpriseSession enterpriseSession;
         try {
              ISessionMgr mySessionMgr = CrystalEnterprise.getSessionMgr();
              enterpriseSession = mySessionMgr.logon(userID, password, CMS, auth);
              if (enterpriseSession != null) {//Create and store useful objects for the session.
                   session.setAttribute("EnterpriseSession", enterpriseSession);
                   IInfoStore iStore = (IInfoStore) enterpriseSession.getService("InfoStore");
                   session.setAttribute("InfoStore", iStore);
                   //see_all_objects(iStore);
                   //String folderQuery = "SELECT * FROM CI_INFOOBJECTS WHERE SI_NAME='4.rpt'";
                        String folderQuery = "SELECT * FROM CI_INFOOBJECTS WHERE SI_NAME='5.rpt'";
                   IInfoObjects folders = iStore.query(folderQuery);
                   IInfoObject folder = (IInfoObject)folders.get(0);
                   //Instantiation of a Report Engine:
                   ILogonTokenMgr iLManager = enterpriseSession.getLogonTokenMgr();
                   ReportEngines repEngines = (ReportEngines) enterpriseSession.getService("ReportEngines");
                   ReportEngine widocRepEngine = (ReportEngine) repEngines
                             .getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);//WI allows editing and creation
                   session.setAttribute("widReportEngine", widocRepEngine);
                   ReportEngine fcdocRepEngine = (ReportEngine) repEngines
                             .getService(ReportEngines.ReportEngineType.FC_REPORT_ENGINE); //FC just viewing
                   session.setAttribute("fcdReportEngine", fcdocRepEngine);
                   Opening documents:
                        1. Establish a BusinessObjects Enterprise session for the user
                        2. Get an identifier for the document
                        3. Retrieve the ReportEngine instance to open the document of desired type.
                        4. Open the document using the ReportEngine.openDocument method for Web
                        Intelligence or Desktop Intelligence documents.
                   int idReport = folder.getID();     
                   System.out.println("Document about to be opened "+idReport);
                   System.out.println("Name file: "+folder.getTitle());
                   DocumentInstance docInstance= widocRepEngine.openDocument(idReport);                
              //     DocumentInstance docInstance = fcdocRepEngine.openDocument(idReport);
                   System.out.println("Document opened");
                   String docToken = docInstance.getStorageToken();
                   //User perform actions on document
                   // Open the document using its repository ID
                   BinaryView docBinaryView = (BinaryView)docInstance.getView(OutputFormatType.PDF);
                   //Parameterize the response
                   response.setContentType("application/pdf");
                   response.setHeader("Content-Type", "application/pdf");
                   response.setDateHeader("expires", 0);
                   //output the binary stream via the response object
                   docBinaryView.getContent(response.getOutputStream());
                   System.out.println("Document converted");
                   //To view an individual report, call Report.getView
                   //Open the first version of the document and save.
                   DocumentInstance docToSave = repEngines.getDocumentFromStorageToken(docToken);
                   docToSave.save();
                   System.out.println("Document converted");
                   // Close of the reportEngine
                   repEngines.close();
                   response.sendRedirect("home.html");
              } else
                   response.sendRedirect("index.jsp");
         } catch (SDKException mySDKExept) {
              response.sendRedirect("index.jsp");
         Opening documents:
         //To view an entire document, call DocumentInstance.getView
    %>
    Edited by: Diego XMunch on Mar 10, 2011 3:41 PM

    But I have this error:
    com.businessobjects.rebean.wi.ServerException: Error interno al llamar a la API 'openDocumentMDP'. (Error: ERR_WIS_30270)
         at com.businessobjects.rebean.wi.occa.OccaDocumentComAdapter.checkOpenDocError(Unknown Source)
         at com.businessobjects.rebean.wi.occa.OccaDocumentComAdapter.openDocument(Unknown Source)
         at com.businessobjects.rebean.occa.OccaReportEngineComAdapter.openDocument(Unknown Source)
         at com.businessobjects.rebean.wi.ReportEngineImpl.openDocument(Unknown Source)
         at com.businessobjects.rebean.wi.occa.WebiReportEngine.openDocument(Unknown Source)
         at org.apache.jsp.login_jsp._jspService(login_jsp.java:163)
         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:334)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
         at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
         at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
         at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
         at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
         at java.lang.Thread.run(Thread.java:619)

  • Report Engine SDK: CommunicationException when accessing IReportEngine members

    Hello,
    I have installed BOXI 3.1 SP3, including the .NET SDK, and I am trying to use the Report Engine SDK part to navigate through a WebIntelligence document (analyse its structure, etc.), via a Console App.
    I built my console app targeting .NET framework 3.5, and compiled it in 32 bits mode (x86 platform). I can access the standard SDK without any problem and log in to the CMS then retrieve any InfoObject instances from my enterprise server.
    My problem occurs when I try to access my BusinessObjects.ReportEngine.IReportEngine instance's members. Sample lines of code:
    SessionMgr sessionManager = new SessionMgr();
    EnterpriseSession session = sessionManager.Logon(login, password, cmsName, authType);
    InfoStore infoStore = (InfoStore)session.GetService("InfoStore");
    UserInfo userInfos = session.UserInfo;
    string logonToken = session.LogonTokenMgr.CreateWCAToken("", 1, -1);
    ReportEngines reportEngines = new ReportEngines(logonToken);
    IReportEngine reportEngine = (IReportEngine)reportEngines.getService(ReportEngineType.WI_ReportEngine);
    bool test = reportEngine.IsReady; // or any other member of reportEngine, like reportEngine.OpenDocument(...)
    An exception of type 'BusinessObjects.ReportEngine.CommunicationException' occured.
    Message:
    The Web Intelligence server could not be reached. Contact your Business Objects administrator. (Error: RWI 00236), Session Init Failure,
    Stacktrace:
       à BusinessObjects.ReportEngine.WI.Internal.Server.OCCA.OCCAServerStub.Connect(Boolean forceNewInstance)
       à BusinessObjects.ReportEngine.WI.Internal.Server.OCCA.OCCAServerStub..ctor(OCCAServerConnection connection, Boolean forceNewInstance)
       à BusinessObjects.ReportEngine.WI.Internal.Server.OCCA.OCCAServerConnection.get_Stub()
       à BusinessObjects.ReportEngine.WI.Internal.Server.ServerCaller.SetupStub()
       à BusinessObjects.ReportEngine.WI.Internal.Server.ServerCaller..ctor(IServerSession session, IServerProtocol protocol, IServerConnectionInfo info)
       à BusinessObjects.ReportEngine.WI.Internal.WIDocumentInstance..ctor(WIReportEngine engine, Int32 documentId, OpenDocumentParameters parameters)
       à BusinessObjects.ReportEngine.WI.Internal.WIDocumentInstance..ctor(WIReportEngine engine, Int32 documentId)
       à BusinessObjects.ReportEngine.WI.Internal.WIReportEngine.GetAnyServerInstance()
       à BusinessObjects.ReportEngine.WI.Internal.WIReportEngine.get_IsReady()
    What do you suggest?

    Hi,
    Enterprise / ReportEngine SDK is not supported / tested / compatible with desktop / console apps.
    Could you try the same logic with a web services sdk, as WebServices SDk is the only SDK which could be used to develop thick client apps.
    - Bhushan
    Follow us on Twitter
    Got Enhancement ideas? Try the SAP Idea Place
    Getting started and moving ahead with Crystal Reports .NET applications.

  • Report Engine SDK - Rbean usage in standalone java application

    Post Author: Berndb
    CA Forum: JAVA
    In BOXI the rebean sdk is available in the Report Engine SDK.
    I remember that in the 6.5 world one could use RBEAN interface in a standalone java application.
    Is this still possible in BOXI R2?
    If yes can you supply a sample classpath which shows all libraries that needs to be assigned.
    Thanks in advance.
    bernd

    Post Author: datahog
    CA Forum: JAVA
    Ted's right, but for fun, take what you need from:
    <installation drive>:\Program Files\Business Objects\Tomcat\webapps\businessobjects\enterprise115\desktoplaunch\WEB-INF\lib
    and de-reference what's not needed when your project's done, but be careful.
    I've actually done some standalone Swing-based webi report renderers using https://xhtmlrenderer.dev.java.net/ + docHTMLView.getStringpart + TagSoup

  • Is it possible to use the JAVA Report Engine SDK to modify DESKI reports?

    Post Author: Nadine
    CA Forum: JAVA
    Hi, is it possible to add a complex filter to a DESKI report using the JAVA report engine sdk?
    In the developer tutorials for this API, I've only found references to WEBI in terms of modifying reports, though it seems to be possible to view DESKI reports with this sdk.
    I am a bit confused in terms of the scope of this API and how I would use it in regard to DESKI.
    Many thanks for any suggestions!
    Nadine

    Post Author: Ted Ueda
    CA Forum: JAVA
    Current (XI R2) version of ReportEngine API only supports refreshing/viewing functionality for Desktop Intelligence documents.  Document modification/creation is only supported with Web Intelligence documents.  Queries aren't modifiable for Deski using ReportEngine API - you can only do so using Desktop Intelligence Reporter SDK, which is COM based.Sincerely,Ted Ueda

  • BO edge 3.1 howto Report Engine SDK sample

    Hello,
    I'm trying to install any report engine SDK sample on a BO Edge 3.1 installation.
    The webserver is WACS (Web Application Container Server).
    I don't know how to set up a web application that uses the SDK, and I cannot find any useful documentation.
    Has anyone done this?

    Hello,
    Crystal and Xcelsius are client tools so you don't need to install them on the server.
    It might be useful to install them on it when you are troubleshooting issues which might be related to network (firewall, load balancer,...) but otherwise you can keep them on the clients machine.
    The client machines connect to the server by specifying the server details (CMS name and valid user account) when you try to export the reports to the repository.
    Regards,
    Philippe

  • Passing dynamic prompt value using Report Engine SDK

    Hello Experts,
    I have created a webi report which contains prompt. Using SDK, I would like to catch the value of prompt which is selected by a user at runtime.
    e.g. If prompt contains values year, quarter, month, etc and user has selected value of u2018Quarteru2019 at run time, then I would like to catch that value using Report Engine SDK.
    I tried to implement prompt.getCurrentValues(). However that is not working.
    Can someone please help me to figure out the way to catch this dynamic prompt value using Report Engine SDK?
    Thanks,
    John

    Where is the prompt values being set, and where are you trying to catch it?
    Workflow description is missing here.
    Sincerely,
    Ted Ueda

  • Error: RWI 00236 in retrieving Recordset via XIR2 Java SDK Report Engine

    Hi,
    I use XIR2 Rebean Webi report engine SDK and I am trying to retrieve the recordset of a webi document. I can get all sorts of other properties like SQL, data providers etc but when it comes to retrieving the recordset I get the following error message:
    "Exceptio occurred  : com.businessobjects.rebean.wi.CommunicationException: The W
    eb Intelligence server could not be reached. Contact your Business Objects admin
    istrator. (Error: RWI 00236)"
    I first instantiate the ISessionMgr then I get the enterpriseSession by logging in
    Then I get the Infostore, and then I prepare my string for the webi doc to get the Infoobjects
    String queryStr
    // set queryStr  to your webi document
    String queryStr = "SELECT * FROM CI_INFOOBJECTS WHERE SI_KIND='" + CeKind.WEBI + "' AND  SI_INSTANCE=0 AND SI_NAME='" + "MyWebiDoc" + "'";
    IInfoObjects boInfoObjects = (IInfoObjects) boInfoStore.query(queryStr);
    IInfoObject infoObject = (IInfoObject) boInfoObjects.get(0);
    ReportEngines boReportEngines = (ReportEngines) enterpriseSession.getService("ReportEngines");
    ReportEngine boReportEngine = boReportEngines.getService(ReportEngines.ReportEngineType.WI_REPORT_ENGINE);
    DocumentInstance boDocumentInstance = boReportEngine.openDocument(infoObject.getID());
    DataProvider dp = null;
                                   dp = boDocumentInstance.getDataProviders().getItem(0);
    dp.runQuery();                         //SO FAR SO GOOD
    Recordset rs = null;
                       rs = dp.getResult(0); //THIS IS WHERE THE PROBLEM OCCURS
    It compiles fine and runs fine up until the point while I try to retrieve the recordset
    __>
    Exceptio occurred  : com.businessobjects.rebean.wi.CommunicationException: The W
    eb Intelligence server could not be reached. Contact your Business Objects admin
    istrator. (Error: RWI 00236)
    The query only retrieves 5 rows so I would tend to rule out that the problem is due to the size of the recordset.
    Am I missing something?
    Any idea would be very much appreciated.
    Thanks in advance
    Fabio
    Edited by: Fabio Sangirogi on Jul 30, 2009 1:25 PM

    I know that "Recordset"  is an interface therefore cannot be directly instantiated.
    With this in mind, would the following make sense in Java?
    Recordset rs = null;
                       rs = dp.getResult(0);
    (dp is a Dataprovider data type)
    I checked the object model: the Dataprovider class has got the method
    "getResult(in flowIndex: int): Recordset"
    so it looks like it can instantiate the Recordset interface.For a simple data provider I believe the index integer input parameter is 0.
    (1 would return array out of bound).
    I was also thinking of the QueryString I used
    String queryStr = "SELECT * FROM CI_INFOOBJECTS WHERE SI_KIND='" + CeKind.WEBI + "' AND SI_INSTANCE=0 AND SI_NAME='" + "MyWebiDoc" + "'";
    I would have thought it is fine since I can get other properites of the dataprovider but could there be something not right in the query string as far as the recordset is concerned? Any other ideas?
    Thanks in advance.
    Fabio

  • Report Engine API 4.0 (upgrade to 4.1)

    Hi,
    In the incoming days we will face the upgarde of our current SAP BI Platform (4.0 SP8) to next minor release (4.1). One of most challenging points is to ensure the proper behaviour of existing SDK customizations based on Report Engine API available at 4.0. I know that SAP is promoting use of Restful Web Services as a way to implement functionality previously delivered by JAVA API but my question is. Will current Report Engine API based developments work under in 4.1 release? In other words, has SAP planned an smooth transition from Report Engine API to restful Web Services scenario (compatibility scenario ) or code will have to be completely rewriten ?
    Thanks,

    Hi Alfons,
    As per the current situations Report Engines SDKs are still the same in BI 4.1 likewise in BI 4.0 all patches. You can perform the below functionalities with BI 4.x Report Engines SDK :
    - Export Webi Report to some other format.
    - View a Webi Report.
    - Partial drilling.
    - Save prompts in Webi reports etc.(Most of the functionalities are deprecated like schedule with prompts etc.)
    On the other hand with Webi Raylight REST SDKs you can leverage the workflow of legacy functional parity of BusinessObjects XI 3.1 Report Engines SDKs.
    By seeing as a future, it looks like most of the new development & enhancement are happens in the Webi REST world. So planning to rewrite the code in terms of REST SDKs is beneficial.
    As you are talking about the compatability, Report Engines Java SDKs are same upto BI 4.1 Patch 4 release. But it might be possible that in future Report Engines Java SDKs are totally deprecated. You can also refer the Object Model Digram of Report Engines SDKs which gives you list of deprecated interfaces, classes & methods.
    Hope it helps.
    Thanks,
    Shailendra

  • Print a report in crystal Report using SDK

    Hi Dear;
    any body can publish a sample code how can i print a report built in crystal report using SDK?
    regards;

    Hi Dany,
    Hope the following code will help u .
    before calling the function make a XML by using dataset.writexml, in which you have to pass the name of your stored procedure.
    for this you have to decalre commantype as stored procedure.
    first parameter of this is rpt name . asecon paramer is ur xml name which you got from DAtaset.writexml.
    Sub ShowReport(ByVal rptName As String, ByVal SourceXML As String)
            Try
                Dim oSubReport As CrystalDecisions.CrystalReports.Engine.SubreportObject
                Dim rptSubReportDoc As CrystalDecisions.CrystalReports.Engine.ReportDocument
                Dim rptView As New CrystalDecisions.Windows.Forms.CrystalReportViewer
                Dim rptPath As String = System.Windows.Forms.Application.StartupPath & "\" & rptName
                Dim rptDoc As New CrystalDecisions.CrystalReports.Engine.ReportDocument
                rptDoc.Load(rptPath)
                For Each oMainReportTable As CrystalDecisions.CrystalReports.Engine.Table In rptDoc.Database.Tables
                    oMainReportTable.Location = System.Windows.Forms.Application.StartupPath & "\" & SourceXML
                Next
                For Each rptSection As CrystalDecisions.CrystalReports.Engine.Section In rptDoc.ReportDefinition.Sections
                    For Each rptObject As CrystalDecisions.CrystalReports.Engine.ReportObject In rptSection.ReportObjects
                        If rptObject.Kind = CrystalDecisions.Shared.ReportObjectKind.SubreportObject Then
                            oSubReport = rptObject
                            rptSubReportDoc = oSubReport.OpenSubreport(oSubReport.SubreportName)
                            For Each oSubTable As CrystalDecisions.CrystalReports.Engine.Table In rptSubReportDoc.Database.Tables
                                oSubTable.Location = System.Windows.Forms.Application.StartupPath & "\" & SourceXML
                            Next
                        End If
                    Next
                Next
                rptView.ReportSource = rptDoc
                rptView.Show()
                Dim oFrm As New System.Windows.Forms.Form
                rptView.DisplayGroupTree = False
                rptView.Dock = System.Windows.Forms.DockStyle.Fill
                rptView.Location = New System.Drawing.Point(0, 0)
                oFrm.AutoScaleBaseSize = New System.Drawing.Size(5, 13)
                oFrm.Controls.Add(rptView)
                oFrm.Name = "rptForm"
                oFrm.Text = "rptForm"
                oFrm.ResumeLayout(False)
                oFrm.WindowState = System.Windows.Forms.FormWindowState.Maximized
                oFrm.TopMost = True
                oFrm.ShowDialog()
            Catch ex As Exception
                oApplication.MessageBox(ex.Message)
            End Try
        End Sub

  • Integration with a Reporting Engine Web Service

    I want to use a separate reporting engine for my reports. That is, use APEX to perform the filtering and parameter settings and preview the result in APEX. But the final formatted output will use a more complex layout. Sorry, cannot use BI Publisher or PL/PDF (license issues). Other FOP solution isn't sufficient as well because I'm planning to centralized our reports.
    I already tried using Jasper Reports (also BIRT and Pentaho,they seem identical to me) Web Service but with no luck. I don't want to invest too much time in learning these tools since I don't know if it will ever work with APEX.
    We do have SQL Server 2005 but I'm currently learning its reporting services. I'm a MS Access developer and already have enough of it. Anybody got a suggestion?
    Thanks

    Hi Mertz,
    Well you have to bear in mind that Oracle have made it incredibly simple to integrate APEX with BIP to produce some visually stunning reports that contain data that can be pretty complex.
    However...obviously you need to stump up the money for BIP to get that level of ease/functionality.
    So, what you're really asking is: is there a way I can produce output just as complex as BIP without the price tag of BIP?
    If that's the question the answer is definitely yes, you can use FOP. Anything you can do using BIP (and the BIP Desktop) tool you can do with FOP (or pretty much everything, I haven't found any real big exceptions to the rule).
    However, the 'price' you pay with FOP is that it's another layer that you need to learn about (unlike diving into the BIP desktop plugins to design your form). However you do get complete control over the layout of your exports.
    John.
    http://jes.blogs.shellprompt.net
    http://apex-evangelists.com

  • Webi and Deski report engine ports

    We're having problems connecting to the webi or deski report engines through a firewall with BO XI R2 Java SDK. We've followed this document extensively :
    https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/0047e5f4-3140-2b10-1bae-de175e4c741c
    We've set the -port and -requestport switches but the opendocument call always hangs and eventually gives out the error :
    No server was available to process the request. Please try again later. (Error: RFC 00101)
    Its definitely a firewall issue - I can turn off the firewall to solve it, but obviously that's not a long term solution.
    I believe we have configured the servers correctly according to that document given we managed to successfully connect to the CMS through a firewall following the same procedure.
    If anyone has any experience connecting to the RAS webi / deski servers through a firewall via the Java SDK, please let me know.
    Greg.

    You should only be getting the getRASConnection() method log with Desktop Intelligence, since the internal server name is RAS21.  It's distinct from the public server name RAS (Report Application Server) that's specific to Crystal Reports.  Not trying to harp on this, just an FYI when posting.
    How about the Desktop Intelligence Cache Server?  All communications to the Desktop Intelligence Report Server goes through the Cache Server.  So it's SDK <-> DeskI Cache <-> DeskI Report Server.
    Sincerely, 
    Ted Ueda

  • Crystal Reports XI Runtime Performance

    I have Crystal Reports XI Developer Edition Installed.  The reports I develop are deployed with a VB6 application using the Crystal Reports XI Merge Modules.  On some of the reports we are seeing severe performance degradation if they are run from a machine with only the runtime installed.  For example, if I run on of the reports (through the VB6 app) on my machine (with CR XI Developer Edition) installed I get the report displyed in 2 - 3 seconds.  Running the same report on a different machine with only the CR XI runtime installed, and against the same database and database server, i.e. identical data set, the report will take 25 - 30 seconds.  Any ideas where to start looking to trace the cause of this performance degradation?
    Thanks in advance
    Ian

    Hi Ian,
    Firstly you should download Cr XI R2 and all of it's service packs to bring you up to the latest version and it's a free download.
    Secondly since you are using VB6 I assume you are using RDC report engine?
    25 - 30 second delay doesn't sound obvious. Most times there is a delay of a minute or so due to the database the reports were designed against is no longer available, the delay is the connection time-out.
    I would open those reports and in the Report Options menu check off Verify on first refresh, and Verify stored procedures. Also open up regedit and go to this location:
    HKEY_CURRENT_USER\Software\Business Objects\Suite 11.0\Crystal Reports\DatabaseOptions and change VerifyWhenDBDriverUpgraded = to No.
    Also change DoAutoSmartLinking = No on both the runtime and your dev PC. It can delay the opening while CR tries to link all tables and fields in the report.
    I would then compare runtime files using various tools, Modules is available for download on our site, and compare all the runtime, not jsut CR. It may be a different version of your DB client or dependencies.
    Next option is to add logging in your application that logs time to open the report, set DB logon info etc. to see which step is actually causing the delay.
    Thank you
    Don

  • List of universe for a deski report using deski report engine.

    We have some Deski reports. While running query builder , we are not able to get list of universe for those reports. (SI_UNIVERSE.SI_TOTAL is 0).
    We need to go for deski report engine approach to get the list for the same. Can someone please help me with the sample code for the same.
    Thanks,
    Abhay

    Hi Ted,
    Do you know if the ability to pull DeskI SQL will be supported through Java reportEngine in the future?  Is there a workaround aside from using COM SDK to pull this data provider information for DeskI?
    Thanks

Maybe you are looking for