Download Crystal Reports v10 (2003) Professional Retail

Crystal Reports v10 (2003) Professional

Crystal Reports v10 (2003) Professional
Crystal Reports v10 (2003) Professional


Welcome to Crystal Reports 10, the world standard in high-performance reporting. With Crystal Reports, you can rapidly transform almost any data into powerful, interactive content for tight integration into .NET, Java, and COM applications and extend your reporting solutions to other environments including Crystal Enterprise, portals, wireless devices, and Microsoft Office documents.

The notes contained in this document cover important information pertaining to this release of Crystal Reports. Please read the entire document before performing the Crystal Reports 10 installation, and be sure to visit the Crystal Reports web site for the latest product news.

Installation

If you first install Crystal Reports 10 on a machine, you cannot then install Crystal Reports 9 or 9.2 on the same machine in a side-by-side installation. To run both versions side-by-side, make sure you install Crystal Reports 9.x first.

Before running the installation packages for Java reporting, ensure that the Java Runtime Environment (JRE) is installed.

On-demand installation of database drivers does not work for reports based on Business Views.

The Java Reporting Component does not support the JavaBean driver.

The Delphi VCL for Crystal Reports is only available from the Crystal Decisions Developer Zone web site.

If you install Crystal Reports 10 on the same machine as a Crystal Enterprise 9 Web Component Server (WCS), the Crystal Enterprise web desktop running on this WCS will stop working. This issue also occurs when you install Crystal Reports 9 on the same machine as a Crystal Enterprise 10 WCS.

.NET installation

After uninstalling Crystal Reports 10, a "Crystal Reports" tab still appears in the Visual Studio .NET toolbox. You can safely remove this tab.

The Crystal Reports component of .NET may not function properly after uninstalling Crystal Reports 10 from Visual Studio .NET. To restore functionality, run the Repair function in the .NET setup.

If you install Crystal Reports 10 and then rerun the Visual Studio .NET 2002/2003 (VS .NET 2002/2003) install with the "Crystal Reports for Visual Studio .NET" option selected, you will see some problems. You will have both Crystal Reports 10 and VS .NET 2002/2003 controls in the toolbox, but VS .NET 2002/2003 will control code generation, publishing as a web service, and so on. To get Crystal Reports 10 to regain control over the IDE, you'll need to rerun the CR10 installation in repair mode. To properly downgrade to VS .NET 2002/2003 without Crystal Reports 10, uninstall CR10 and rerun the VS .NET 2002/2003 installation in repair mode.

Backwards compatibility

Funnel charts are a new feature in Crystal Reports 10. If you create a report in Crystal Reports 10 that includes a funnel chart, you may not be able to open the report in Crystal Reports 9. To resolve this issue, open the report in Crystal Reports 10 and change the chart to a format recognized by Crystal Reports 9.

Because Business Views are a new feature in version 10, reports based on Business Views cannot be opened in earlier versions of Crystal Reports.

Several new special fields have been added to this version of Crystal Reports. For your reference, these new fields map to version 9 fields as follows:
Horizontal Page Number maps to vertPageNumber in version 9
Current User Name maps to reportAuthor in version 9
Current User ID maps to vertPageNumber in version 9

Crystal Reports 10 handles certain data types differently than version 8.5 and earlier. To ensure backwards compatibility, version 10 handles data types in reports created in version 8.5 and earlier in the same manner as those data types were handled in these earlier versions.

As a result, if you change the database location of a report created in Crystal Reports 8.5 or earlier (using the Set Database Location menu option), and the database field types of the new location are handled differently in version 10 than in version 8.5, Crystal Reports 10 will handle the data types are they were handled in version 8.5 or earlier. Some examples of data types being treated differently in version 10 and version 8.5 include:

In version 8.5 and earlier, the Oracle native integer type was sometimes treated as a double whereas version 10 always treats an Oracle native type as a double.

In version 8.5 and earlier, the ODBC Access currency type was treated as a decimal whereas version 10 treats the ODBC Access currency type as a currency.

Unmanaged reporting is no longer available in Crystal Enterprise 10.

Notes and Limitations

Although Crystal Reports 10 supports 64K parameter values, it does not support 64K descriptions for parameter fields.

The Overlap formatting option (located on the General tab of the Chart Options dialog box) is available only for bar and column charts.

The '}' character is a special character and should not be used in the name of a database, formula, or parameter field.

Certain parts of hyperlink identifiers (specifically, double slashes) in data context formulas appear as commented text in the Formula Workshop.

