Skip Headers

Oracle9i Reports Release Notes (Patch 4)
Release 4 (9.0.2)
Part Number B13551-01
  Go To Table Of Contents
Contents

Previous Next  

2 General Issues and Workarounds

This chapter describes general issues and their work arounds pertaining to previous patch releases, that is, Patch Release 1 and Patch Release 2 for Oracle9i Reports.

2.1 Migration

For information about migration, please refer to Oracle9i Application Server Migrating from Oracle9iAS Release 1 (1.0.2.2.x) to Release 2 (9.0.2), part number A96157-01.

2.2 Deprecated Features from Earlier Versions

Some features available in Oracle Reports 6i that have been deprecated or removed from Oracle9i Reports.

Following is a list of the deprecated features. Existing reports using these features will continue to run without modification, but these features are no longer documented and their further use is strongly discouraged:

Following is a list of features that have been removed from Oracle9i Reports:

More detailed information about these deprecated and obsolete features can be found in the Oracle9i Reports Statement of Direction white paper available from the Oracle Technology Network, (http://otn.oracle.com/products/reports/).

2.3 reports.sh (UNIX)

On UNIX, this patch will overwrite reports.sh. If you have modified your current reports.sh file, you should save it and, after the patch is installed, merge your modifications into the version of reports.sh installed with the patch. The version installed with the patch contains some required changes.

2.4 Using the Hotspot JVM Instead of Classic

Reports 9.0.2 Patch 1 uses the Classic JVM instead of the Hotspot performance engine. This proved to be an issue when Reports Builder handled large xml/jsp reports. To work around this issue you need to specify the path (ORACLE_HOME\jdk\jre\bin\hotspot) to the Hotspot performance engine using the PATH environment variable.

On Windows : Alter the PATH environment variable to point to the Hotspot performance engine, instead of the Classic JVM.

2.5 Spaces in HTML Output

Bug number: 2441615


Description

The REPORTS_NO_HTML_SPACE_REPLACE environment variable specifies whether spaces should not be replaced with   in HTML or HTMLCSS output.

Oracle9i Reports will map HTML metadata characters in the data retrieved for a field to the appropriate encoding. That is, Oracle9i Reports automatically maps: < to &lt; and Ó to &quot;. In most cases, the browser produces the correct results and handles the spaces correctly. In some cases, the browser’s handling of spaces does not produce the required output. This happens in such cases as where the user has padded the front of the data to produce indentation. Since the browser will treat multiple spaces as single space, the indentation is lost.


Valid Values

YES |NO


Default

NO


Usage Notes

Example

If REPORTS_NO_HTML_SPACE_REPLACE is set to YES, then the output for the sentence [ Typical data output] will be:

[ Typical data output]

and display as (ignoring preceding spaces):

[Typical data output]

Setting the environment variable to NO will cause the output to change to:

[&nbsp;&nbsp;Typical&nbsp;data&nbsp;output

and display as (maintaining preceding spaces):

[ Typical data output]


Note:

Brackets in the earlier example are used to show preceding spaces; they are not part of the sentence.

As part of this change, the previous functionality of the DELIMITER command line argument for HTML and HTMLCSS output is removed. DELIMITER is still used with the DELIMITED DESFORMAT as in previous releases.

2.6 Printing Reports Without Hardware-based Left Margins on Windows

Bug No: 387196


Description

(Windows only) From Patch Release 2 onwards, the REPORTS_ADD_HWMARGIN environment variable specifies whether to include the printer hardware-based left margin. By default, this margin is ignored. The printing origin starts from the top-left corner (0,0) of the physical paper and not the printable area. This is to facilitate the design of printer-independent independent reports.


Valid Values

YES | NO


Default

NO


Usage Notes

2.7 Inserting Multiple Report Blocks In Web Source

If you are using the Report Block Wizard to insert multiple report blocks that share one or more data columns between them, the generated JSP tags will end up with duplicate IDs. These duplicate tags will cause a JSP compilation failure and the report will not execute. You can work around this issue by manually editing the Web source to make the tag IDs unique.

2.8 PDF Font Sub Setting

In Oracle9iAS Reports Services, you can subset the TrueType fonts for multibyte, Unicode, and single byte PDF output. This functionality and more information about PDF report output can be found in the white paper, Using PDF with Oracle9i Reports, available from the Oracle Technology Network (http://otn.oracle.com/products/reports/).

2.9 Supported Data Types in Pluggable Data Sources

The Pluggable Data Source API supports the number, date, and string data types. An individual pluggable data source should appropriately map its types to these three types.

For example, XML schema data types would be mapped to the nearest ones of the three supported types. These types would then be passed to the XML pluggable data source. In the case of the JDBC pluggable data source, if the query tries to retrieve a BLOB column from the database, the pluggable data source driver would give an error, Column type not supported.

2.10 Links Between Queries Using Pluggable Data Sources

When you create an invalid link between two queries of pluggable data sources, you will receive the following error message:

Fail to fetch Plugin Data Source Java.lang.NumberExpection:G

When you receive this error, you should check the validity of your links (for example, are the data types of the columns compatible).

2.11 Oracle9iAS Portal Portlet/Page Parameters

Within Oracle9iAS Portal, you can choose whether to make a report’s parameters visible to users through the Customization page of a Reports Definition File Access component.

To make a report’s parameters visible to users:

  1. Click Customize at the bottom of the Manage Component page for the report

  2. Click Customize at the bottom of the Manage Component page for the report


Note:

Click Customize at the bottom of the Manage Component page for the report.

If the parameter you are exposing has a corresponding Oracle9iAS Portal page parameter, the default value from the Manage Component page will be used as the default value in the Customize page for the portlet. If the user leaves the parameter value empty in the Customize page, the portlet inherits the page parameter’s value. If the user enters a value for the report portlet’s parameter, that value will override the page parameter value.

For more information about Oracle9iAS Portal, refer to the Oracle Technology Network (http://portalcenter.oracle.com)

2.11.1 Customize Page

The SSOCONN and CGI/servlet key parameters are missing from the JSP report Customize page in Oracle9iAS Portal The workaround for this issue is to add these missing parameters in the Additional User Parameters field.

2.12 Report Portlet and Netscape Communicator 4.7 on UNIX

In Oracle9iAS Portal with Netscape Communicator 4.7 on UNIX, if you add a reports portlet to a page, you will get an error message when you try to take another action such as adding another portlet. This problem does not occur on Windows or in Netscape Communicator 6.0.

2.13 Setting the Size of the Report Portlet on Windows

If you run a report portlet on Windows through the servlet, you can control its size by specifying the Portlet Width and Portlet Height parameters in Additional User Parameters on the Customize page for the Reports Definition File object. The value of these parameters may be a percentage (%) or a number of pixels.

For example, you can enter:

Portlet Width: 90%

Portlet Height: 480

If no value is specified, Oracle9iAS Reports Services uses its default value (640 pixels wide and 320 pixels high). This functionality is not available on UNIX platforms yet.

2.14 Destination Parameter and Microsoft Internet Explorer

In some cases, Microsoft Internet Explorer ignores the mimetype of a URL’s return stream and instead sets the type by looking at the URL. This can be a problem when you are using the distribution feature of Oracle9iAS Reports Services because your URL might end with the destination parameter, for example:

...distribute=yes destination=c:\oracle\reports\distribution\mydist.xml

In this scenario, your URL ends with the extension XML and Internet Explorer treats the return stream as XML, when in fact it is HTML. As a result, you will receive a browser error. To work around this issue, you should never use recognized file extensions at the end of a URL. In the earlier example, you could switch the positions of the distribute and destination parameters in your URL.

2.15 Order of Parameters in a URL

When using key mapping, the order in which the parameters are substituted from the URL into the key is determined by the placement of CMDKEY in the URL. For example, suppose you have a key such as the following one in the cgicmd.dat file:

mykeys: DEPTNO=%1 MYPARAM=%2

Now, you execute a JSP report that references this key as follows:

http://neptune.world.com:80/jsp/myreport.jsp?userid=scott/tiger@hrdb&cmdkey=mykeys&10&test

Because of the placement of CMDKEY in this URL, the 10 corresponds to %1 and test corresponds to %2. Even though they are not the first and second parameters in the URL, 10 and test are the first and second parameters to follow CMDKEY in the URL.

2.16 Accessing Web Commands With DIAGNOSTIC set to NO

Setting DIAGNOSTIC=NO causes the Web commands display, to be suppressed. This posed a problem for EM as it obtained Reports Server information from the Web commands. The remedy is to conditionally enable administrators whose username and password matches the values stored in the <identifier> element to access Web commands, even when DIAGNOSTIC is set to NO. If the values do not match then an error message similar to the following is displayed:

REP-52262: Diagnostic output is disabled.

The <identifier> element is set in the Reports Server configuration file by the first Web command call if it is not defined in the server configuration file and the values are automatically encrypted when Reports Server is started. The format to preset the <identifier> element in the Reports Server configuration file is:

<identifier confidential="yes" encrypted="no">username/password</identifier>

The clear text of username and password will be encrypted by Reports Server once it starts up, and the encrypted atttribute is changed to yes to indicate the content is encrypted.

Refer to Oracle9iAS Reports Services Publishing Reports to the Web, for more information on how to change the values of the <identifier> element.

2.17 Templates

If you are using one of the default report templates, you cannot combine two report blocks that use different default templates in a single report. All of your report-blocks in any one report must use the same default template.

2.18 Oracle9iAS Portal Security, Portal Destination, and Job Status Repository

If you use these features, the JDBC database connections made by Oracle9iAS Reports Services may override the initial NLS_LANG setting. This change may in turn affect the behavior of the running report, such as bidirectional output in PDF. On UNIX platforms, you can work around this issue by setting the NLS_LANG explicitly in report.sh.

You can also use the new environment switching functionality to dynamically set the environment for reports. Refer to Dynamic Environment Switching.

2.19 Import Oracle9iAS Portal Component

In order import a report component into Oracle9iAS Portal, you must update the import_portal_config.xml file to point to the correct ORACLE_HOME. import_portal_config.xml is located in:

ORACLE_HOME/reports/templates

In the file, you need to find the following line and replace orawin90 with your ORACLE_HOME.

<template_base_dir>/orawin90/reports/templates</template_base_dir>

2.20 JDeveloper Integration

This sections discusses the various issues that occur with JDeveloper integration.

2.20.1 Deadlock when debugging JSP reports in Oracle JDeveloper

When debugging an Oracle9iAS Reports Services JSP in Oracle JDeveloper, you must disable any breakpoints that are not of source type. If you do not disable these breakpoints, a deadlock is detected. You can disable breakpoints that are not of source type in the Breakpoints window.

2.20.2 Graph not appearing in Oracle JDeveloper

When running a JSP report with the rw:graph tag in Oracle JDeveloper, the image is not visible in the browser. To fix this problem, set the IMAGEURL in the rwservlet.properties file in ORACLE_HOME/reports/conf:

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

2.20.3 Reports In-Process Server

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

  • Set the JVM to Java Virtual Machine to hotspot.

  • Disable the in-process server in ORACLE_HOME/reports/conf/rwservlet.properties and use the standalone Reports Server instead.

2.21 Oracle9iAS Forms Services Integration

The default configuration for Oracle9iAS Forms Services does not run in Single Sign-On (SSO) mode. The default configuration for Oracle9iAS Reports Services does run in SSO mode.

Forms applications calling integrated Oracle9iAS Reports Services using the Run_Report_Object built-in will not experience any problems when Oracle9iAS Forms Services is running in non-SSO mode and Oracle9iAS Reports Services is running in SSO mode as long as the Reports Server and the requested report are not registered in Oracle9iAS Portal.

Other Requirements

The Table 2-1 lists the possible Forms/Reports combinations and expected results:

Table 2-1 Outcome of Forms/Reports Integration when Forms is Running in SSO Mode or Non-SSO Mode

Report Type Registered, Secure Reports Server (runs only registered reports) Registered, Secure Reports Server (runs any reports) Non-SecureReports Server
Reports with public access report generated report generated report generated
Reports with specific user access report generated report generated report generated
Reports with no specific user access report not generated report not generated report generated
Non-registered reports report not generated report not generated report generated

2.22 URL Encoding

To ensure that spaces and control characters are passed correctly, you may need to turn URL encoding on or off for the fields in your report. You can turn URL encoding on or off with the RW:FIELD tag in a report:

<rw:field...urlEncode=yes|no.../>

The default value for urlEncode is no.

2.23 Command Line Arguments

This section describes the various command line options that are currently applicable.

2.23.1 ENVID

Refer to Section 1.2.8, "Dynamic Environment Switching" for more information.

2.23.2 engineResponseTimeOut

Refer to Section 1.2.8.4, "engineResponseTimeOut Parameter" for more information.

2.23.3 SUPPRESSLAYOUT Keyword

Table 2-2 indicates which commands can use the SUPPRESSLAYOUT keyword.

Table 2-2 Commands that can use SUPPRESSLAYOUT

rwclient rwrun rwbuilder rwconverter rwservlet rwcgi rwserver
yes yes yes no yes yes no


Description

Use SUPPRESSLAYOUT to to specify whether to suppress the formatting of the paper layout at runtime. The keyword allows users to control whether the paper layout in a report is executed at runtime. The most common use of this keyword is to increase the performance of JSP reports. Since a JSP report may have a paper layout and reference objects in it through an <rw:include> tag, Oracle9i Reports formats the paper layout before running the JSP section of the report. To improve the performance of single source JSP reports that store both paper and Web layouts but do not reference paper layout objects, set SUPPRESSLAYOUT=YES on the command line.


Note:

If there is an <rw:include> tag, then no output will be created for the tag.


Syntax

SUPPRESSLAYOUT=[YES|NO]


Values

YES Paper layout objects will not be formatted at runtime

NO Paper layout objects will be formatted at runtime.


Default

NO

2.23.4 UPGRADE_PLSQL

Table 2-3 indicates which commands can use the UPGRADE_PLSQL keyword.

Table 2-3 Commands that can use UPGRADE_PLSQL

rwclient rwrun rwbuilder rwconverter rwservlet rwcgi rwserver
no no no yes no no no


Description

Use UPGRADE_PLSQL to specify whether to upgrade any PL/SQL code in the report to the latest version required by Oracle9i Reports Developer.


Syntax

UPGRADE_PLSQL=[YES|NO]


Values

YES PL/SQL code will be upgraded automatically if necessary.

NO PL/SQL code will not be updated.


Default

YES

2.23.5 RECURSIVE_LOAD

Table 2-4 indicates which commands can use the RECURSIVE_LOAD keyword.

Table 2-4 Commands that can use RECURSIVE_LOAD

rwclient rwrun rwbuilder rwconverter rwservlet rwcgi rwserver
yes yes no yes yes yes no


Description

Use RECURSIVE_LOAD to specify whether to validate external references in program units when running a report. If any of the references become invalid, the program unit is automatically recompiled. Setting RECURSIVE_LOAD to NO is useful when running your report against a different database than the one against which its PL/SQL was originally compiled.


Syntax

RECURSIVE_LOAD=[YES|NO]


Values

YES External references will be validated.

NO External references will not be validated.


Default

YES

2.23.6 SQLTRACE

Table 2-5 indicates which commands can use the SQLTRACE keyword.

Table 2-5 Commands that can use SQL_TRACE

rwclient rwrun rwbuilder rwconverter rwservlet rwcgi rwserver
yes yes yes no yes yes no


Description

Use SQLTRACE to specify whether to perform SQL tracing on your report without modifying the report definition.


Syntax

SQLTRACE=[YES|NO]


Values

YES SQL tracing will be performed on the report.

NO SQL tracing will not be performed on the report.


Default

NO

2.24 Built-ins

This section outlines the various SRW functions and procedures that are currently applicable.

2.24.1 SRW.GET_VALUE

SRW.GET_VALUE is equivalent to the Oracle9i Forms Developer NAME_IN built-in. It permits developers to get the value of a field at runtime indirectly. This method of obtaining a field’s value is useful if you are writing business logic in a PL/SQL library but need to obtain report values directly.

Instead of using :field_name, the user can use SRW.GET_VALUE(field_name) to obtain the value of a field. For example:

function func_one return varchar2 
is
  the_fieldname varchar2(20):='ENAME'; 
begin 
  return(srw.get_value(the_fieldname));  
end func_one; 

2.24.2 SRW.GET_REPORT_NAME

SRW.GET_REPORT_NAME can be used to obtain the file name of the report being executed. For example:

function AfterPForm return boolean is  my_var varchar2(80);begin  srw.get_report_name(my_var);  srw.message(0,'Report Filename = '||my_var);  return (TRUE);end;

2.25 Default Character Set for JSPs

By default, a new JSP created in Reports Builder contains the following:

<%@ page contentType="text/html;charset=ISO-8859-1" %>

If you are creating your JSP outside of Reports Builder, you should ensure that it contains similar encoding information.

2.26 REPORTS_NLS_XML_CHARSETS


Description

This environment variable provides an override option to enable you to define the character set encoding used when saving a report in XML format. This is only required where the required character set mapping for Oracle9i Reports NLS_LANG to XML IANA character sets do not produce the required results.


Valid Values

Set of mapping pairs separated by semicolons. The first value is the encoding that is being produced and the second mapped value is the value that should be used for these cases.


Default

Not Defined


Usage Note

This environment variable should not be required and is currently only used as a workaround to Bug 2224413:

NLS:NEED STABLE MAPPING FROM ORACLE'S NLS_CHARACTER_SET TO IANA ENCODING 


Example
WINDOWS-936=WINDOWS-1252;CSEUCKR=EUC-KR;....

2.27 Java Importer

In order to run reports that rely on Java classes, you must:

2.28 Buttons

If you open an existing report that contains buttons in Oracle9iAS Reports Services, the buttons will be converted into text items. You cannot add new buttons in Oracle9iAS Reports Services.

2.29 Parameter Forms

If you open an existing report that contains user parameters and you save it as a JSP, the parameter form is lost. If you create a new JSP with user parameters, the parameter form will appear when you run it in Reports Builder, but you have to create your own parameter form for runtime.

2.30 RTF Output in Microsoft Word 95 for Japanese

When you open the RTF output from Oracle9iAS Reports Services in Microsoft Word 95 for Japanese, you may encounter anomalies in the output, such as dashes not appearing correctly. These issues are specific to Microsoft Word 95 for Japanese and do not occur in Microsoft Word 97 for Japanese.

2.31 Bold Korean Font Not Appearing Correctly

In JDK 1.3.1, a bug causes the bold Korean font to appear incorrectly. Oracle9iAS Reports Services uses JRE 1.3.1 and therefore all bold Korean strings in graphs within reports show up incorrectly