This section provides a brief summary of the new
features and enhancements that are offered with this SDK.
Crystal Reports read-only (RPTR) format
Crystal Reports Read-Only (RPTR) format lets you
share Crystal reports while protecting your intellectual property. An RPTR
report can be viewed and refreshed at run-time, but the structure of the report
cannot be modified or exported.
RPTR files can be viewed using the
CrystalReportViewer class. For
security purposes, an RPTR file cannot be converted to an RPT file. An RPTR
file cannot be opened with a designer that can modify the report, for example,
the SAP Crystal Reports 2011 designer.
You create an RPTR report by exporting an RPT
report to RPTR format. If a file that includes a subreport file is exported to
RPTR format, both the subreport and report will be exported as RPTR. An RPTR
file cannot be added as a subreport to an RPT file.
New export formats
Microsoft Excel 2007 (XLSX) Data-Only
Reports can now be exported to Microsoft
Excel 2007 (XLSX) format. XLSX format supports the "Big Grid". This feature
allows for up to 16385 columns and 1,048,576 rows in a single workbook.
Crystal Reports Read-Only (RPTR)
Reports can be exported to the Crystal
Reports Read-Only (RPTR) format.
New classes for sorting
The
SortController class has been
deprecated and replaced with separate classes for sorting groups and records.
Use the
RecordSortController to sort
records, and use the
GroupSortController class to
sort groups. The
SortController class is still
supported, however, it is recommended to migrate your application to use the
RecordSortController and
GroupSortController classes.
Java generics
Classes that inherit from the
ReportSDKVector class can now
use generics to enable compile-time type checking and to reduce the amount of
casting needed when working with these classes.
Previously, some objects had to be explicitly
cast after being retreived. In this version of the SDK, you can use generics to
avoid this casting. This example shows how to use generics with the
Fields
collection to obtain an
IParameterField object without
casting.
Fields<IParameterField> parameterFields = reportClientDocument.getDataDefController().getDataDefinition().getParameterFields();
IParameterField parameterField = parameterFields.get(0);