Skip to content

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.

Design and Security aspects

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 Cloud 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 Cloud 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 Cloud. 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 Cloud 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.

Known Limitation

  • 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

Example

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.