Skip Headers

Oracle® Developer Suite Release Notes 10g (9.0.4) for Windows, Linux, Solaris, and HP-UX Part No. B10668-03 |
| Library | Contents | Index

# 10 Oracle Reports

This chapter discusses issues and workarounds for Oracle Reports, including Oracle Reports Developer (Reports Developer) and Oracle Application Server Reports Services (Reports Services). The chapter includes the following topics:

- Section 10.1, "General Issues and Workarounds"

- Section 10.2, "Platform-specific Issues and Workarounds"

  - Section 10.2.1, "Windows Platform Issues and Workarounds"

  - Section 10.2.2, "Linux, Solaris, and HP-UX Platform Issues and Workarounds"

- Section 10.3, "Configuration Issues and Workarounds"

- Section 10.4, "Administration Issues and Workarounds"

- Section 10.5, "Documentation Errata"

The notes in this chapter cover issues and workarounds that are not documented in Oracle Reports 10g manuals and online help. For information about the new features in this release, refer to the Oracle Reports 10g page on OTN (`http://otn.oracle.com/products/reports/index.html`), and to the "About this release" topic in the Reports Builder online help.

Note: You can also download the latest version of the Reports Builder online help from the Oracle Reports 10g OTN page.

## 10.1 General Issues and Workarounds

This section describes general issues and workarounds for Oracle Reports.

### 10.1.1 Running a Simple Matrix Report to the Web

Problem

If you try to create a simple matrix report and run it to Web by using the Run to Web functionality, the report does not display correctly.

Workaround

To fix this issue, download and install the patch for your operating environment. The patches are at `http://metalink.oracle.com`:

- Windows ARU number: 5147374

- Solaris ARU number: 5147755

- HP-UX ARU number: 5158238

### 10.1.2 Opening / Running an encoded JSP report

Description

If your JSP report's character encoding (for example, `EUC-JP`) differs from the character set portion of the `NLS_LANG` environment variable (for example, `JA16SJIS`), then you will get the following errors:

- when running the JSP file:

      REP-6106 or 6104 with javax.servlet.jsp.JspException  (multibyte)
      REP-0495 Unable to tokenize the query (singlebyte)

- when opening the JSP file using Reports Builder:

  `REP-0069 Internal Error or REP-6106`

Workaround

To work around this issue, you must ensure that your JSP report's character encoding matches the IANA encoding corresponding to Reports Builder's character set portion of the `NLS_LANG` variable.

For example, the JSP report encoding

    <%@ page contentType="text/html;charset=EUC-JP" %>
    <META http-equiv="Content-Type" content="text/html;charset=EUC-JP">

uses the IANA character encoding `EUC-JP`. For this report, you should use the `NLS_LANG` setting

`NLS_LANG=JAPANESE_JAPAN.JA16EUC`.

The JSP report's encoding (`EUC-JP`) will then correspond to the character encoding part of the NLS_LANG environment variable (`JA16EUC`).

### 10.1.3 Dynamically Embedding a Character Set in a JSP file

In Oracle Reports, Web-report templates are configured by default for Western European character encoding. For other languages, you must specify the character encoding for a JSP file by using both the `charset` attribute of the `<meta>` tag and the `<%@page%>` page directive.

To dynamically associate the appropriate character encoding with the JSP file, you can make the following modifications:

1. In the directory `oracle_home``/reports/templates/`, edit the files `rw*.html` and `blank_template.jsp`:

   1. Modify the page directive to read

          <%@ page contentType="text/html;charset=yourIANAencoding" %>

      where

      `yourIANAencoding` is the IANA character encoding that corresponds to the character encoding part of your `NLS_LANG` environment variable.

   2. Modify the `<meta>` tag inside the `<head>` tag to read:

          <meta http-equiv="Content-Type"
          content="text/html;charset=yourIANAencoding" />

2. In the directory `oracle_home``/reports/templates/`, edit the file `template.xsl`:

   1. Modify the `<xsl:output>` tag to read:

          <xsl:output
               method="jsp"
               indent="yes"
               encoding="yourIANAencoding"
             />

      where

      `yourIANAencoding` is the IANA encoding that corresponds to the character encoding part of your `NLS_LANG` environment variable.

   2. Add the following page directive:

          <%@ page contentType="text/html;charset=yourIANAencoding" %>

   3. Add or modify the `<meta>` tag inside the `<head>` tag:

          <meta http-equiv="Content-Type"
          content="text/html;charset=yourIANAencoding" />

      where

      `yourIANAencoding` is the IANA encoding that corresponds to the character encoding part of your `NLS_LANG` environment variable.

### 10.1.4 Running a Multibyte report containing an embedded Oracle Object

