Using Crystal Reports for operational reports
Crystal Reports (.rpt) can be used to replace Report Designer(.rdl) layouts for operational report in IFS
Applications. This page describes a number of very
important design as well as security aspects of using Crystal Reports this way.
The Crystal Reports needs to be designed a certain way, only accessing certain
data and have a specific parameter and so on in order for this to work as
intended.
Contents
The Crystal Reports executed this way always access the database
using the same user as the Report formatter (i.e. no row based per user security is
applied). Data sources (i.e. views) used by the reports are expected to be
located in the applications database and the schema owner (i.e. appowner) is
expected to be the same as the executing user for the Report formatter.
The following guidelines must be followed.
- Always use server type "Oracle Server"
Data source type "Oracle Server" should always be used for all Crystal
Reports. No other server
types are supported.
- Report Selection Formula
All reports (including sub reports) should include a record selection
formula that looks like {XXXX_REP.RESULT_KEY} = {?IFS_RESULT_KEY}. See
example for details.
- Other Report Parameters
The Crystal Reports Plug-in does not fill values to any other report
parameter. Hence adding additional parameters to the reports (except the
IFS_RESULT_KEY one) is not supported.
- View Declarations
All the views used in the Crystal Reports should be declared against
the INFO_SERVICES_RPT (or the specific report result table of the particular report) for
consistent archiving and security. Creating views against any other tables or views
and using them in the Crystal Reports is not supported due to IFS Applications
security and archiving.
- IFS specific report parameters
The
Info Service Crystal Reports does not set any of the standard report parameters
described in the section concerning Crystal Reports for use as Quick
Reports. Any information that should go into the report layout needs to be
made part of the report result set.
- Data integrity and row based security
As long as the Crystal Reports only accesses the report result table when
querying data, the default IFS Applications security systems applies to the
original data (i.e. a user can only see data he's allowed to see).
Developing a report that access any other data than the report result set
(i.e. the Info Services report view) will seriously jeopardize the security
mechanisms of Foundation1 and IFS Applications. Since the row based security
when accessing other views (except the report view and at the same time
using the IFS_RESULT_KEY parameter in the report) are completely disabled
users may get access to information they are not entitled to if the
reports
are designed incorrectly. An example could be that a user that only is
allowed to see his own salary and his employees salaries in IFS Applications
could get access to everyone's salary if a report is incorrectly designed to
access the salary information directly rather than through the report result
view.
- Crystal Commands are not supported
Custom SQL query
commands are not supported by the framework. - Custom Fields are not
supported
Custom Field Views (CFV) only exists for logical units.
Using views other than report views (_REP suffixed views) for Operational
Reports is not supported. In addition to that, the IFSPRINT user doesn’t
have necessary security credentials to access CFV views Therefore using CFV
views for Crystal Operational Reports are not supported.
- No access to data sources other than the report
result set
Failing to meet this requirement could result in people getting access
to information/data in the system they are not allowed to access.
- "Calibri" font inserts extra characters
When the report is shown in PDF format it's seen that the Calibri font
inserts extra characters. For example, it inserts a "i" in front of a "t".
Other extra characters can be "a" , "f" etc. This behavior could happen for
other fonts other than the Calibri font. This is a known limitation between
the usp10.dll and the Crystal .Net PDF exporter. Therefore, it's recommended
that you change the font if you come across this issue. If you still want to
use the same font then you can add the registry keys given below manually to
the system registry or download this file and
RMB
on the *.reg file and select "Merge" to add the entry to the system
registry. This should be added in the machine where the Crystal Web Service
is running. Always remember to restart IIS after adding the registry
entries.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\Export\PDF]
"UseCustomEncoding"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UseCustomEncoding"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\Export\PDF]
"UseCustomEncoding"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UseCustomEncoding"=dword:00000000
[HKEY_CURRENT_USER\Software\Wow6432Node\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UseCustomEncoding"=dword:00000000
[HKEY_CURRENT_USER\Software\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\Export\PDF]
"UseCustomEncoding"=dword:00000000
[HKEY_CURRENT_USER\Software\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UseCustomEncoding"=dword:00000000
- Corrupted/Blurred
text or unnecessary spaces between words
Sometimes, text are either blurred or extra spaces between words are
seem when previewing or printing a report. This is mostly seen in textboxes
with small font sizes and when the text is "justified" aligned. The main
cause of this issue is within the third party Crystal .net runtime. There is
an issue in word spaces when it's "justified" aligned when exporting to PDF.
All operational reports are exported PDF before being previewed or printed,
therefore this issue is seen mostly in these type of reports. Crystal has
suggested to manually add a registry entry fix this issue. Add the registry
keys given below manually to the system registry or download
this file and RMB
on the *.reg file and select "Merge" to add the entry to the system
registry. This should be added in the machine where the Crystal Web Service
is running. Always remember to restart IIS after adding the registry
entries.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\Export\PDF]
"UsePrecisePositioningForText"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UsePrecisePositioningForText"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\Export\PDF]
"UsePrecisePositioningForText"=dword:00000001
[HKEY_LOCAL_MACHINE\SOFTWARE\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UsePrecisePositioningForText"=dword:00000001
[HKEY_CURRENT_USER\Software\Wow6432Node\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UsePrecisePositioningForText"=dword:00000001
[HKEY_CURRENT_USER\Software\SAP BusinessObjects\Suite XI 4.0\Crystal Reports\Export\PDF]
"UsePrecisePositioningForText"=dword:00000001
[HKEY_CURRENT_USER\Software\SAP BusinessObjects\Crystal Reports for .NET Framework 4.0\Crystal Reports\Export\PDF]
"UsePrecisePositioningForText"=dword:00000001
See this example of
creating a basic Crystal Report to
learn how to develop a simple Crystal Report that can be used to replace the
Report Designer layout for a operational report in IFS
Applications.