When using an OLAP report, if the report contains any row or column parameters, access to the worksheet is disabled to prevent any inconsistencies from being introduced into the report. As a result, you cannot access the worksheet when working with an OLAP report that contains any row or column parameters.

If you perform a repository refresh on a command object that cannot be found, the Missing Repository Items dialog box displays no errors. However, a separate prompt notifies you that a cached copy of the command object is used.

The Crystal Repository is not available (and not supported) in the Standard edition of Crystal Reports 10 because Crystal Enterprise is not included in the Standard edition.

When you select the Chart/Map Off Entire Grid option in the Chart/Map Expert, the On Change Of and Subdivided By settings will be ignored.

Because the Options dialog box now automatically remembers the last folder used, the Report Directory option has been removed from the Options dialog box.

In the Report Options dialog box, clear the new Respect Keep Group Together On First Page check box to ensure that Crystal Reports begins printing your first group on the first page of the report, even when you have selected the Keep Group Together check box.

Note: Until now, if your first group extended beyond a single page, the Keep Group Together check box caused Crystal Reports to begin printing the group on the second page of the report, instead of the first. By clearing the new Respect Keep Group Together On First Page check box, you can modify this behavior for the first page of the report.

To avoid extraneous linking, the default auto-linking in the Database Expert has been changed to link first by key and then by name.

When changing a Dynamic Data Connection parameter, you need to call VerifyDatabase prior to changing the parameter. Failure to call VerifyDatabase prior to changing the parameter results in incorrect browsed data.

Data in a restricted column can be fully accessed by SQL expressions. When restricting a column, also update any SQL expressions that access the data in the restricted column to ensure that restricted data is not displayed.

In the Repository Explorer, when copying a set of related files/objects from one folder to another (for example, from original_folder to new_folder), the new files/objects in new_folder still point to the original files/objects in original_folder. As a result, changes to one file/object in new_folder do not affect the other files or objects in new_folder. For example, if you copy a Data Foundation, Data Connection, Business Element and Business View from original_folder to new_folder, the new copy of the Business View will still point to the original Data Foundation, Data Connection and Business Element in original_folder. As a workaround, export the files to XML.

When working with a report that contains dynamic database connections, the report data is not refreshed when switching from one database connection to the other.

Due to issues with international characters, using Safari 1.0 to view reports is supported for English only.

Diagnostic logging incorrectly reports version 5 and 6 reports as version 10.2.

In Crystal Reports 8 and 9, you could embed script tags and other HTML tags into your reports to allow the creation of DHTML items in the output of the DHTML Viewer. To improve security, the default behavior in Crystal Reports 10 is to convert HTML to safe text. At your own risk, you can enable a registry key for HTML embedding behavior. Please read the article at http://www.net-security.org/article.php?id=596 to understand the implications of not encoding all HTML output from Crystal Reports.

To make the new asymmetric reporting feature work correctly with charts and maps, a new option called "Chart (or Map) off entire grid" has been added to a number of locations in Crystal Reports. This feature is not documented in the Online Help. If you do not select this option, charts and maps offer only a subset of a single dimension on each row/column axis. Therefore, asymmetric filters applied to the grid viewpoint will not be inherited by the chart or map.

The Java DHTML viewer may display charts and maps as either EMF (metafile format) images or bitmap images.

In the following situations, EMF images will be displayed:
The viewer is running on a Windows system.
The viewer is running on a non-headless UNIX system.
The viewer is running on a headless UNIX system with JDK 1.4 installed and the java.awt.headless system property set to true.

In the following situations, bitmap images will be displayed:
The viewer is running on a headless UNIX system with JDK 1.3 or lower installed.
The viewer is running on a headless UNIX system with JDK 1.4 installed and the java.awt.headless system property not set.
The viewer is running on a headless UNIX system with JDK 1.4 installed and the java.awt.headless system property set to false.

For the purpose of this note, a headless UNIX system is defined as a system without the environment variable DISPLAY set. A non-headless UNIX system is defined as a system with the environment variable DISPLAY set and with an X system installed. The java.awt.headless system property can be set by adding -Djava.awt.headless="true" to the web application server's start-up script. Setting the java.awt.headless property directly in the JSP page may result in unpredictable behavior.

Crystal Enterprise integration

To update Crystal Repository command objects in a Crystal Enterprise environment, ensure that the "Verify on First Refresh" and "Verify Stored Procedure on First Refresh" options are selected in the original report. (Click Report Options on the File menu in Crystal Reports.)

Printing and exporting