On Windows and Linux platforms, Reports Builder stops responding when you run a multibyte report containing an embedded Oracle Object type. This issue will be fixed in a later release.

### 10.1.5 Viewing Oracle Enterprise Manager screens in non European languages

Oracle In the Enterprise Manager Application Server Control, you may see garbled titles on the following Reports Server pages for non-Western European languages:

- Engine

- Configuration

- Edit Configuration File

This is a known problem and will be fixed in a later release.

### 10.1.6 Specifying the encoding of an XML PDS Report

When you create a report against an XML data source, you must ensure that the encoding of the data source and its DTD matches the encoding of Reports Builder.

For example, when you create an XML report against a table encoded in a Japanese character set, the group element name is encoded in Japanese. To match the data source, you should encode the group's element name in the DTD in Japanese. The XML and DTD files can be in any encoding that supports Japanese, such as Shift_JIS, EUC-JP, or UTF-8.

If you do not match the XML data source and DTD encoding to the Reports Builder encoding, you will see the following error:

`ERR-063001 xxx.dtd null`

Note: You will not see this error if you use a XML schema instead of a DTD.

To avoid this problem, ensure that both the XML data source and DTD for your XML report use the same encoding that you have in the character encoding part of the `NLS_LANG` environment variable in effect for your Reports Runtime.

For example, if `NLS_LANG=JAPANESE_JAPAN.JA16SJIS` for your Reports Runtime, then both your XML data source and DTD should use Shift_JIS.

### 10.1.7 FTP and WebDaV Destinations Not Supported from Reports Builder

Currently there is no support for FTP and WebDaV destinations from the Reports Builder environment. However, they are supported from the Reports Runtime and the Reports Server environments.

### 10.1.8 Oracle9i JDeveloper Integration

#### 10.1.8.1 Deadlock When Debugging JSP Reports in Oracle9i JDeveloper

When you are debugging an OracleAS Reports Services JSP in Oracle9i JDeveloper (JDeveloper), you must disable any breakpoints that are not of source type. If you do not disable these breakpoints, a deadlock occurs. You can disable breakpoints that are not of source type in the Breakpoints window.

#### 10.1.8.2 Graph Not Appearing in Oracle9i JDeveloper

When you run a JSP report with the `rw:graph` tag in JDeveloper, the graph image is not visible in the browser. To fix this problem, set the `IMAGEURL` parameter in the `rwservlet.properties` file in `oracle_home``/reports/conf`:

    IMAGEURL=http://host:port/Workspace-Project-context-root/servlet/ oracle.reports.rwclient.RWClient

#### 10.1.8.3 Reports in-process server

If you set the JDeveloper Java Virtual Machine (JVM) to `ojvm`, `minimal`, or `vanilla` (Project Settings > Runner > Virtual Machine), the rwservlet's in-process server is not killed when you terminate JDeveloper's embedded OC4J server. As a result, a port conflict occurs the next time you start OC4J. To avoid this problem, do one of the following:

- Set the JVM to `hotspot`.

- Disable the in-process server in `oracle_home``/reports/conf/rwservlet.properties` by setting `server_in_process=no`.

- Use the standalone Reports Server instead.

## 10.2 Platform-specific Issues and Workarounds

This section contains issues and workarounds that apply to specific operating environment platforms supported by Oracle Developer Suite.

### 10.2.1 Windows Platform Issues and Workarounds

This section contains issues and workarounds that apply specifically to supported Microsoft Windows platforms.

#### 10.2.1.1 Using osfind with JDK 1.4

Oracle Reports's architecture uses VisiBroker's `osagent` to find the various servers running in the network.

You use osfind to find various `osagent` instances running on the network. However, `osfind` does not work with the JDK version used by Oracle Application Server (version 1.4). To work around this issue and find `osagent` instances running on the network, you must run `osfind` with the following settings:

    osfind -J-Xbootclasspath /p:oracle_home\vbroker4\lib\vbjboot.jar

#### 10.2.1.2 Invoking the Getting Started Page From Reports Builder

If you open the Getting Started page from Reports Builder using Netscape 7.0, you might get a `Failed to locate browser` error. To correct this problem:

1. Open the Windows registry using a registry editor (for instance, `regedit.exe`).

   Note: Create a backup of the registry before proceeding to edit it.

2. Navigate to the following key:

       HKEY_CURRENT_USER\Software\Oracle\Toolkit\Tkbrowser

3. Delete all other values except `Default`.

4. Run Reports Builder and select Getting Started.

5. Click OK. The Information Navigator Preferences dialog box appears.

6. Select Netscape Navigator 7.0+ as the browser. Ensure that the path and the browser program name are accurate. To change the browser location (if the path or the program name is incorrect):

   1. Click Browse.

   2. Navigate to the location and program name you want.

   3. Click OK.

