Crystal Reports Migration Guide
One of the most important issues for many customers is that they are able to preserve the investment they may have made into existing report templates. Fortunately, it is relatively easy to be able to continue to use your Crystal Report templates with i-net Clear Reports.
This guide will help you to use your Crystal Reports - report files with the i-net Clear Reports reporting software.
General
The i-net Clear Reports reporting engine and the i-net Designer internally use the ReportReader (ReportReaderNet since Crystal Reports XI R2) to get the template information of the Crystal Report rpt file. As a precondition Crystal Reports need to be installed on the same server. If Crystal Reports is not installed, then you could run the ReportReader.exe or ReportReaderNet.exe (Crystal Reports XI R2 or higher) manually on a console on a system on that Crystal Reports is installed.
More information about the ReportReader you can get at:
Different behavior
This chapter describes differences in the rendering results.
Default Rounding
If a Number Field is rounding with the System Format and the value ends with a 5 then Crystal Reports is ever round up. i-net Clear Reports is round half even.
Example:
Crystal Report | i-net Clear Reports | |
1.105 | 1.11 | 1.10 |
---|---|---|
1.115 | 1.12 | 1.12 |
If this a problem for you then you can use a custom number format. i-net Clear Reports support 7 different rounding formats.
Keep Together
The implementation of Keep Together in i-net Clear Reports is more strict. It will always cause a page break if the content is too large for the current page and the next page has more space. In Crystal Reports, a page break is only created if the content is too large for the current page, the content is larger than a half page there is more space on the next page.
Suppress Blank Section
Crystal Reports ignore this option if there are no fields in the section. i-net Clear Reports also interpret this section option ever.
Unused database tables in SQL Statement
Crystal Reports only add database tables with used columns to the SQL statement. Unlike this behavior i-net Clear Reports add all joined database tables of the report, to the SQL statement. This can result in a different number of records. To get the same result, it can be neccessary to remove unused database tables from the report.
Font differences
Certain versions of Crystal Reports seem to display fonts somewhat smaller than the actual font size, this is especially the case when exporting to PDF. For example, setting a text label to Arial size 12 and then exporting to PDF with Crystal Reports seems to produce a text with the font Arial, size 10.6. To remedy having your reports seem too large when exporting to i-net Clear Reports, the ReportReaderNet tool uses a file called "fontmappings.xml" to automatically map fonts encountered in the templates to slightly smaller fonts.
In order for this XML file to be used, simply make sure it is located in the same folder as your ReportReaderNET.exe. You can find it in the lib directory of your i-net Clear Reports and/or i-net Designer installation.
The XML file has the following structure:
<FontMappings xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <FontMapping> <OldFont name="Arial" /> <NewFont name="Arial" /> <SizeMapping oldsize="8" newsize="7.15" /> <SizeMapping oldsize="9" newsize="8.1" /> ... <SizeMapping oldsize="72" newsize="64.45" /> </FontMapping> <FontMapping> <OldFont name="Times New Roman" /> <NewFont name="Times New Roman" /> <SizeMapping oldsize="8" newsize="7.05" /> ... <SizeMapping oldsize="72" newsize="65.0" /> </FontMapping> ... </FontMappings>
You can adapt this XML file as you wish if you want a different mapping to occur – you could also simply delete this file if you don't want a font mapping to be applied.
Limits of the Report Reader
The following items are known limits of the ReportReader, which is used by i-net Clear Reports to read Crystal Reports report files. Many of these features are supported by i-net Clear Reports, however it is not possible for the ReportReader to get the settings of the features or the features using the Crystal Reports API. You can use the i-net Designer or the i-net Clear Reports API to reconfigure these features in the i-net Clear Reports report file.
More than 120 sections in an area
If there are more than 120 sections in a single area, then it is not possible to access the design of the additional sections. These sections are not read.
OLE Objects other than bitmap images
Only OLE objects including an image are supported by i-net Clear Reports. Other OLE objects will not be included in the i-net Clear Reports report file.
Display String Formula
If an element has a display string formula set for it, this can not be accessed and will not be included in the i-net Clear Reports report. You will have to add it manually using i-net Designer or i-net Clear Reports API.
Various Chart Properties
The following chart properties / settings can not be accessed by the report reader:
-
Color by Group
-
Color Property Formula
-
"Use Depth" setting (3d effect) for doughnut and bar charts
-
Auto-generated chart titles – the generated titles will be set as defined chart titles.
-
"Do not summarize" property when a formula is chosen as the data set.
-
Vertical chart orientation
Line Spacing and Text Interpretation Properties for Memo fields
The properties "line spacing" and "text interpretation" will not be preserved for persistent memo fields. Other string field elements will not lose the line spacing setting. As workaround you could add the memo field to a new formula field and add the formula field to the report instead of the memo field.
Dynamic and Cascading Prompt Fields
These prompt fields will be modified to simple, static prompt fields. It is necessary to reconfigure the dynamic and cascading prompt fields in the "Parameter Field Properties" dialog of the i-net Designer.
Sub Report Label Font
The font properties of a sub report label can not be extracted and will be set to a default font.
Cross-tab Date Grouping By Specific Periods
Cross-tabs based on date groups will lose the "group by ..." information.
Various Crosstab Properties
The following crosstab properties / settings can not be accessed by the report reader:
-
Indent Row Label
-
Indent Column Label
-
Customize Group Name
-
Label of total columns, instead always "Total" is used
-
Formatting properties of crosstab fields
User Defined Formulas
If you use a Crystal Reports version previous to Crystal Reports XI R2 and the report contains a user defined formula, then you need to write a Java method for the user defined formula. You need to implement it as public static method. Then you add the class with the user defined method(s) to the classpath and set the class name in the Configuration property "Formula Expander Class". This property allows multiple classes separated by semicolon.
With Crystal Reports XI R2 (or higher) and the ReportReaderNet it is possible to get the information about the user defined function so that it is not necessary to write a Java method for the function.
Parameters: Setting a Custom Initial Default Value
Parameters' default values are correctly converted, however the first default value in the list is always taken as the parameter's initial default value. Any differing initial default value set for the report will be ignored after conversion.
Document Property: Suppress if no rows
This document property can not be extracted and will be set to a default value: false.
Subreport Property: Suppress Blank Subreport
This subreport property can not be extracted and will be set to a default value: false.
Query files not supported
Crystal Reports query files are no longer supported since i-net Clear Reports version 2013. The API for query files has been deprecated. We recommend to use a command in the report instead of a query file.