Skip to end of metadata
Go to start of metadata

Product versions:
Crystal Reports 2008
NW BW 7.01

In this article you will find information regarding the different tools you can use to troubleshoot issues with Crystal Reports connecting to BW.

Crystal Reports Peformance Information

The performance information found in the Crystal Reports designer can be helpful when troubleshooting issues with report performance. To access performance information for a report, open the report in Crystal reports and choose Performance Information from the Report menu. The performance information contains information about the report definition, saved data, processing, latest report changes and performance timing. Some of this information is not available until the report is previewed. If there are any subreports, they appear listed under the main report and each supreport will have its own performance information. You can save the report information to a file, so you can compare this values after you have done optimization changes in the report or in BW.

Report Definition

The report definition contains information about the report template.

Item

What does this mean?

UFL's in use

If a report is using a UFLs and the report can't be viewed after a period of processing, check if UFL is releagins resources efficiently. A poorly written UFL may not be releasing resources properly and could lead to a memory leak

Page N of M used

Report processing may be delayed because Page N of M caused the report to have a third pass. Consider removing this field to see if it is causing delayed processing.

File Format Schema

Always save reports to the latest file format. If a report is in an older file version, the report engine will need to transform the report objects in memory to the latest file format, which requires additional processing time.

Number of Chart Objects

Since charts are processed in pass 2, many charts may take longer to process

Number of Subreport Objects

Depending on where the sureport is placed it can be processed many times, this really affects performance.Make sure subreports are in sections where they will be processed as few times as possible

Saved Data

The saved data information contains information about the data in the report. This information will not be available if a report is not saved with data.

Item

What does this mean?

Number of Data Sources

If a report uses more data source, more processing has to be done locally as joins have to be processed by Crystal Reports

Total Number of Records

This is the total number of records retrieved from the database, the last time the report was refreshed. As a general rule more than 500,000 records can slow report processing depending on the report design

Selected Number of Records

This is the recourd count for the current report. This number can be different from the total number of records, for example when you add a selection formula and when prompted if you want to refresh or use saved data you choose saved data. The selection is applied on the total number of records, however the selected number of records is the result after CR applies the selection formula with the records that were retrieved the last time the report was refreshed.

Processing

The processing information contains information about how the report will be processed as a result of the report design. This information is not available if the reports is not saved with data.

Item

What does this mean?

Grouping done on Database Server

For BW datasources this is always No

Sorting done on database server

For BEx queries, this will be Yes. When you create hierarchical grouping, Crystal Repors does the sorting

Record selection done on Database Server

In general one of the most important optmization techniques is making sure the record selection is done on the server. For reports from BW queries this can be done by adding filters, restrictions, sap variables in the BEx query. If you add a record selection/paramenters on Crystal Reports, the selection of records will be done on Crystal Reports not in BW . When reporting from BW queries this parameter will display yes, even when there is a record selection inside Crystal Reports, so make sure to verify that all restrictions/filters are created in t Bex not Crystal Reports. When record selection is done on the server, only the desired report records are returned to Crystal Reports, resulting in less resource usage and processing time

Require two passes

Crystal Reports uses a three-pass reporting method to generate reports.Reports are processed in one to 3 passes depending on the design of the report. A report that requires only one pass is faster than a report that requires two or more passses. Detailed information on the 3 report passes processing consult the Crystal Reports User Guide- Report Processing Model

Require Total Page Count

A report with a Total Page Count requires going trough pass 3

Size of Saved Group Tree

A report viewed using DHTML viewer can't be viewed until the group tree is completed built. As a general rule, a group tree larget than 200KB is large. One way to reduce the size of the group tree is using nested grouping

Latest Report Changes

The Latest Report Changes provide information on recent changes to the report (listed on as changed or unchanged). This information will not be available if a report is not saved with data.

Performance Timing provides statistics related to the time it took the report to open and to format pages.

Open Document

This is the time it takes to open the report in Crsytal Reports.

Run the Database Query

This is the time it takes to execute the query. This execution time does not inlcude the time it takes to fetch the data.

Read database records

This is the time it takes to fetch the results of the query from the database

Format First Page

The rendering of the pages is done on demand. When you refresh the report only the first page is rendering. The first page usually takes longer than the other pages as all the report processing has to occur before the first page can be formated.

Number of Pages Formated

Total number of pages that have been viewed since the last time the report was refreshed

Average Time to Format a Page

This is the average display time of the total number of pages viewed since the last refresh

SAP integration tracing

To be able to trace the SAP connectivity for Crystal Reports the necessary registry entries need to be configured.

The entries can be found in the following part of the registry:• HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\SAP.
Underneath this entry in the registry, each of the connectivities has its own folder.

For example, the BW MDX Driver entry:

Each of the connectivity registry keys has a value called Trace which accepts a Yes or No as a value. In addition to the Trace value, the user needs to configure the trace directory.
The value for this setting is under the registry key SAP.;