7. In the Information Navigator Preferences dialog box, click OK.

#### 10.2.1.3 Printing Reports Without Hardware-based Left Margins

Oracle Reports 10g (9.0.4) has been changed to generate the report output relative to the top-left corner of the physical paper. Earlier, the printer's printable area was used, causing inconsistencies in the location of the report output when used across different printer models.

If required, you can revert to the earlier behavior by setting the registry key `REPORTS_ADD_HWMARGIN` to `YES`.

To set the `REPORTS_ADD_HWMARGIN` registry key to `YES`:

1. Back up the Windows registry, then edit it using a registry editor such as `regedit.exe`.

   Note: Refer to Windows online help for instructions on how to back up the registry.

2. Navigate to the key `HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE`, then find the HOME`n` key that contains the directory for the Oracle home that contains Reports.

3. With this key selected, add a new String sub-key named `REPORTS_ADD_HWMARGIN` and set its value to `YES`.

By default, the non-printable left margin of the printer is ignored. The printing origin starts from the top-left corner (0,0) of the physical paper and not the printable area. If you have set the registry key value to `YES` and then want to switch to the default, you can set the key value to `NO`, or you can delete the key.

You must provide enough margin in your report's layout to put the data within the printable area. The margin fields in the Page Setup dialog box of Reports Builder have been disabled to ensure consistency with OracleAS Reports Services.

### 10.2.2 Linux, Solaris, and HP-UX Platform Issues and Workarounds

Note: Platform-specific issues are only reported for the platform on which they were first detected; an issue that is listed as "platform-specific" may actually occur on several platforms. Unless the notes say otherwise, you should only use a platform-specific workaround on the stated platform.

#### 10.2.2.1 General Linux, Solaris, and HP-UX Platform Issues and Workarounds

This section contains issues and workarounds specifically for all supported SPARC Solaris, HP HP-UX, and Linux x86 platforms.

##### 10.2.2.1.1 Running a Report to DelimitedData on OracleAS Portal

If you have registered your Reports Server in Oracle Application Server 10g Portal, then you cannot run a report to `DESFORMAT=DELIMITEDDATA` using that Reports Server.

Workaround

To work around this issue, you must either unregister your Reports Server from Oracle Application Server 10g Portal or use a standalone Reports Server to run the report to `DESFORMAT=DELIMITEDDATA`.

##### 10.2.2.1.2 Providing the location to a character set-specific Tk2Motif.rgb file

The file `Tk2Motif.rgb` file contains resource settings for the Motif version of the Oracle Toolkit. For example, it specifies the font mapping between the character set used by Oracle Reports, specified in `NLS_CHARACTERSET`, and X fonts.

Oracle Reports looks for this file in the directory `oracle_home``/guicommon9/tk90/admin/``language`, where language is derived from the language setting in `NLS_LANG`.

If the file does not exist, then Oracle Reports looks for the default version in `oracle_home``/guicommon9/tk90/admin`. This version is configured for `WEISO8859P1`, the Western European character set.

If your `NLS_LANG` or `NLS_CHARACTERSET` specifies a character set that is not normally used for the language you have set in `NLS_LANG`, then you will get an error.

For example, if you have set `NLS_LANG=AMERICAN_AMERICA.JA16EUC`, then Oracle Reports locates `Tk2Motif.rgb` in the directory `oracle_home``/guicommon9/tk90/admin/`. The language setting in `NLS_LANG` is `AMERICAN`, and there is no language subdirectory associated with `AMERICAN`, so Oracle Reports uses the default file. Since this version is designed for `WE8ISO8859P1`, and your `NLS_LANG` character set is `JA16EUC`, you get the error `REP-3000`.

To workaround this problem, set the value of the environment variable `TK90_UNKNOWN` to the location of your character set-specific `Tk2Motif.rgb` file.

For example, if you have `NLS_LANG=AMERICAN_AMERICA.JA16EUC`, then set `TK90_UNKNOWN=``oracle_home``/guicommon9/tk90/admin/JA`. Even though your language is set to `AMERICAN`, Oracle Reports will use the `Tk2Motif.rgb` file in the `JA` language subdirectory.

##### 10.2.2.1.3 Implementing removal of DISPLAY and printer dependencies

With Oracle Reports 10g (9.0.4), it is no longer necessary to have the DISPLAY environment variable or a valid printer defined at runtime.

The `REPORTS_DEFAULT_DISPLAY` environment variable specifies whether to implement the following features:

- The elimination of the dependency on the `DISPLAY` environment variable, which was required in prior releases to define the windowing system display surface for creating images and getting pixel resolution.

- The elimination of the dependency on having a valid printer defined for font information (`PRINTER` and `TK_PRINTER` environment variables set to a valid printer, or a valid entry in `uiprint.txt`).