When exporting a report to Microsoft Excel (data only) format, spreadsheet columns are not automatically sized as per the field chosen in "Column width based on objects" option. To have the spreadsheet columns sized automatically, Maintain Relative Object Position must also be enabled.

In the previous version of Crystal Reports, exporting to CSV formats did not correctly nest fields within their group contexts. In this version, when you export to CSV format, fields in each details area are exported with the fields in all the group headers that precede it and all the group footers that follow it, in a single record.

When exporting a version 9 and earlier OLAP report to Excel format, you are prompted to connect to the OLAP data source even though the report contains saved data.

Justified text is not rendered correctly in Internet Explorer after you export a report to HTML format. This is a known issue with Internet Explorer.

When exporting a report to DHTML as a single page, problems with some browsers can result in format errors. As a workaround, export to DHTML as separate pages.

When exporting to Word or any Microsoft Office format and all of the following conditions are met, export may fail to display any data, because Microsoft Word or Office tries to edit it through FrontPage extensions. This behavior can be avoided by disabling web authoring on the server.

Conditions:

Web application is hosted on Windows 2003 Server with Integrated Windows Authentication enabled.

The user is logged in on the client machine as someone with Authoring rights on the web server machine.

The client browser has Integrated Windows Security enabled.

Word or the MS Office application is installed on the client machine.

Data access

New database drivers are currently under development for use with version 10 Crystal products on Windows and UNIX. Check this link for availability: http://www.crystaldecisions.com/ipl/default.asp?destination=updatedfeatures&language=EN&product=crystalenterprise&version=10

Version 10 Crystal products no longer include most of the ODBC database drivers (manufactured by DataDirect Technologies) that were installed with earlier Crystal products. Updated DataDirect ODBC drivers for use with version 10 Crystal products on Windows and UNIX will be made available. Check this link for availability: http://www.crystaldecisions.com/ipl/default.asp?destination=updatedfeatures&language=EN&product=crystalenterprise&version=10

On the Data Explorer toolbar of the Database Expert window, one of the options displayed is Create New Connection. When you expand this option, it gives you several new connection options (for example, ODBC).

When using stored procedures with a Sybase ODBC driver, if the procedure name has an underscore (_) in it, the driver returns datatype = null. As a workaround, ensure that your procedure names do not contain underscore characters.
You can change the data source for many reports at once by changing the ODBC System DSN, but Crystal Enterprise 10 handles this differently than previous versions. In the Set Location dialog box, edit the new table property OverriddenQualifiedTableName. When you load a report, if it is ODBC-based and in CR 8.5 (or earlier) format, then the useDSNProperties connection property is created and set to True. New reports created in version 10 will set this property to false by default. (This property will be saved with the report.) When this property is set to True, ODBC uses SQLConnect instead of SQLDriverConnect. You can change the useDSNProperties property in the Set Location dialog box.

Note: You cannot change the ODBC System DSN if the database name or owner name contain special characters. You may also encounter problems with older drivers, and with changing the names of your stored procedures.

Data returned by a database query that contains extra space characters (such as " hello ") is truncated to exclude the extra spaces (" hello " becomes "hello"). As a result, database queries that depend on the extra space characters return unexpected data. Use one of the following workarounds:

Use the Trim() function. (where Trim(lookupField)="hello")

Use wildcards in the query. (where lookupField="*hello*")

When working with a report based on a Business View with more than one table, if the report is saved as a disconnected report, setting the data source location results in errors.

When creating a report from a Business View, if you cannot browse data if the Business View contains a row restriction, add a field to the report and then refresh the report prior to browsing data.

When working with a report based on a Business View, if you need to change the repository or metadata parameter, you must set the repository and metadata parameter prior to fetching data. If you fetch data and then change the repository or metadata parameter, the old repository object is still used.

When querying a Lotus Notes database with a query that contains nested outer joins, a "Failed to open rowset" error is generated. This error is due to the Lotus Notes ODBC driver not supporting nested outer joins.

When you perform left outer join linking on SQL Expression fields in three or more tables from different data sources, whenever there is no matching on the first record in the link, a zero or empty string will return for the table(s) after this link.

For example, there is a 4 table link case: A->B->C->D, where each table is from a different data source and all of the links are left outer joins on the SQL Expression field of each table. If there is no matching on the first record between the link of A and B, then table C and D will return a zero or empty string in the report.

When building a report using Unicode (UTF-8) encoding and Japanese characters, the DB2 driver will report an error when adding tables.