To activate the connectivity trace for Crystal Reports

  1. Launch regedit.
  2. Navigate to the following path : HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\SAP.
  3. Set the value for the TraceDir.
  4. Set the value Trace to Yes for the driver.
  5. Start Crystal Reports Designer.
  6. Create a new report based on the connectivity that will be traced.

BW Publisher tracing

The publishing integration can use either an SAP Gateway or the BW Publishing Service.

  • If you're using the publishing service, you can trace the activity of the publishing service by setting the key Trace in the registry branch HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite12.0\SAP\BW Publisher Service to the value "Yes".
  • The path for the trace files has been configured by the registry key TraceDir in the registry branch
    HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\SAP.
  • The BW Publisher itself can be traced by setting the key Trace in the branch HKEY_LOCAL_MACHINE\SOFTWARE\Business Objects\Suite 12.0\SAP\BWPublisher to "Yes

SAP BW connectivity

For the SAP BW connectivity you can also look at the following items as part of the troubleshooting process:

RFC Trace analysis

RFC trace with transaction ST05

Using the RFC trace, you can track which remote calls are made to the SAP system during the execution of a report from BOE or Crystal Reports. You can display and further analyze the trace records logged in the trace file.

  1. Login into SAP Logon with the user you want to trace
  2. Start transaction ST05
  3. Select RFC Trace checkbox
  4. Click on Activate trace
  5. Perform your workflow (e.g., refreshing a Crystal BW query)
  6. Once finished, click on Deactivate trace
  7. In order to view the trace, click on Display trace

From the time you turn on the RFC trace function to the time you turn it off again, all RFC calls occurring either for a specific user or for an user group are recorded.

From the recorded trace you can deduce:

  • Which function modules have been called remotely by the program to be analyzed.
  • Whether the RFC was executed successfully.
  • The total time used to process the remote call.
  • The marking of the RFC communication (RFC client or RFC server).
  • On which instance the remote call was executed.
  • With which technical parameters this instance is characterized.
  • The number of bytes sent and received during the RFC.

RFC trace from RFC SDK

You can also generate RFC trace log files from Crystal Reports, these log files are generated by the RFC SDK and capture the raw communication between Crystal Reports and the SAP system.

The trace is generated by default in the directory where the process, that is making the call is launched from. Crystal Reports starts by default in the Business Objects directory.

To have the traces files created in a specific directory, create the environment variable RFC_TRACE_DIR and set its value to the desired directory. Make sure to restart Crystal Reports after creating this environment variable.

The runtime of the RFC library generates two different trace files. Error messages are written to the file dev_rfc.trc The system then creates these entries even if the RFC trace is deactivated. If the RFC trace is activated the developer traces are generated in addition to the dev_rfc trace. The file names follow the following syntax: rfcxxxxx_yyyyy.trc, where xxxxx and yyyyy are the number of the operating system process and the number of the operating system thread

To generate RFC SDK traces from Crystal Reports:

  1. Launch Crystal Reports and open the report.
  2. Click refresh, specify the SAP system logon info and check Generate RFC trace files.
  3. While the report is being processed, you will see .trc files in the directory specified.

These trace files are good for determining if the RFC connection was successful and if any issues occur during the connection

You can do this same RFC SDK tracing when the report is processed by BOE servers.

To generate RFC SDK traces from BOE processing servers:

  1. In the machine where Crystal Reports processing servers are running, set environment variables RFC_TRACE to the value of 1.
  2. With this environment variable set, an rfc trace log file will be generated for every rfc connection made.
  3. The trace file will be located in the directory where the process, that is making the rfc call, is launched from.
    In a BOE Unix deployment the rfc trace logs will be stored in the ../bobje directory as the scripts to launch the BOE processes are executed in this directory.
  4. To have the traces files created in a specific directory, create the environment variable RFC_TRACE_DIR and set its value to the desired directory.

Tracing BOE

When troubleshooting issues when viewing or scheduling Crystal Reports in BOE, you must first verify that the report works fine in Crystal Reports. To troubleshoot in BOE you can use tracing; unified tracing (BO Classic + Crystal Classic traces); is available as of Business Objects XI 3.1. In order to switch on client traces, you need to create a file called <application>_trace.ini, for example crproc_trace.ini if you want to trace the Crystal Reports Processing Server, [BusinessObjects install folder]\BusinessObjects Enterprise 12.0\win32_x86;in Windows environments or, in Unix environments [BusinessObjects install folder]\bobje or the current working directory of the command that started your servers.
For Crystal Reports processing in BOE the following traces may be useful:

Process to monitor

File name*

Central Management Server

CMS_trace.ini

Crystal Reports Processing Server

crproc_trace.ini

Crystal Reports Cache Server

crcache_trace.ini

Crystal Reports Job Server

JobServer_trace.ini ,JobServerChild_trace.ini

More information on BOE traces can be found here:Traces in XI3.1

  • No labels

2 Comments

  1. Unknown User (lnfmiyy)

    Excellent compilation of details!

     Thanks for your hardwork.

    Regards

    Prasanth

  2. Great Description

    Thanks !!