Skip Headers
Oracle® Fusion Middleware Publishing Reports to the Web with Oracle Reports Services
11g Release 2 (11.1.2)

Part Number E24479-01
Go to Documentation Home
Go to Table of Contents
Go to Index
Go to Feedback page
Contact Us

Go to previous page
Go to next page
PDF · Mobi · ePub

17.8 Calling Oracle Reports from Oracle Forms Services

The tight product integration between Oracle Reports and Oracle Forms Services enables you to pass blocks of data between the two products and removes the need for subsequent queries. This technique, referred to as query partitioning, ensures that Oracle Reports is responsible for formatting data and ignores dynamic alteration of queries through triggers and lexical parameters.

Oracle Forms Services uses the shared Java Virtual Machine (JVM) controller for all report requests, reducing memory consumption.


Unless data parameters are unreasonably large or the queries particularly complicated, the perceived performance improvements should be negligible. Additionally, only top level groups in a report can accept data parameters passed from forms.

A typical integration between Oracle Forms Services and Oracle Reports is an application that provides a form to fill in data, which is used to generate a report. The steps that occur during this process are similar to the following example:

17.8.1 Communication Between Reports and Forms Installed on Different Instances

Oracle Reports 11g Release 2 (11.1.2) communicates with Forms. If Forms and Reports are configured on different Oracle Instances, you must complete the following steps in Forms to facilitate communication with Reports Servers. FORMS_ORACLE_INSTANCE refers to the Oracle Instance where Forms is configured.

  1. From your present working directory, run the following command:


  2. Create the ReportsTools directory as follows:

    mkdir -p ReportsToolsComponent/ReportsTools

  3. Copy the tools-logging.xml file as follows:

    cp $ORACLE_HOME/reports/conf/ReportsTools/tools-logging.xml $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/logging.xml

  4. Copy the tools-log-template.xml file as follows:

    cp $ORACLE_HOME/reports/conf/ReportsTools/tools-log-template.xml $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/component-logs.xml

  5. Copy the rwnetwork.conf file as follows:

    cp $ORACLE_HOME/reports/conf/rwnetwork.conf $FORMS_ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwnetwork.conf

  6. Replace the following macros in the copied files:

    • $$$$ with $FORMS_ORACLE_INSTANCE

    • $$Self.component_type$$ with ReportsToolsComponent

    • $$$$ with ReportsTools

    • $$Instance.oracle_home$$ with the path to the ORACLE_HOME directory

If Forms and Reports are configured on different OHS Servers, you must route the web requests from OHS instance where Forms is configured to the Reports Servlet as follows:

  1. Copy the reports_ohs.conf file as follows:

    cp $ORACLE_HOME/reports/conf/reports_ohs.conf $FORMS_ORACLE_INSTANCE/config/OHS/ohs1/moduleconf/.

  2. Replace the macros $$managedserverhost$$ and $$managaerserverport$$ with host and port of the WLS_REPORTS managed server.

  3. Restart the OHS that is running in FORMS_ORACLE_INSTANCE.

17.8.2 Generating Random and Non-Sequential Job IDs

With 11g Release 2 (11.1.2), Oracle Reports allows you to generate random and non-sequential job IDs to make it impossible to predict the job ID for a particular job. To generate random and non-sequential job IDs for in-process servers, you must pass "-Djobid=random" via JVM options to Oracle WebLogic Server.

For standalone servers, you can generate random and non-sequential job IDs by passing the "-Djobid=random" via JVM options in the command line or by setting the REPORTS_JVM_OPTIONS variable. For more information, see Section B.1.54, "REPORTS_JVM_OPTIONS".

This prevents malicious users from viewing non-secure report output by typing the job id in a URL.