- Using `screenprinter.ppd` for surface resolution for images and font information.

- Enhanced imaging support

Note: For existing customers upgrading to Oracle Reports 10g (9.0.4), the default setting (`YES`) may impact the appearance, number of pages, output file size, or performance of existing reports. Even when the `DISPLAY` environment variable is set, it will not be used unless `REPORTS_DEFAULT_DISPLAY` is set to `NO`.

See Also: Oracle Application Server Reports Services Publishing Reports to the Web and the Reports Builder online help for more information on the `REPORTS_DEFAULT_DISPLAY` environment variable and `screenprinter.ppd`. The section "Fonts in Report Output" in the chapter "Managing Fonts in Oracle Reports" in Oracle Application Server Reports Services Publishing Reports to the Web.

#### 10.2.2.2 Solaris Issues and Workarounds

Note: Although these issues were seen on Solaris, they may also exist on Linux and HP-UX.

##### 10.2.2.2.1 Reports Builder stops responding on Solaris 2.9

On Solaris 2.9, Reports Builder stops responding if you invoke either the Report Wizard or the Data Wizard after accessing any of the following:

- Reports Builder online help

- Data Model Editor

- Text Query Editor

- JDBC Query Editor

- OLAP Query Editor

Reports Builder may stop responding when you use the query editor from the Report Wizard's data panel.

To fix this issue, download and install the patch from `http://metalink.oracle.com`. The ARU patch number is: 5188895.

After you have installed the patch, you must enable it by setting the environment variable `REPORTS_SOLARIS_9``=YES`.

##### 10.2.2.2.2 Invoking the Graph Wizard in a multibyte environment

On Solaris, invoking the Graph Wizard in a multibyte (Japanese, Simplified Chinese, and Korean) environment causes Reports Developer to stop responding.

To work around this issue, you must:

1. Install J2SE Version 1.4.2 on your computer. You can download J2SE 1.4.2 from Sun Microsystem's Java web site (`http://java.sun.com`).

2. Set the path to the J2SE home in the `reports.sh` file:

   `PATH=$J2SEHOME/bin:$ORACLE_HOME/jdk/bin: $ORACLE_HOME/bin:${PATH};``export PATH`

3. Modify `LD_LIBRARY_PATH` in `reports.sh` to point to the location of the J2SE home:

   `LD_LIBRARY_PATH=$J2SEHOME/lib/sparc: $ORACLE_HOME/jdk/jre/lib/sparc:$ORACLE_HOME/lib: ${LD_LIBRARY_PATH}; export LD_LIBRARY_PATH`

#### 10.2.2.3 Linux Issues and Workarounds

This section contains issues and workarounds specifically for supported Linux x86 platforms.

##### 10.2.2.3.1 Radio box selection using mouse in New Program Unit dialog box does not take effect (3209858)

Reports Builder has a known issue with selecting a radio button with your mouse.

When you select a radio button in the New Program Unit dialog box, close the dialog box (for example, by clicking on Cancel) and then reopen the New Program Unit dialog box, you cannot select the same radio button.

For example, if you select the Function radio button, close the New Program Unit dialog box, and then reopen it, you cannot select the Function radio button.

You can work around this using either of the following methods:

- Select a radio button other than the one you selected previously, then select the one you want. For example, to select the Function radio button, first select the Procedure radio button. You can then select the Function radio button.

- Use your keyboard to select the radio button. Navigate to the radio button using the Tab, Up, and Down keys, then use the space bar to select the radio button.

For further details, please refer to bug 3209858: RWBUILDER: NEW PROGRAM UNIT: CANNOT MAKE RADIO BUTTON SELECTION WITH MOUSE

#### 10.2.2.4 HP-UX Issues and Workarounds

##### 10.2.2.4.1 Running Oracle Reports in a Japanese Environment on HP-UX

If you want to use Oracle Reports in the HP-UX Japanese environment with `NLS_LANG=JAPANESE_JAPAN.JA16SJIS`, you will need to modify the appropriate `Tk2Motif.rgb` file before using Oracle Reports because this file contains `EUC` and not `SJIS` encoded Japanese resources.

To do this, edit the file `oracle_home``/guicommon9/tk90/admin/JA/Tk2Motif.rgb`. Either convert the entries to `SJIS` encoding, or remove the last seven entries. Otherwise, Oracle Reports may fail.

## 10.3 Configuration Issues and Workarounds

This section contains issues and workarounds for Oracle Reports Developer configuration.

### 10.3.1 Repairing Fonts Not Appearing Correctly in Web Source View

