| Oracle 9i Reports Release Notes (Patch 2) Release 2 (9.0.2) Part Number B10820-01 |
|
This chapter describes general issues and their work arounds for Oracle9i Reports.
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.
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 Oracle Reports Statement of Direction white paper available from the Oracle Technology Network (http://otn.oracle.com/products/reports/).
Reports 9.0.2 Patch 1 uses the Classic JVM instead of the Hotspot performance engine. This proved to be an issue when Oracle9i Reports Developer 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.
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.
In Oracle9iAS Reports Services, you can subset the TrueType fonts for multi-byte, 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 Report, available from the Oracle Technology Network (http://otn.oracle.com/products/reports/).
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.
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).
Within Oracle9iAS Portal, you can choose whether to make a report's parameters visible to users through the Customization page of a a Reports Definition File Access component. Click Customize at the bottom of the Manage Component page for the report and click Visible to user for each parameter you want to expose. You can also set the default value of the parameter from this page.
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).
The SSOCONN and CGI/servlet key parameters are missing from the JSP report Customize page in Oracle9iAS Portal. The work around for this issue is to add these missing parameters in the Additional User Parameters field.
Oracle9iAS Reports Services does not support https when running reports from within Oracle9iAS Portal. You should not use https for the Reports Server URL Gateway when defining Reports Server Access object Oracle9iAS Portal.
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.
If you run a report portlet on Windows via the servlet, you can control its size by specifying portlet_width and portlet_height as Additional User Parameters in the Customize page of the Reports Definition File object. The value of these parameters may be % or a number of pixels. If no value is specified, Oracle9iAS Reports Services uses its default value. This functionality is not available on UNIX platforms yet.
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 example above, you could switch the positions of the distribute and destination parameters in your 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.
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.
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.
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 Section 1.3, "Dynamic Environment Switching".
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>
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.
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
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 that OC4J is started. To avoid this problem, do one of the following:
hotspot.
ORACLE_HOME/reports/conf/rwservlet.properties and use the standalone Reports Server instead.
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
rwserver server=<Reports Server name>
REPORTS_PATH, must be modified in the file <ORACLE_HOME>/bin/reports.sh to reference the path of the reports to be run.
<ORACLE_HOME>/server/conf/<server_name>.conf.
<ORACLE_HOME>/server/conf/<reports_server_name>.conf by commenting out the <security> tag and removing securityId from the <job> tags.
The Table 2-1 lists the possible Forms/Reports combinations and expected results:
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.
Refer to Section 1.3, "Dynamic Environment Switching" for more information.
Refer to Section 1.4, "engineResponseTimeOut Parameter" for more information.
Table 2-2 indicates which commands can use the SUPPRESSLAYOUT keyword.
| rwclient | rwrun | rwbuilder | rwconverter | rwservlet | rwcgi | rwserver |
|---|---|---|---|---|---|---|
|
yes |
yes |
yes |
no |
yes |
yes |
no |
The SUPPRESSLAYOUT command line option prevents any paper objects in the report layout from being formatted. The option allows users to control whether the paper layout in a report is executed at runtime. The most common use of this option is to increase the performance of JSP reports. Since a JSP report may have a paper layout and reference objects in it via an <rw:include> tag, 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.
SUPPRESSLAYOUT=[YES|NO]
YES means that the paper layout objects are not formatted when the report is executed. NO means that the paper layout objects will be formatted.
NO
Table 2-3 indicates which commands can use the UPGRADE_PLSQL keyword.
| rwclient | rwrun | rwbuilder | rwconverter | rwservlet | rwcgi | rwserver |
|---|---|---|---|---|---|---|
|
no |
no |
no |
yes |
no |
no |
no |
The UPGRADE_PLSQL command line option upgrades any PL/SQL code in the specified report to the latest version required by Reports9i Developer.
UPGRADE_PLSQL=[YES|NO]
YES means that the PL/SQL code will be upgraded automatically if necessary. NO means that the PL/SQL code will not be updated.
YES
Table 2-4 indicates which commands can use the RECURSIVE_LOAD keyword.
| rwclient | rwrun | rwbuilder | rwconverter | rwservlet | rwcgi | rwserver |
|---|---|---|---|---|---|---|
|
yes |
yes |
no |
yes |
yes |
yes |
no |
The RECURSIVE_LOAD keyword is used to determine whether Oracle9iAS Reports Services should validate all of the external references of the program units in a report at runtime. If this keyword is set to YES, an invalid external reference will cause the program unit to be 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.
RECURSIVE_LOAD=[YES|NO]
YES means that the external references will be validated. NO means that the external references will not be validated.
YES
Table 2-5 indicates which commands can use the SQLTRACE keyword.
| rwclient | rwrun | rwbuilder | rwconverter | rwservlet | rwcgi | rwserver |
|---|---|---|---|---|---|---|
| yes | yes | yes | no | yes | yes | no |
The SQLTRACE keyword enables you to perform SQL tracing on your report without having to modify the report definition.
SQLTRACE=[YES|NO]
YES means that SQL tracing will be performed on the report. NO means that SQL tracing will not be performed on the report.
NO
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;
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;
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.
Currently, some Oracle NLS_CHARSET values have no equivalent IANA character set. The XML saved by Oracle9iAS Reports Services for reports with these character sets cannot be opened by some XML viewers, such as Internet Explorer, unless you set REPORTS_NLS_XML_CHARSETS to the following:
WINDOWS-950=BIG5;CSEUCKR=EUC-KR;
In order to run reports that rely on Java classes, you must:
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.
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 the Reports Builder, but you have to create your own parameter form for runtime.
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 and do not occur in Microsoft Word 97 for Japanese.
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.
|
|
![]() Copyright © 2003 Oracle Corporation. All Rights Reserved. |
|