Siebel Reports Guide > Administering Siebel Reports > Optimizing the Performance of Siebel Reports >

Optimizing Reports That Include Thousands of Records


This topic describes how you can optimize performance for reports that include a lot of records, such as 10,000 records.

CAUTION:  It is recommended that you do the work that this topic describes on a separate, named subsystem that only the XMLP Report server component uses. For example, reportsdatascr. If you do not do this, then the Application Object Manager (AOM) on the client might fail if it gets a large amount of data.

If a report includes a lot of records, then it is recommended that the user schedule this report to run on the Oracle BI Publisher Server. It is recommended that the user run this report immediately. For more information, see Scheduling Reports.

Modifying the Sleep Time

The integration from Siebel CRM to Oracle BI Publisher uses an outbound Web service call that calls the PublicReportServiceService Web service on the Oracle BI Publisher Server. The outbound Web service uses the EAI HTTP Transport business service to send the HTTP request for this call. Siebel CRM sets the HTTPSleepTime argument of this business service to two minutes (120000 milliseconds), by default. If a report requires over two minutes to finish, and if you do not schedule this report, then the report times out and Siebel CRM adds an entry that is similar to the following error message. It adds this message in the XMLPReportServer .log file:

SBL-EAI-04311: Operation 'runReport' is expecting a response but no response was received.

This error typically occurs only with a large or complex report, and it does not occur if you schedule the report. To avoid this error, you can increase the default sleep time for the EAI HTTP Transport business service so that the EAI component keeps the HTTP requests that are open through the Outbound Web Service long enough so that Siebel CRM can finish running the report.

To modify the sleep time for all reports

  1. Log in to Siebel client with administrative privileges.
  2. Navigate to the Administration - Server Configuration screen.
  3. Query the Component field of the Components list for XMLP Report Server.
  4. In the Components list, click the child Parameters tab.
  5. In the Component Parameters list, query the Parameter field for the following value:

    ReportHTTPSleepTime

  6. In the Value field, set the value to the number of milliseconds.

    For example, set the Value to 240000 to specify a four minute timeout.

  7. Restart the server.
Using the Business Service Simulator to Test the Sleep Time for a Single Report

You can use the Business Service Simulator to test the timeout for a single report without affecting other reports. You can use it to do a variety of tasks, such as to run a workflow process that creates a report. You can test the sleep time for a single report only through the XMLP Driver Service business service. For more information about using a business service, see Integration Platform Technologies: Siebel Enterprise Application Integration, and Configuring Siebel Business Applications.

To use the Business Service Simulator to test the sleep time for a single report

  1. Log in to Siebel client with administrative privileges.
  2. Navigate to the Administration - Business Service screen, and then the Simulator view.
  3. In the Simulator list, click New, and then set the fields using values from the following table.
    Field
    Value

    Service Name

    XMLP Driver Service

    Method Name

    GenerateBIPReport

    Iterations

    1

  4. In the Input Arguments List, click New, and then add the HTTPSleepTime input argument.

    The HTTPSleepTime input argument affects only the report that you specify in the ReportName input argument in Step 5. For example, if you set HTTPSleepTime to 120000, and if you set ReportName to Opportunity List, then Siebel CRM times out after two minutes only for a single instance of an opportunity report.

  5. Add all other input arguments that the business service simulator requires.

    The XMLP Driver Service includes a number of other required input arguments that you must add. For information about these input arguments and how to add them, see 1425724.1 (Article ID), Siebel BI Publisher Reports Business Service Methods, on My Oracle Support.

Setting Server Parameters

This topic describes how to set server parameters.

This task is a step in Optimizing Reports That Include Thousands of Records and is applicable with a connected client.

To set server profile parameters

  • Set the DSMaxFetchArraySize server parameter to -1 (negative one).

    For more information about setting this parameter, see 1064043.1 (Article ID) on My Oracle Support. For more information about setting server parameters, see Siebel System Administration Guide.

Enabling Scalable Mode

This topic describes how to set the scalable mode for all reports. Setting the scalable mode prepares the BI Publisher-FO Processor to handle a large amount of data, longer processing times, time-outs, and so on. Scalable mode is slower than nonscalable mode but it makes sure data loss does not occur even with a large, complex report.

It is recommended that you enable scalable mode only if many users must access the same, large report at the same time. Scalable mode consumes more resources and might degrade performance. If your deployment commonly uses large reports, then it is recommended that you set the scalable mode for all reports.

For information about the BI Publisher-FO Processor, see Overview of How Siebel CRM Runs Reports in Clients.

To enable scalable mode

  1. Log on to the Oracle BI Publisher Server.
  2. Navigate to the following folder:

    ORACLE_HOME\xmlp\XMLP\Admin\Configuration

    The path for the Java installation folder varies depending on where you install JRE.

  3. Use a text editor to open the xdo.cfg file.
  4. Locate the properties tag.
  5. Make sure the Scalable Mode parameter is set to true:

    <property name="xslt-scalable">true</property>

  6. Save the xdo.cfg file.

Configuring a Temporary Folder

You can configure a temporary folder that Siebel CRM can use if you run a large number of reports.

To configure a temporary folder

  1. Do Step 1 through Step 4.
  2. Configure a temporary folder on the Oracle BI Publisher Server. Use the following code:

    <property name="system-temp-dir">path</property>

    where:

    • path is the path to the temporary folder

      For example:

    <property name="system-temp-dir">d:\tmp</property>

    This temporary folder provides the Oracle BI Publisher Server with the disk space it requires to create complex reports. You must make sure the location of the temporary folder possesses adequate space for the temporary files. You can delete files from this folder after the reports finish running.

  3. Save the xdo.cfg file.

Increasing Memory for the Java Virtual Machine

The Java virtual machine heap is the area of memory that the Java Virtual Memory uses for dynamic memory. If users must run a report that includes a large data set, then the OC4J process might consume too much Java Virtual Memory. To avoid a reports failure, you can increase the allocation that the Java Virtual Memory uses for the OC4J process.

To increase memory for the Java Virtual Machine

  • Increase the heap size.

    For example, to specify a heap size of 512 megabytes, specify the following value in the oc4j.cmd file:

    -Xms512m -Xmx512m

    Different operating systems might use different JVM memory limits.

    For more information, see the topic that describes how to set the JVM heap size for OC4J processes in Oracle® Application Server Performance Guide in the Oracle Business Intelligence Publisher Documentation Library 10.1.x available on Oracle Technology Network (http://www.oracle.com/technetwork/indexes/documentation/index.html).

Siebel Reports Guide Copyright © 2015, Oracle and/or its affiliates. All rights reserved. Legal Notices.