Text in the user interface of Reports Builder, such as the window title, uses fonts taken from the system resource files for the current language. These system resource files are supplied with the Oracle Reports installation. In Oracle Reports, you can map these fonts in the `[RWBUILDER]` section of `uifont.ali`. If found, the mapped font is used instead of the original font; if not, Oracle Reports uses the original font.

Note: The mapped font needs to be a fixed-width font.

In the Web Source view of the Report Editor, the following languages may appear garbled: Arabic, Central European languages, Cyrillic, Greek, Hebrew, Japanese, Thai, and Turkish. To work around this issue, you can set the font names for Reports Builder in `uifont.ali` as follows:

    [rwbuilder]
    .....AR8MSWIN1256="Courier New"
    .....CL8MSWIN1251="Courier New"
    .....EE8MSWIN1250="Courier New"
    .....EL8MSWIN1253="Courier New"
    .....IW8MSWIN1255="Courier New"
    .....JA16SJIS="MS Gothic"
    .....TH8TISASCII="Andale Duospace WT"
    .....TR8MSWIN1254="Courier New"

You can download a copy of the Andale Duospace WT (fixed-width) font from OracleMetalink (`http://metalink.oracle.com`). The ARU number is 2638552.

### 10.3.2 Optimizing the Deployment of Reports

Before you deploy a report on a computer that is either slow or is running on a load, you may want to configure the following:

- Ping timeout (OPMN-side): Ping timeout is the measure that OPMN uses to determine the time that it must wait for a callback from an in-process Reports Server (in OC4J_BI_FORMS), before considering it as a timeout.

  The default timeout period is 150. This period is calculated from: ping timeout, ping interval, and number of retries. The default values for these are:

  - ping timeout = 30 seconds

  - ping interval = 20 seconds

  - number of retries = 3

  Note: The number of retries is applicable only when OPMN successfully connects to OC4J and receives regular ONS notifications from the process.

  Based on these values, there will be three ping attempts with a timeout of 30 seconds each at 20 second intervals. The first ping is done after the specified ping interval. Thus, from the time the OC4J is started by OPMN, approximately 150 (20 + 3*30 + 2*20) seconds will elapse before the process is considered unresponsive and restarted. However, if after OPMN connects to OC4J but OC4J is too slow in sending regular ONS notifications then the 30 second timeout is applicable.

  See Also: Oracle Application Server Reports Services Publishing Reports to the Web for more information on the `opmn.xml` file.

- Callback timeout (Reports Server-side): Callback timeout is the measure that Reports Server uses to determine the time that it must wait for a response from the engine before timing out. You can specify this value in the Reports Server configuration file, `server_name``.conf`. This time out period is in milliseconds.

  For example:

      <engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
      maxEngine="1" minEngine="0" engLife="50" maxIdle="30"
      callbackTimeOut="80000">

  Note: Increase the timeout when the machine is very slow.

### 10.3.3 Improving Image Resolution of Graphs Displayed in a PDF File or on a Printer

The `REPORTS_GRAPH_IMAGE_DPI` environment variable specifies a dots per inch (DPI) value for graphs displayed to a PDF file or on a printer. The default value for this environment variable is 72 DPI, which minimizes the time it takes to generate the report and reduces the report file size.

If you specify a value higher than 72 DPI, you will see an improvement in the image resolution. However, this increases the time it takes to generate the report and increases the report file size.

For instance, setting the value to 250:

- Increases the time to generate a report by 5 to 6 times that of a report generated at 72 DPI.

- Increases the PDF file size by 5 to 6 times that of a report generated at 72 DPI.

Usage Notes

- The valid values are 72 through 300.

- The default value is 72.