When using Smart Linking with the Oracle ODBC driver, an index based on an expression does not appear because the ODBC driver by Oracle does not return indexes on expressions; as a result, the index is not Smart Linked.

When using Smart Linking with the Oracle native driver, an index based on a complex expression does not appear; as a result, the index is not Smart Linked. However, for expression indexes that are actually table fields in descending order, Smart Linking by Key will behave as expected.

When connecting to a Sybase database using the Sybase native driver (crdb_p2ssyb10.dll), an error is reported if more than one SQL statement is being executed on the same database connection at the same time. The error is generated because the Sybase native driver is not able to handle multiple stored procedures on the same connection. As a workaround, use an ODBC driver instead of the Sybase driver.
Crystal Reports 10 does not support opening reports based on Infoviews. If you open a report based on an Infoview in Crystal Reports 10, the report will appear to open successfully but the security will not be properly applied. If the Infoview feature is used to secure sensitive data, it is recommended that you limit the access or distribution of such reports. See the Business Views documentation for more information on new enhanced data security features in Crystal Enterprise and Crystal Reports 10.

At times the direction of a join cannot be changed (ie. left outer join). In some linking scenarios this means that we will be not be able to form a query. In this case the user is required to change the linking order. The error message is "Failed To open Rowset. Query Engine Error: This Query Cannot be performed. An illegal link cycle has been detected."

Developer issues

In Crystal Reports 8 and 9, you could embed script tags and other HTML tags into your reports to allow the creation of DHTML items in the output of the DHTML Viewer. To improve security, the default behavior in Crystal Reports 10 is to convert HTML to safe text. At your own risk, you can enable a registry key for HTML embedding behavior. Please read the article at http://www.net-security.org/article.php?id=596 to understand the implications of not encoding all HTML output from Crystal Reports.

When using the PrintToPrinter method in .NET, an ArgumentException is thrown if the database logon or required parameters are not set. To handle this scenario more gracefully, you should check to ensure that the database logon and required parameters are set prior to executing the PrintToPrinter method.

When using the Java SmartTag Chart, refreshing the chart results in a broken image. As a workaround:

Crystalreportimagehandle.jsp should be in the same directory ascrsmarttag.jsp

/FolderName/ needs to be added to the application's web.xml file (in this example, the two files are located in FolderName).

When developing with the viewer SDK, you cannot call getDatabaseLogonInfos()or getParameterFields() before calling processHttpRequest() or getHtmlContent() because an exception will be thrown. As a workaround, call processHttpRequest() or getHtmlContent() before calling getDatabaseLogonInfos() or getParameterFields().

Using the Crystal Reports .NET SDK, Table.ApplyLogOnInfo requires a call to Table.Location in order to work correctly.

There are three possibilities:

Table.ApplyLogOnInfo is called and the new database already has a table with the same name. In this case, there is no problem.

ApplyLogOnInfo is called and the new database doesn't have a table with the same name. There are two outcomes:

a) If Table.Location is eventually called, everything is OK.

b) If Table.Location is not called, there is a problem. The report is still pointing to the old data source (that is, the data source that was being referenced before the ApplyLogOnInfo was called).

This leads to two potential problems:
If the old data source is invalid or is unreachable, we get a logon error, and the user is prompted for logon information using the old data source name, DB name, and so on. However, there is no way to change the Table name using this dialog box, so the user is potentially in a never-ending dialog loop.
If the old data source is still valid, then it will be used to fetch data.

A workaround is to call Table.Location or Table.TestConnectivity after a call to Table.ApplyLogOnInfo.

In this release, the CrossTabObject object in .NET does not support border functions such as BackgroundColor, BorderColor and BottomLineStyle.

Importing Microsoft data reports (DSR) is not supported in Crystal Reports 10 .NET SDK.

A new VerifyDatabase API call has been added to the .NET API. Use the VerifyDatabase API call to make certain your report prints with the current version of the active database and resets its record buffers to the current record size.

When you first create a report, the report draws its fields from the database as it exists at that time. It uses the structure of the database (number of fields, field position, data type, and so on) to identify and select those fields you want placed on the report. If you change the structure of the database (by adding or deleting fields) after you create the report, Crystal Reports needs to adapt the report to the new structure. This command is the tool you can use for adapting the report to the new database structure.

The signature of the VerifyDatabase call is:

public virtual void VerifyDatabase()

VerifyDatabase throws a LogOnException if it fails to connect and logon to the database.

