Sizing Parameters for  improved Crystal Reports environment

Similar to APS splitting option, what sizing parameter should i consider specific to Crystal Reports 2013 in 4.1 environment
(80%) of their total number of objects are Crystal. All of the reports are direct on top of DB.
Which Memory parameter needs to be tweaked in Crystal Processing/Adaptive Job or Cache server?
Thanks,
Tilak

You have to limit option in Crystal Processing server - Limit this option to may be 100k records -Database records read when previewing and refreshing .
max cache size- in cache server.
If you see any issues while running the crystal reports, you can tweak the option based on the issue- Java heap size, perm size.

Similar Messages

  • How to set printersettings for the crystal report viewer in SAP BI dynamically

    Hello
    I have set the URL method for my crystal report and with parameter passing as shown below, it was displaying the crystal report viewer by connecting to the SAP BI 4.0 server with this method.
    http://cr:port/businessobjects/enterprise115/desktoplaunch/opendoc/openDocument.jsp?sDocName=CRLabelParam&sType=rpt&lsSnPrinted=0&lsSsTestProjectNr=1
    This URL will be called from Web application by different users, i would like to set the printer settings differently for different users for this crystal report viewer how shall i need to set the printer options?
    shall i need to set the printer settings programatically for each user. Please advise me how do i need to proceed.
    Thanks & Regards,
    Rajeswari.

    There are no BI / CR APIs that would do this for you. The way I see it, you'll have to have your own print button and populate it with the correct printer information for each user as they request the report. Of course, alternatively, use the viewer printer button and get the users to choose the correct printer.
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • Trying to programmatically set the data-source for a Crystal reports report.

    I've got the following existing procedure that I need to add to in order to programmatically set the data-source (server, database, username, and password) for a Crystal reports report.
     I added the connectionInfo parts, but can’t figure out how to attach this to the existing
    this._report object.
    This is currently getting the connection data from the report file, but I now need to populate this connection data from a 'config.xml' text file.
    Am I trying to do this all wrong?
    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using CrystalDecisions.CrystalReports.Engine;
    using WGS.Reports.Reports;
    using CrystalDecisions.Shared;
    using WGS.Reports.Forms;
    namespace WGS.Reports
    public class ReportService
    ReportClass _report;
    ParameterFields paramFields;
    ConnectionInfo connectionInfo; // <- I added this
    public ReportService()
    public void DisplayReport(string reportName, int allocationNo)
    if (reportName.ToLower() == "allocationexceptions")
    this._report = new AllocationExceptions();
    PrepareConnection(); // <- I added this
    PrepareAllocationExceptionReport(allocationNo);
    this.DisplayReport();
    private void PrepareConnection() // <- I added this
    //test - these will come from the config.xml file
    this.connectionInfo = new ConnectionInfo();
    this.connectionInfo.ServerName = "testserv\\test";
    this.connectionInfo.DatabaseName = "testdb";
    this.connectionInfo.UserID = "testuser";
    this.connectionInfo.Password = "test";
    this.connectionInfo.Type = ConnectionInfoType.SQL;
    private void PrepareAllocationExceptionReport(int allocationNo)
    this.paramFields = new ParameterFields();
    this.paramFields.Clear();
    ParameterField paramField = new ParameterField { ParameterFieldName = "@AllocationNo" };
    ParameterDiscreteValue discreteVal = new ParameterDiscreteValue { Value = allocationNo };
    paramField.CurrentValues.Add(discreteVal);
    paramFields.Add(paramField);
    private void DisplayReport()
    frmReportViewer showReport = new frmReportViewer();
    showReport.ReportViewer.ReportSource = this._report;
    showReport.ReportViewer.ParameterFieldInfo = paramFields;
    showReport.ShowDialog();
    showReport.Dispose();
    Any help would be much appreciated.

    Hi Garry,
    Please post SAP Crystal Reports questions in their own forums here:
    SAP Crystal Reports, version for Visual Studio
    We don't provide support for this control now. Thanks for your understanding.
    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click
    HERE to participate the survey.

  • One parameter for multiple Crystal reports in Publication

    Does anyone know if it is possible to enter one identical parameter for multiple Crystal reports in publication when scheduling? BOE 3.1 SP3 Windows, Java.
    To elaborate I am creating publication with multiple reports, each report has one parameter and this parameter is identical in every report in publication. So instead of entering this parameter many times I would like to enter once. 
    If yes point me in the right direction to get the how to or post the steps.

    Daniel,
    Thank you so much for your answer. It was very helpful. In the end, it didn't work but it helped me figure out what was happening. I use a different form for the reports and I had it coded in the form which report to use. I created a second form for the second crystal and then I used an if statement to choose the form and it worked like a charm.
    Thanks so much again!

  • Extremely slow Crystal Reports environment

    <p>Hi there, I need help with my Crystal Reports environment, please!</p><p>While developing a report I&#39;ve noticed that everything is achieved with great slowness. Even right click menu shows up only after a couple of seconds. It takes more then that to select multiple objects and just simply drug them around a screen (depending on quantity of objects). I&#39;ve observed also that CPU usage spikes to 100% and the process that contributes to that spike is crw32 (I have 1G RAM). Other developer&#39;s computer handles the same report with much greater speed (his computer has similar hardware specifications and has same installation of Crystal). Conventional remedies, like rebooting, defragmenting..., didn&#39;t result in much. It wasn&#39;t always like that.... ?????</p><p>At least a hint on where to dig will be greatly appreciated :)</p><p>Thanks in advance.</p><p>Best regards. Nadya R.</p>

    That is really strange. I haven't seen that in the latest releases. In some of the older products there were some performance issues such as those but not recently.Â
    This sounds like a support issue perhaps. Have you checked the Kbase?Â
         - Kathryn Webster (Report Design Consultant)
               Kat&#39;s News: http://diamond.businessobjects.com/blog/279

  • Performance Issue when updating parameters in a Crystal Report on Edge 2008

    I have several Crystal reports posted into Edge 2008.  When you select Edit on a parameter to set the parameters to run the report, it takes a noticably long time for the parameter selection window to appear.  Then once you have made your choice, it takes quite a long time to close the parameter selection screen to go back to the scheduling window.
    I thought it might have something to do with reports where I have linked the parameter with a table field and appended the values in the report parameter.  But, it happens even when there is no link to the data for the parameter.
    I've had several users saying it is very frustrating having to wait for the parameter selection.

    I am using two infosets that are not linked together by any primary key. The main infoset has transaction records and the second infoset has only one record (which is a foreign exchange rate). The performance is slow and I am presuming its because there are no linked fileds between the infosets, everytime a record is read from the main infoset it goes to the second infoset and also reads the record there. Is there a way to improve performance? How can I have the report read the second infoset only once and store that value to be used when reading records from the first infoset.

  • Passing parameters dynamically to crystal report from oracle

    Hi,
    I have a Crystal Report that is based on an Oracle Stored Procedure. This was created using Crystal Reports XI R2 and it is published on a Infoview environment.
    There are 2 parameteres in  an Oracle Stored Procedure, of which one parameter is Region which contains values like AP,GJ,HP,MP,TN. The report run daily at scheduled time in infoview and the output of the report for each region is passed and stored in that particular region folder for easy access to enduser. The other parameter is a refcursor.
    Now my issue is i want to add new region value like KA. As i am new to crystal reports i am unable to understand how to do this also if possible can any one send me liknk which explains the procedure how to run a report that is based on an Oracle Stored Procedure.
    Thanks in advance.

    Hello,
    Typically when you create the report this way the Store Procedure will query the table for values and present those in a drop down list in the report Prompts when viewing. Or if it's not interactive then simply typing in 'KA" into the parameter UI should/could return data.
    So it all depends on how you have this configured and how it was set up in the CMC when the report was scheduled. The BOE Administrator may have manually added the filter for each state or it's part of the report itself and other than updating the table field values is all that is required.
    So it's not clear what role you play in the Admin group of BOE but it appears to be fairly simple to do. If you are not the Administrator find out who is and that person can explain it to you also.
    I'll move this post to the Business Objects Enterprise Forum for someone there to give you specific details.
    Thank you
    Don

  • Using a Web Service as a data provider for a Crystal Report

    <p>I&#39;m trying to write a Crystal Reports XI report that uses a Web Service as the data provider.  I have a Web Service written in ColdFusion that looks like this.<br /><br /><cfcomponent displayName="FindEmployee" ><br />   <cffunction name="FindEmployeeSort" access="remote"          <br />               returnType="xml" output="false"><br />      <cfdump var=form><br />      <cfset myXML = ""><br />       <!--- FindEmployeeSort body ---><br />       <cfquery name="EmployeeQuery" datasource="Production"><br />           Select * from employee<br />          <cfif isdefined(&#39;form.lastname&#39;)><br />             WHERE lastname LIKE &#39;%#form.lastname#%&#39; <br />          </cfif><br />           Order by lastname asc <br />        </cfquery><br />     <cfreturn EmployeeQuery>  <br />   </cffunction><br /></cfcomponent><br /><br />I can get the web service to work from a ColdFusion page (either locally or on a remote server).</p><p>When I try to create the CR data source, I get the following error:</p><p>Crystal Reports<br />! Logon Failed.<br />Details: Cannot find correspondign table information in the XML file</p><p>The steps I took were:<br />* Choose XML from the "Avalable Data Sources"<br />* Choose "Use Web Service Data Source"<br />* Choose "Use HTTP(S) WSDL" with a url of <a href="http://host/directory/FindEmployee.cfc?wsdl">http://host/directory/FindEmployee.cfc?wsdl</a><br />* Leave the "HTTP(S) Web Service User ID:" and "HTTP(S) Web Service Password:" parameters blank<br />* Accept the defaults for Services, Ports, and Methods.  They are respectively FindEmployee, FindEmployee.cfc and FindEmployeeSort.<br />* Then get the error</p><p>The most likely candidate to me is the user id and password, but I have no idea what to use.  I didn&#39;t have to set any login information up in the ColdFusion pages that I used to test the Web Service.</p><p>Any ideas where to go from here?</p><p>Thanks,</p><p>Brian</p>

    Please re-post if this is still an issue to the Java Development - Crystal Reports Forum or purchase a case and have a dedicated support engineer work with you directly

  • How to get the list of parameter and set them using RESTFul WS for a Crystal Report

    Hi All,
    I am able to schedule a Crystal report using following POST Restful call - http://localhost:6405/biprws/infostore/4738/scheduleForms/now and with a request xml body. But report is failing because I am not passing the parameter.
    But I need pass parameters/prompts to the Crystal report to execute successfully.
    What is the request XML to pass the parameter  for the report?
    I was able to do this for WEBI reports but I am not able to find any way to do this for Crystal reports?
    Any help on this matter is really appreciated.

    Hi Venki
    Please have a look at:
    How to pass parameters and generate the report using RESTful API in VB.net
    This is also described in the Developer Help files:
    http://help.sap.com/businessobject/product_guides/sbo41/en/sbo41_webi_restful_ws_en.pdf
    - Ludek
    Senior Support Engineer AGS Product Support, Global Support Center Canada
    Follow us on Twitter

  • Passing 'ALL' value into Two Parameters in SAP Crystal Reports

    Hi,
    I have one report made it from sql command in that there is 2 parameters one is C_Type and other is C_Type_HV both shows the records like 01,02,03,05 both the parameters are used in command where clause and also that report contain one sub report for showing summary made it from sql command in that command both the parameters are passing through where clause of command now i want to add 'ALL' as a value in both the parameters how i can do this in sap crystal report.
    for referance I give u both the query of report
    With Regards,
    Ganesh

    Hi Ganesh,
    Please have a look at this thread on how to add 'ALL' as a value for the prompt.
    All values in parameter
    -Abhilash

  • Passing parameters to a Crystal Reports JavaBean connection

    Hi,
    I'm trying to pass a parameter to a CR XI JavaBean connection. So far I can read and show a String parameter in the report, but I'm unable to pass it to the getResultSet(String aParameter) method that provides the ResultSet.
    The Crystal Reports editor shows a dialog box asking for the "Parameter 1". I've tried with the parameter name and with an arbitrary value, but it just doesn't work.
    Any comment from anyone who has been able to figure this out would be really welcome. The Crystal Reports documentation isn't very useful.
    Best regards,
    - Juan

    I'm about to throw Crystal Reports thru the window. There is no documentation, their knowledge base is a wasteland, the samples included are just the simplest ones, it seems there is nobody from their company colaborating in their forums This company is incredible.
    As far as I can tell, you need to set the parameters for the ResultSet method as if it was a stored procedure, but I found no useful documentation about this for Java / JSP pages.
    So far, my JavaBean method is:
         public ResultSet getResultSet(String minAge, maxAge) throws SQLException {
            // I don't use the parameters yet. I just want to execute this ResultSet
             try {
                  return getConnection()
                       .createStatement()
                       .executeQuery("SELECT * FROM notes");
             } catch (Exception e) {
                 e.printStackTrace();
                 _log.error(e);
                 return null;
         }An the parameters code is:
        public Fields getParameters() {
            if (_parametros == null) {
                 ParameterFieldDiscreteValue val1 = new ParameterFieldDiscreteValue();
                 val1.setValue("100");
                 ParameterFieldDiscreteValue val2 = new ParameterFieldDiscreteValue();
                 val2.setValue("200");
                   Values vals1 = new Values();
                   vals1.add(val1);
                   Values vals2 = new Values();
                   vals2.add(val2);
                   ParameterField field1 = new ParameterField();
                   field1.setName("minAge");
                   field1.setReportName("");
                   field1.setCurrentValues(vals1);
                   ParameterField field2 = new ParameterField();
                   field2.setName("maxAge");
                   field2.setReportName("");
                   field2.setCurrentValues(vals2);
                   Fields fields = new Fields();
                   fields.add(field1);
                   fields.add(field2);
                   _parameters = fields;
            return _parameters;
        }Any comment of any kind about this would be really welcome.
    Regards,
    - Juan

  • Automating a report for non-Crystal Reports users

    Post Author: dmdouglas
    CA Forum: Formula
    I using version 8.5. Several people I generate a specific report for would like to be able to run it themselves rather than ask me to run it for them. As they are not Crystal Report users, is there a command that will ask the user to input information that will be used to generate a report for a specific month when they run the report, rather than having to go into the select criteria to put in the date they want? For example, if they wanted a report for March, they would just have to answer a prompt like "What month?" and the program would put their response in a variable to calculate the period desired for the report.

    Post Author: V361
    CA Forum: Formula
    Not sure for 8.5, but in later release's you add a parameter, the parameter does the prompting "Sort of", then you set the select statement to use the parameter. Parameters will have ? as part of the field name.   ie...
    = { ?Date_Parameter}

  • Parameters within a Crystal Report

    I am having a problem when a try to add a parameter to my report.  I can create the parameter but when I try to allocate values from the dropdown option the application crashes with the message :
    crw32.exe has encountered a problem and needs to close.  We are sorry for the inconvenience.
    Has anybody else experienced a similar problem ?
    Ron Smith
    MAXIMO Administrator

    Hello Sir,
    I have faced this kind of problem when working in crystal reports, but not exactly with parameters. So, this message is not particular with the parameters. When it happens It will get close and I will reopen and do the changes I wanted to do.
    So My suggestion here is
    1. Try to change exisiting parameter values.
    2. Then try creating new and add values to it.
    It will work fine.
    Otherwise, reinstall Crystal Reports again. May be, some files will be missing.
    Thanks
    Usama

  • Trying to change the data source for a Crystal Report.

    <p>The method below represents my best attempt to programatically change the data source of a Crystal Report. The goal is to have a routine that will update the data source for reports after they have been distributed to production servers. So far I have not been successful in saving the report back to the CMS. No exceptions are thrown, but when I view the Database Configuration of the report in the CMC nothing has changed.
    </p>
    <p>
    Am I missing a step, or is there another way to accomplish this?
    </p>
    <p>
    Thank you.
    </p>
    <hr />
    <pre>
    private void test(String reportName)
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects;
       IInfoObject reportObj;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dc;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB; //0;
       Fields connFields = null;
       String queryStr = "Select * From CI_INFOOBJECTS " +
          "Where SI_NAME='wfr.rpt' AND SI_KIND='CrystalReport' AND SI_INSTANCE=0";
       newInfoObjects = getCms().executeQuery(queryStr);
       if(newInfoObjects.size() > 0)
          reportObj = (IInfoObject)newInfoObjects.get(0);
          try
             clientDoc = getCms().getReportAppFactory().openDocument(
                reportObj
                , OpenReportOptions._refreshRepositoryObjects
                , java.util.Locale.US);
             dc = clientDoc.getDatabaseController();
             conInfos = dc.getConnectionInfos(null);
             for(int i = 0; i < conInfos.size(); ++i)
                oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(i);
                newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                pBag = newConInfo.getAttributes();
                pBag.putStringValue("QE_ServerDescription", "alio");
                logonProps = new PropertyBag();
                logonProps.putStringValue("Trusted_Connection", "false");
                logonProps.putStringValue("Server", "alio");
                pBag.put("QE_LogonProperties", logonProps);
                newConInfo.setUserName("admin");
                newConInfo.setPassword("password");
                dc.replaceConnection(
                   oldConInfo
                   , newConInfo
                   , connFields
                   , connOptions);
          catch(ReportSDKServerException Ex)
             String msg = "A server error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          catch(Exception Ex)
             String msg = "An error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          finally
             clientDoc.save();
             getCms().commitToInfoStore(newInfoObjects);
             clientDoc.close();
    </pre>
    Edited by: Mark Young on Sep 10, 2009 2:16 PM

    <style type="text/css">
    /<![CDATA[/
        body
            font-size: 1.125em;
              font-family: helvetica,arial,"sans-serif";
          .code{font-family: "courier new",courier,mono,monospace}
          .bi{font-style: italic; font-weight: bold;}
    /]]>/
    </style>
    <p>Justin,</p>
    <p>
    Thank you for the reply. Time constraints have not allowed me to post back to this tread
    till now. I will try your suggestion. My assumption is that <i>Save the report back to the
    info store</i> refers to <span class="code">IInfoStore.commit(IInfoObjects)</span>.
    </p>
    <p>
    I'm afraid that I do not understand why I don't want to change the report client document,
    or why <i>successfully exporting the report with the new login/password</i> is not what I
    want to do. Any explanation on that statement would be appreciated.
    </p>
    <p>
    I did find a way to accomplish my goal. It involved adding the SSOKEY property to the
    logon property bag. Below you'll see my revised code which modifies the report logon and
    server. I have no idea what
    this does, and SAP support has not been able to tell me why it works. However, what I
    discovered is that if I changed the report option, <b>Database Configuration -> When
    viewing report:</b>, in the CMS to <span class="bi">Use same database logon as when report
    is run</span> from <span class="bi">Prompt the user for database logon</span>, then the
    SSOKEY property had been added to the logon property bag having an empty string as its
    value. This allowed me to successfullyupdate and save the modified logon back to the CMS.
    </p>
    <p>
    So I took a chance and added code to always add the SSOKEY property with an empty string
    as its value, and I could then successfully modify and save the report's logon info
    and server. Again, I don't know what this means, but it has worked so far. If anyone has
    some insight or comments, either are welcome. Thank you in advance.
    </p>
    <br />
    <hr />
    <pre>
    private void changeDataSourceOfAWFCrystalReports()
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects = null;
       IInfoObject reportObj = null;
       IReport curReport = null;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dbController;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
       Fields connFields = null;
       String outputStr;
       int numOfReports;
       int numOfQueryPages;
       double progressIncrementPerPage = 30;
       int progressIncrementPerReport = 0;
       // Path query to reports is in a .properties file.
       String queryStr = getAppSettingsFile().getWscAwfCrystalReportPathQuery();
       try
          // Executes IInfoStore.getPageingQuery() and generates a list of queries.
          getCms().setPathQueryQueries(queryStr, 100);
          numOfQueryPages = 0;
          // Gets a List&lt;String&gt; of the IPageResult returned from IInfoStore.getPageingQuery().
          if(getCms().getPathQueryQueries() != null)
             numOfQueryPages = getCms().getPathQueryQueries().size();
          if(numOfQueryPages &gt; 0)
             // Use 30% of progress bar for the following loop.
             progressIncrementPerPage = Math.floor(30.0/(double)numOfQueryPages);
          for(int queryPageIndex = 0; queryPageIndex &lt; numOfQueryPages; ++queryPageIndex)
             // Gets the IInfoObjects returned from the current page query
             newInfoObjects = getCms().getPathQueryResultSetPage(queryPageIndex);
             numOfReports = newInfoObjects.size();
             if(newInfoObjects != null && numOfReports &gt; 0)
                progressIncrementPerReport =
                   Math.round((float)Math.floor(progressIncrementPerPage/(double)numOfReports));
                for(int reportIndex = 0; reportIndex &lt; numOfReports; ++reportIndex)
                   reportObj = (IInfoObject)newInfoObjects.get(reportIndex);
                   curReport = (IReport)reportObj;
                   clientDoc = getCms().getReportAppFactory().openDocument(
                      reportObj
                      , OpenReportOptions._refreshRepositoryObjects
                      , java.util.Locale.US);
                   dbController = clientDoc.getDatabaseController();
                   conInfos = dbController.getConnectionInfos(null);
                   for(int conInfosIndex = 0; conInfosIndex &lt; conInfos.size(); ++conInfosIndex)
                      oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                      newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                      pBag = newConInfo.getAttributes();
                      pBag.putStringValue(
                         "QE_ServerDescription"
                         ,getConfigFile().getDBDataSourceConnections());
                      logonProps = new PropertyBag();
                      logonProps.putStringValue("Trusted_Connection", "false");
                      <b>logonProps.putStringValue("SSOKEY", "");</b>
                      logonProps.putStringValue(
                         "Server"
                         ,getConfigFile().getDBDataSourceConnections());
                      pBag.put("QE_LogonProperties", logonProps);
                      newConInfo.setUserName(getConfigFile().getUNVConnectionUserName());
                      newConInfo.setPassword(getConfigFile().getUNVConnectionPasswordDecrypted());
                      dbController.replaceConnection(
                         oldConInfo
                         , newConInfo
                         , connFields
                         , connOptions);
                      newConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                   } // end for on conInfosIndex
                   clientDoc.save();
                } // end for on reportIndex
             } // end if on newInfoObjects
          } // end for on queryPageIndex
       } // end try
       catch(ReportSDKServerException Ex)
          // handle...
       catch(Exception Ex)
          // handle...
       finally
          getCms().commitToInfoStore(newInfoObjects);
          if(clientDoc != null)
             clientDoc.close();
    </pre>

  • Buffer too small for string - Crystal Report for Vs2010

    Hello,
        I have recently upgrade my VS2010 project to Crystal Report for Visual Studion 2010.
        I have some reports that contains more than 512 characters in the Report Comments section.
        When I try to do a RptDoc.SaveAs(vPath, false) the following error is raised:
    Buffer too small for string or missing null byte.
          at CrystalDecisions.ReportAppServer.ClientDoc.ReportClientDocumentClass.SaveAs in :line 0
          at CrystalDecisions.ReportAppServer.ReportClientDocumentWrapper.SaveAs in :line 0
          at CrystalDecisions.CrystalReports.Engine.ReportDocument.SaveAs in :line 0
        This line SaveAs was working has expected with Crystal Report 2008. Any idea on why it is not working anymore.
    Thank you.
    Charles

    Hello Don,
        I have start a little project to retest the behavior.
       I have create a new report in Crystal Report 2008 just by clicking New, Finish and Save.
       In a new Windows Application in Vs2010 ,I have added the following Crystal Report Reference.
        CrystalDecisions.CrystalReports.Engine, Version=13.0.2000.0
       CrystalDecisions.Shared, Version=13.0.2000.0
    I have then try the following code and found out the limit of ReportComment is 511 but in the Crystal Report 2008 designer and runtime the limit did not apply.
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
          Dim objRpt As New CrystalDecisions.CrystalReports.Engine.ReportDocument()
          Dim i As Integer = 0
          Try
             objRpt.Load("c:\temp\empty.rpt", CrystalDecisions.Shared.OpenReportMethod.OpenReportByTempCopy)
             Do
                i += 1
                objRpt.SummaryInfo.ReportComments = New String("X", i)
             Loop
             objRpt.SaveAs("c:\temp\dfh_save.rpt", False)
          Catch ex As Exception
             MsgBox("i: " & i)
             MsgBox(ex.Message)
          End Try
    End Sub
         I am able to put has many characters if I insert the report in the Vs2010 Solution.
         If you prefer I can send you my little project.
    Thank you.
    Charles
    <code> should be
    Edited by: Don Williams on Feb 4, 2011 12:47 PM

Maybe you are looking for