- For Windows, set the value in the Windows registry key `HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOME` `n``\``REPORTS_GRAPH_IMAGE_DPI`. Refer to Section 10.2.1.3, "Printing Reports Without Hardware-based Left Margins" for instructions on how to set a registry key value.

- For Linux, Solaris, and HP-UX, set the value by setting the environment variable in `reports.sh`.

- When you set a DPI value greater than 250 and your chart is bigger than 5"x5", you may also need to change the JVM heap size value using `REPORTS_JVM_OPTIONS` to avoid an `Out Of Memory` error in the JVM.

- This variable is currently not supported in Oracle Reports distribution functionality as this is specific to PDF and printer outputs only.

See Also: Oracle Application Server Reports Services Publishing Reports to the Web for more information on setting the JVM options.

### 10.3.4 Specifying the Values for Oracle Reports' Java Virtual Machine

You may want to set Oracle Reports' Java Virtual Machine (JVM) options explicitly to get certain specific behaviors from the JVM that aren't enabled by default. To do this, use the command line option `JVMOPTIONS`.

You can use `JVMOPTIONS` to set options for Reports Runtime, Reports Builder, or Reports Converter's JVM. For example, you can use the following command line to start Reports Builder with a 512MB heap space:

    rwbuilder jvmoptions=-Xmx512M

You can set more than one option by enclosing the value in quotes:

    rwbuilder jvmoptions="-Xmx256M -Xms=128M"

The syntax of `JVMOPTIONS` is

JVMOPTIONS=option | "option [option]"

where `option` is a valid option for a Reports JVM.

The default value for JVMOPTIONS is `-Xmx256M`.

Note: The value of `JVMOPTIONS` overrides the value in the `REPORTS_JVM_OPTIONS` environment variable.

### 10.3.5 Resolving Reports-Portal Integration Error When Attempting OID Create Resource

In OracleAS Portal, when you have configured Oracle Reports Security settings for Reports Definition File Access by editing a reports definition file, you may encounter the following error when you click Run or Run as Portlet:

    500 Internal Server Error
    Unexpected Error. Please contact Administrator

This error occurs when all of the following conditions are true:

- You have an Interop deployment (which allows for a mixed 9.0.2/9.0.4 environment), with 9.0.4 MT (mid-tier), 9.0.4 IM (Identity Management), and 9.0.2 MR (metadata repository) configured to run together.

- You are running Oracle Reports within OracleAS Portal, using the SSOCONN parameter.

- The connection resource you specify in the SSOCONN parameter was not created in the Oracle Internet Directory (OID) server.

To work around this issue, do the following:

1. In the 9.0.4 IM Oracle home, open the following file in a text editor:

   `oracle_home``/Apache/Apache/conf/mod_osso.conf`

2. Add the following line to the file:

   `OssoRedirectByForm on`

   For example:

       <IfModule mod_osso.c>
       OssoIpCheck off
       OssoIdleTimeout off
       OssoConfigFile
       /private1/iasinst/install_set1/904infra/Apache/Apache/conf/osso/osso.conf
       OssoRedirectByForm on
       </IfModule>

### 10.3.6 Running to Web Layout on Reports Builder

You can preview a report from Reports Builder by using the Run To Web Layout functionality. You do not need to have the Reports Server configured in order to use this functionality, because Reports Builder includes an embedded Oracle Application Server Containers for J2EE(OC4J) server.

After you upgrade to Oracle Reports 10g (9.0.4) from Oracle9i Reports Release 2 (9.0.2), you must ensure that the location in the environment variables `CLASSPATH` or `REPORTS_CLASSPATH` refer only to the `oc4j.jar file` in the 10g (9.0.4) Oracle home. You must remove the path to the 9.0.2 Oracle home `oc4j.jar` if it exists in either `REPORTS_CLASSPATH` or `CLASSPATH`.

If you include the 9.0.2. `oc4j.jar` file path in either `CLASSPATH` or `REPORTS_CLASSPATH`, the Run to Web Layout functionality will fail with the following error:

`The major.minor version '48.0' is too recent for this tool to understand`

## 10.4 Administration Issues and Workarounds

This section describes administration issues and their workarounds for Oracle Reports Developer.

### 10.4.1 Authenticating EM Access to Reports Server Information

The `identifier` element in `server_name``.conf` contains a new value called `SERVERACCESSKEY`. This value is used to ensure that the Reports Server information in Oracle Enterprise Manager (EM) is secure. The following authentication is implemented:

- The value of the identifier element in the `server_name``.conf` file is encrypted and is of the form `%SERVERACCESSKEY_USER%/%SERVERACCESSKEY_PASSWORD%`. For example:

      <identifier confidential="yes" encrypted="no">
        %SERVERACCESSKEY_USER%/%SERVERACCESSKEY_PASSWORD%
      </identifier>

- The corresponding entries in the `targets.xml` file are:

      <Property NAME="UserName" VALUE="%SERVERACCESSKEY_USER%" ENCRYPTED="FALSE"/>
      <Property NAME="Password" VALUE="%SERVERACCESSKEY_PASSWORD%"
      ENCRYPTED="FALSE"/>

The default installation ensures that the install time values of `%SERVERACCESSKEY_USER%` and `%SERVERACCESSKEY_PASSWORD%` match those in `targets.xml`.

Note: `%SERVERACCESSKEY_USER%` and `%SERVERACCESSKEY_PASSWORD%` in `server_name``.conf` and `targets.xml` must match for the Reports Server pages in EM to display data correctly.

To change the user name and password:

1. Edit the `oracle_home``/reports/conf/``server_name``.conf` file, as follows:

       <identifier confidential="yes" encrypted="no">
          new_username/new_password
       </identifier>

2. Edit the `oracle_home``/sysman/emd/targets.xml` file, as follows:

       <Property NAME="UserName" VALUE="new_username" ENCRYPTED="FALSE"/>
       <Property NAME="Password" VALUE="new_password" ENCRYPTED="FALSE"/>

3. Restart EM and Reports Server. The user name and password in `server_name``.conf` and `targets.xml` will be encrypted after the restart.

Note: Beginning with Oracle Reports 10g (9.0.4), Enterprise Manager (EM) will not use OID authentication to access Reports Server information. It will use the `SERVERACCESSKEY` value to specify the authentication.

### 10.4.2 Running Reports on OracleAS Portal as an Item Link

When you install OracleAS Portal with a non-default language setting, some entries required to publish a report as an item link on a portal page are not installed automatically. You must install the language of your choice by using the `rwlang.sql` script.

Run the script `rwlang.sql` in the directory `oracle_home``/portal/admin/plsql/wwd/` if:

- You selected at least one language in addition to the default ("US") when you installed OracleAS Portal

- You want to publish a report as an item link in OracleAS Portal.

This is a one time post-installation task and will ensure that you can publish a report as an item link on OracleAS Portal.

To run the script:

1. Navigate to the directory `oracle_home``/portal/admin/plsql/wwd/`.

2. Run SQL*Plus.

3. Logon to OracleAS Portal using the portal schema.

   Note: This is the portal schema you used to install OracleAS Portal PL/ SQL packages.

4. Run the script `rwlang.sql` with a list of language identifiers corresponding to the languages you installed with OracleAS Portal:

   `@rwlang.sql` `language_list`

   where `language_list` is a list of language identifiers, separated by commas.

   For example, if you installed French and Japanese when you installed OracleAS Portal, you would run the following command:

   `@rwlang.sql f,ja`.

Usage Notes:

- Do not leave spaces before or after the comma (,), otherwise SQL*Plus will interpret the language list as two parameters, instead of one parameter containing a comma delimiter.

- The file `rwlang.sql` contains a complete list of language identifiers. You can view the file with a text editor to find the identifiers you want.

## 10.5 Documentation Errata

This section describes known errors in the documentation.

### 10.5.1 REPORTS_CLASSPATH variable in Linux, Solaris, and HP-UX

Chapter 8, sections 8.1.2 through 8.2, of the Oracle Application Server Reports Services Publishing Reports to the Web manual specifies the `reports.sh` file as containing the `REPORTS_CLASSPATH` variable on Solaris. The `REPORTS_CLASSPATH` variable is located in the `reports.sh` file for all Linux, Solaris, and HP-UX platforms.

### 10.5.2 Oracle Reports Documentation Page on Oracle Technology Network

Due to improvements on OTN, the URL that directly accesses the Oracle Reports Documentation page is incorrect in the documentation. Instead of `http://otn.oracle.com/docs/products/reports/content.html`, the revised URL is `http://otn.oracle.com/documentation/reports.html`