If you have linked two reports together using Report Part navigation (for example, you have a "home" report where one of its sources is a hyperlink to a part of a "destination" report), the two reports will link correctly in a .NET application when accessed in the following contexts:
From the file directory.
From external web services.
From the Crystal Enterprise CMS if the reports are retrieved via the Query method of an InfoStore instance.

However, an ObjectReferenceException will be thrown if you attempt to load the reports through an EnterpriseReport instance.

Note: The EnterpriseReport class accesses reports from Crystal Enterprise via the EnterpriseReportService.asmx web service installed with Crystal Enterprise. These reports are exposed in the ServerExplorer window of Visual Studio. NET, under the node Crystal Services/Crystal Enterprise.

A web project created with previous versions of Crystal Reports may use the selectionFormula parameter in the source code. Unless a new selection formula is intended, remove the selectionFormula parameter from the source code to take advantage of the caching mechanism offered by Crystal Reports.

When using the .NET Framework version 1.0, the settings entered in the printer setup dialog box are not honored. As a result, when printing a report through .NET, specifying the number of copies to print or the paper size has no effect; the default settings are used. Upgrading to version 1.1 of the .NET Framework will resolve this problem.

When you open a webform project created in a previous version of Crystal Reports for Visual Studio .NET, you are not prompted to upgrade the project.

When working in Visual Basic, the VB code generator automatically uses the word "Type" as the argument name to the BeforeRenderViewItem and AfterRenderViewItem events. Since "Type" is a keyword in VB, an error will be returned at compile time. As a workaround, replace the automatically generated word "Type" with "sType".

In the Viewer COM API, to obtain the object that triggers the BeforeRenderObject and AfterRenderObject events, the following steps are required:
In Visual Basic, add the PageObjectModel.dll library as a reference.
Use an explicit type for the object. For example:

Private Sub n_SourceViewer_AfterRenderObject(ByVal eventContext As
REPORTRENDERERLib.IAfterRenderObjectEventProperties)

Dim obj As TextObjectInstance

Set obj = eventContext.Object

Debug.Print "object name: " & obj.ReportObjectName 'Prints the name
of the object.
End Sub


When viewing a report using an HTML report viewer (COM or Java SDK), the viewer's navigateTo method does not function if the logon data and required parameter fields are set programmatically. The navigateTo method functions normally if the logon data and parameter fields are obtained by prompting the user.

Crystal Reports 10 employs URI encoding. If your application does not support encoded URIs, use the decodeURIComponent jаvascript method to decode the POST/GET data.

A new property, ViewTimeSelectionFormula, has been added to the CrystalReportViewer (.NET Webform Viewer and WinForm Viewer). This section describes its usage:

Each Crystal report contains an embedded selection formula that determines which data is retrieved from the database when the report is loaded or refreshed. However, this selection formula can be overridden.

New selection formulas can be applied to a report when:
The report is being displayed by the CrystalReportViewer (the WebForm and WinForm viewer).
The report is being managed within Crystal Enterprise.

Since a changed selection formula may impact the security of data, certain permissions regulate whom and in what scenario the selection formula can be overridden.

The overriding selection formulas are applied in the following class properties contained in the Crystal Reports or the Crystal Enterprise SDK:

In Crystal Reports (with RAS):
CrystalReportViewer.SelectionFormula property
CrystalReportViewer.ViewTimeSelectionFormula property

In Crystal Enterprise:
CrystalReportViewer.SelectionFormula property
CrystalReportViewer.ViewTimeSelectionFormula property
Report.RecordFormula property

The CrystalReportViewer.ViewTimeSelectionFormula property is different from the other properties in that the formula applied to it only filters the already-retrieved data; whereas the CrystalReportViewer.SelectionFormula property and the Report .RecordFormula property actually requery the database.

Since a requery of the database impacts permissions, the following permissions logic applies:
The use of the Report.RecordFormula property requires edit rights on Crystal Enterprise
The use of the CrystalReportsViewer.SelectionFormula property requires either the ReportCreation API license (for RAS) or edit rights (for Crystal Enterprise).
The use of the CrystalReportViewer.ViewTimeSelectionFormula property does not require special permissions because it only applies a filter against a selection formula set at a lower level .

When working in Visual Studio.NET, if you are binding a Server Report, you can no longer drop it from the Server Explorer to your project.

A Server Report can be bound only through code. There are two ways to do this:
Through the Visual Studio.NET user interface:

Add a Toolbox Item "ServerReport" and manually set its "ReportPath" and "WebServerUrl" properties.

This will autogenerate the necessary code in your project and you can then bind to it.

Only for V.I.P
Warning! You are not allowed to view this text.