Skip to content

Optimize Performance in IFS Business Reporter

A Business Reporter report's total execution time includes the time spent on validating the report design, fetching data from the server, and rendering results in the BR client. Identifying which step takes more time to render the Business Reporter report is vital. To learn more refer >>

Once the most time-consuming area of the report has been found, then try to find a suitable solution. The best solution might be different from one case to another case.

If more time is taken to fetch data from the server then;

  • Consider changing the report design to reduce the number of server data sets

  • Investigate server SQL statements and try using the BR Report Level Execution Parameters page in IFS Cloud. For more information read about BR Execution Parameters.

  • Introduce new indexes. This is preferably made in the Data Mart, i.e. adding indexes to Materialized Views or incremental tables.

    Adding index in core table is a risk, since new indexes might affect ordinary core functionality in an unwanted way.

    If the Data Mart storage gets new indexes, also make sure that Data Mart is used as the access type for reports with problems.

  • Consider BR Design Execution Options

Enable IN Clause Optimization and Enable Multiple Filter Criteria Optimization.

The data set optimization algorithm was improved in Apps 9 to enable merge of more client data sets than earlier into server data sets. These two options are enabled by default and only changed if e.g. there is a suspicion that the optimization is not working correctly or if the statement generates more IN values in the SQL statement than possible to handle.

  • Consider the Number of Statements

Business Reporter always tries to optimize the report execution by looking for similar client statements and to merge them together. The objective is to reduce the number of statements executed on the server side. Now since this optimization is done as far as possible, the designer should look out for a design that generates hundreds of server statements.

Each server statement is represented by a SQL statement that joins necessary dimensions with the “driving” fact. The number of transactions in each referenced table, number of joins, conditions used, available indexes, Oracle version, db statistics etc will affect the performance for each set. Thus the number of server data sets can be a critical issue if there many of these sets take a rather long time to execute. Also for a case where e.g. 1000 server statements are generated and each statement only takes 1 second, the total server execution may will be 1010 seconds, i.e. nearly 17 minutes. Therefore, reducing the number of server statements is always a good thing to strive for.

If more time is taken to render results in BR Client then;

To improve the performance of a BR Report in general;

· Consider general performance tips

· Consider BR Execution Server