### 10.5.3 Revised Section 13.3.3.2 of Oracle Application Server Reports Services Publishing Reports to the Web

Chapter 13, section 13.3.3.2, of the Oracle Application Server Reports Services Publishing Reports to the Web manual contains procedures that are outdated. Replace the section with the following section, "Deploying an Oracle Reports JSP to an OC4J_BI_FORMS Instance":

#### 10.5.3.1 Deploying an Oracle Reports JSP to an OC4J_BI_FORMS Instance

This section describes how to deploy an Oracle Reports JSP file to either an existing or a new instance of OC4J_BI_FORMS.

##### 10.5.3.1.1 To deploy to an existing OC4j_BI_FORMS instance:

1. Ensure that you have created the J2EE application. Refer to the manual Oracle Application Server Reports Services Publishing Reports to the Web for more information on creating a J2EE application for Oracle Reports.

2. In Oracle Enterprise Manager, display the detail page for your middle tier.

3. Under System Components, click OC4J_BI_Forms.

4. In the OC4J_BI_FORMS page, click Administration.

5. Under Deployed Applications, click Deploy EAR file to deploy the EAR file you created.

6. On the first page of the Deploy Application wizard, click Browse to select the J2EE application (EAR file) you want to deploy, or enter the location of the EAR file you created.

7. In Application Name, specify a unique application name for this application. For example, you can name your application `MyReportApp`.

8. From the Parent Application list, select the parent application and click Continue.

9. On the URL Mapping page, note the text in the URL Mapping field. This is the name your users will enter to access the new application.

10. In the URL Mapping field, add a forward slash (`/`) to the beginning of the application name, since it is part of a URL address. For example, if you have named your application `MyReportApp` then you should change the URL Mapping field to read

    `/MyReportApp`.

11. Click Finish.

12. On the next page, click Deploy.

13. On the OC4J_BI_Forms Detail page that displays, you should now see your application (MyReportApp) listed under Deployed Applications.

14. Click your application name (MyReportApp).

15. On the Application page, under Properties, click General.

16. Under Library Paths, click Add Another Row, then add the following path to the `rwrun.jar` library:

    `oracle_home``\reports\jlib\rwrun.jar`.

17. Add another row with the following path to the `zrclient.jar` library:

    `oracle_home``\jlib\zrclient.jar`.

18. Click Apply, then click OK.

19. Restart your application. Click Stop, then Start. Your application will restart The new library paths are now in effect.

##### 10.5.3.1.2 To deploy to a new OC4j_BI_FORMS instance:

1. Ensure that you have created the J2EE application. Refer to the manual Oracle Application Server Reports Services Publishing Reports to the Web for more information on creating a J2EE application for Oracle Reports.

2. In Oracle Enterprise Manager, display the detail page for your middle tier.

3. Click Create OC4J Instance.

4. Type the name of your OC4J instance.

5. Click Create.

6. Once the OC4J instance is created, click OK.

7. On Application Server page, under System Components, you should now see the new OC4J instance.

8. Next, manually configure the OC4J instance to support connection to a Reports Server and to support security integration.

##### 10.5.3.1.3 To configure the new OC4J instance:

1. Copy properties and their definitions from an existing OC4J instance to your new instance. The properties are in the `oc4j.properties` file of an existing OC4J instance.

   For example, if you have an existing OC4J_BI_FORMS instance and a new OC4J instance `myinstance`, then copy the properties from `oracle_home``/j2ee/OC4J_BI_FORMS/config/oc4j.properties` into `oracle_home``/j2ee/``myinstance``/config/oc4j.properties`.

   Copy the following properties and their definitions:

   - `oracle.home`

   - `oracle.path`

2. In the file `oracle_home``/opmn/conf/opmn.xml`, add the `PATH` (Windows) or `LD_LIBRARY_PATH` (Linux, Solaris, and HP-UX) property. To do this,

   1. In `oracle_home``/opmn/conf/opmn.xml`, find the XML element that describes your new OC4J instance:

          <process-type id="myapp" module-id="OC4J">
            <module-data>
              <category id="start-parameters">
                <data id="java-options"
                      value="-server
          -Djava.security.policy=oracle_home/j2ee/MyInst/config/java2.policy
          -Djava.awt.headless=true"/>
               <data id="oc4j-options" value="-properties"/>
              </category>
              <category id="stop-parameters">
               <data id="java-options"
                     value="
          -Djava.security.policy=oracle_home/j2ee/MyInst/config/java2.policy
          -Djava.awt.headless=true"/>
              </category>
            </module-data>
            <start timeout="900" retry="2"/>
            <stop timeout="120"/>
            <restart timeout="720" retry="2"/>
            <port id="ajp" range="3301-3400"/>
            <port id="rmi" range="3201-3300"/>
            <port id="jms" range="3701-3800"/>
            <process-set id="default_island" numprocs="1"/>
          </process-type>

   2. Add either the `PATH` (for Windows) or `LD_LIBRARY_PATH` (for Linux, Solaris, and HP-UX) and module data properties by copying them from the `OC4J_BI_FORMS` instance in the same `opmn.xml` file. For example, on a Solaris computer:

          <environment>
            <variable id="LD_LIBRARY_PATH"
                      value="$ORACLE_HOME/lib:
                             $ORACLE_HOME/network/lib:
                             $ORACLE_HOME/jdk/jre/lib/sparc"/>
          </environment>
          <category id="start-parameters">
            <data id="java-options" value="-server
          -Djava.security.policy=$ORACLE_HOME/j2ee/OC4J_BI_Forms/config/java2.policy
          -Djava.awt.headless=true -Xmx512M
          -Xbootclasspath/p:$ORACLE_HOME/vbroker4/lib/vbjboot.jar"/>
            <data id="oc4j-options" value="-properties -userThreads"/>
          </category>
          <category id="urlping-parameters">
            <data
              id="/MyReportsApp/rwservlet/pingserver?start=auto" value="200"/>
          </category>
                 <dependencies>
                   <database infrastructure-key="portal"/>
                   <managed-process process-type="HTTP_Server"
                                    process-set="HTTP_Server"
                                    ias-component="HTTP_Server"
                                    autostart="true"/>
                 </dependencies>

      where MyReportsApp is your newly created Web application name for Oracle Reports.

   3. Restart the OC4J instance.

### 10.5.4 Possible Outdated Screenshots in Oracle Reports Server Reports Services Publishing Reports to the Web

Chapter 19, "Managing and Monitoring OracleAS Reports Services", of the Oracle Application Server Reports Services Publishing Reports to the Web manual may show screenshots that do not reflect the latest updates to the Oracle Enterprise Manager user interface.