PK 0;wEoa,mimetypeapplication/epub+zipPK0;wEiTunesMetadata.plistw artistName Oracle Corporation book-info cover-image-hash 394603 cover-image-path OEBPS/dcommon/oracle-logo.jpg package-file-hash 199271832 publisher-unique-id B32121-06 unique-id 572594925 genre Oracle Documentation itemName Oracle® Fusion Middleware Publishing Reports to the Web with Oracle Reports Services, 11g Release 1 (11.1.1) releaseDate 2013-07-11T06:53:35Z year 2013 PKU|wPK0;wEMETA-INF/container.xml PKYuPK0;wEOEBPS/pbr_dest004.htm Submitting Reports to Pluggable Destinations from Oracle Forms Services

13.4 Submitting Reports to Pluggable Destinations from Oracle Forms Services

To submit requests to any Oracle Reports-registered pluggable destinations from Oracle Forms Services:

  1. Create or install a pluggable destination for Reports Server (refer to the Oracle Reports Plugin Exchange on the Oracle Technology Network (OTN) at http://www.oracle.com/technology/products/reports/pluginxchange/index.html).

  2. In Oracle Forms, create a form and set it up to run a report to Reports Server (refer to Integrating Oracle Reports in Oracle Forms Services white paper at http://www.oracle.com/technology/products/forms/pdf/10g/frm10gsrw10g.pdf).

    The parameters to submit the request should be set as follows:

    set_report_object_property(report_id, REPORT_DESTYPE, PLUGDEST);
    ...
    set_report_object_property(report_id, REPORT_OTHER, 'PLUGDESTYPE=pluggable destination' );
    ...
    
  3. Observe in Reports Server that the report output is sent to the pluggable destination.

When the PLUGDESTYPE parameter is specified, DESTYPE (in Oracle Reports) and REPORT_DESTYPE (in Oracle Forms) will be ignored and the value of PLUGDESTYPE will be used.

PK  PK0;wEOEBPS/pbr_cla004.htmx Command-Line Keywords

A.4 Command-Line Keywords

For ease of navigation, the alphabetically ordered list of keywords is divided into the following sections:

PK(=}xPK0;wEOEBPS/pbr_nls003.htmP% Specifying a Character Set in a JSP or XML File

23.3 Specifying a Character Set in a JSP or XML 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.

The following example specifies a Japanese character set:

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

Note:

To set the character set in a paper layout report that you plan to use to generate XML, you must include a character set for the report's XML Prolog Value property:

<?xml version="1.0" encoding="&Encoding" ?>

&Encoding is then replaced at runtime with the appropriate setting.


The values expressed for the character set should call a character set that is compatible with the one specified for Oracle Reports Services. The values for character sets used on the Web (IANA-defined character sets) are different from the values expressed in the NLS_LANG environment variable. Table 23-2 lists commonly used IANA-defined character sets for the charset parameter:


Note:

IANA-defined character set values are not case-sensitive. You can enter them in uppercase or lowercase.


Table 23-2 Valid Values for the IANA-Defined Character Sets

LanguagesValid IANA-Defined Character Sets

AMERICAN

ISO-8859-1, ISO-8859-15, windows-1252, US-ASCII, UTF-8

ARABIC

ISO-8859-6, windows-1256, UTF-8

ASSAMESE

UTF-8

BANGLA

UTF-8

BENGALI

UTF-8

BRAZILIAN PORTUGESE

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

BULGARIAN

ISO-8859-5, windows-1251, KOI8-R, UTF8

CANADIAN FRENCH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

CATALAN

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

CROATIAN

ISO-8859-2, windows-1250, UTF-8

CZECH

ISO-8859-2, windows-1250, UTF-8

DANISH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

DUTCH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

EGYPTIAN

ISO-8859-6, windows-1256, UTF-8

ENGLISH

ISO-8859-1, ISO-8859-15, windows-1252, US-ASCII, UTF-8

ESTONIAN

ISO-8859-4, ISO-8859-13, windows-1257, UTF-8

FINNISH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

FRENCH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

GERMAN DIN

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

GERMAN

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

GREEK

ISO-8859-7, windows-1253, UTF-8

GUJARATI

UTF-8

HEBREW

ISO-8859-8-I, windows-1255, UTF-8

HINDI

UTF-8

HUNGARIAN

ISO-8859-2, windows-1250, UTF8

ICELANDIC

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

INDONESIAN

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

ITALIAN

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

JAPANESE

EUC-JP, Shift_JIS, UTF-8

KANNADA

UTF-8

KOREAN

EUC-KR, UTF-8

LATIN AMERICAN SPANISH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

LATVIAN

ISO-8859-4, ISO-8859-13, windows-1257, UTF-8

LITHUANIAN

ISO-8859-4, ISO-8859-13, windows-1257, UTF-8

MALAY

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

MALAYALAM

UTF-8

MARATHI

UTF-8

MEXICAN SPANISH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

NORWEGIAN

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

ORIYA

UTF-8

POLISH

ISO-8859-2, windows-1250, UTF8

PORTUGESE

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

PUNJABI

UTF-8

ROMANIAN

ISO-8859-2, windows-1250, UTF-8

RUSSIAN

ISO-8859-5, windows-1251, KOI8-R, UTF-8

SIMPLIFIED CHINESE

GBK, GB18030, UTF-8

SLOVAK

ISO-8859-2, windows-1250, UTF-8

SLOVENIAN

ISO-8859-2, windows-1250, UTF-8

SPANISH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

SWEDISH

ISO-8859-1, ISO-8859-15, windows-1252, UTF-8

TAMIL

UTF-8

TELUGU

UTF-8

THAI

TIS-620, UTF-8

TRADITIONAL CHINESE

Big5, Big5-HKSCS, UTF-8

TURKISH

ISO-8859-9, windows-1254, UTF-8

UKRANIAN

ISO-8859-5, windows-1251, KOI8-U, UTF-8

VIETNAMESE

windows-1258, UTF-8


PK(PPPK0;wEOEBPS/pbr_uxprt.htm C Printing on UNIX with Oracle Reports

10 Printing on UNIX with Oracle Reports

Oracle Reports provides a rich set of features out-of-the-box for printing on various platforms. Printing on UNIX requires some setup and configuration to create the proper printing environment. This chapter provides information about printing on UNIX with Oracle Reports. In particular, it covers:

PK" PK0;wEOEBPS/pbr_pdf002.htm PDF Features Included in Oracle Reports

11.2 PDF Features Included in Oracle Reports

Oracle Reports supports PDF 1.4 and is capable of generating high fidelity PDF reports on all platforms. The PDF features supported by Oracle Reports include:

11.2.1 Compression

PDF compression decreases the PDF file size, thereby reducing the time spent in downloading the PDF file.

The amount of space saved using compression varies based on the contents of the report, for example, the number of images versus the size of the content.

  • Images: PDF compression does not significantly affect the size of files containing images in it, as image files are typically already compressed.

  • Formatted data: Highly formatted data can achieve higher compression rates. However, actual compression rates will vary for each report.

Compressed files are about one fifth the size of the original file. Testing has shown that the best case compression ratio of one-eighth to the worst case compression ratio of one-half was achieved based on the contents in the original file.

11.2.1.1 Setup

By default, PDF output generated by Oracle Reports is compressed. To specify the level of compression, use PDFCOMP on the command line. For more information, see Section A.7.24, "PDFCOMP".

Although compressed files download quickly, the time taken to generate a compressed file is much more when compared to a non-compressed file.

Figure 11-1 Compressed Output Versus Non-Compressed Output

Description of Figure 11-1 follows


Note:

Compression rate depends on the report's content; thus, the time taken to generate the PDF file as well as the PDF file size will vary from report to report.


11.2.2 Font-Related Features

This section outlines the PDF font-related features supported by Oracle Reports:

11.2.2.1 Font Aliasing

Font aliasing enables you to substitute one font for another; that is, font-to-font substitution. This font-to-font substitution is usually used when porting applications (in this case, your PDF file) across platforms. You can alias multibyte fonts as well as character sets. For font aliasing considerations when designing multilingual applications, see Section 23.2.1.3.2, "Font Aliasing Considerations".

The font enhancements introduced in Oracle Reports 11g Release 1 (11.1.1) make font aliasing unnecessary in almost all cases. In prior releases, a report may have been created with fonts that are readily available on Windows, but not on UNIX (for example, Arial font). In such cases, it was necessary to alias the Windows fonts to other fonts with a similar style available on UNIX (for example, Helvetica). Now, with support for TTF and TTC files on UNIX, a font such as Arial is supported on both Windows and UNIX, eliminating the need for aliasing.

Font aliasing occurs at the time of generating the PDF file. The PDF file will contain only the necessary font information required to display the output. The fonts used will not be embedded in the PDF file.


Note:

The fonts must be available on the machine displaying the PDF output. The fonts need not be available on the machine generating the PDF file.


At the time of viewing the report, Adobe Acrobat replaces the aliased fonts based on the following:

  1. If the fonts do not exist on the machine displaying the output, Adobe Acrobat substitutes it with the Adobe Sans MM font.

  2. If the Adobe Sans MM font does not match, the output may display dots for the data.

Font aliasing will work with any or all of the following:

  • Single byte fonts, including Eastern European fonts for both ASCII and IS0-Latin character sets.

  • Adobe multibyte Character ID (CID) fonts listed in Table 11-2, which are available as a free download from Adobe.

  • Type1 PostScript fonts.

  • TrueType fonts.

Table 11-2 outlines the mapping between Oracle NLS_CHARACTERSET, CMap name, and CID font name used in PDF font aliasing for multibyte fonts.

Table 11-2 CID Font Mapping for PDF Font Aliasing

LanguageOracle
NLS_CHARACTERSET Name
CMap NameCID Font Name

Japanese

JA16SJIS

JA16EUC

90ms-RKSJ-H

EUC-H

"KozMinPro-Regular-Acro" (*)

"HeiseiKakuGo-W5-Acro" (**)

"HeiseiMin-W3-Acro" (**)

Korean

KO16KSC5601

K016MSWIN949

KSC-EUC-H

KSCms-UHC-H

"HYSMyeongJoStd-Medium-Acro" (*)

"HYGothic-Medium-Acro" (**)

"HYSMyeongJo-Medium-Acro" (**)

Traditional Chinese

ZHT32EUC

ZHT16BIG5, ZHT16MSWIN950

ZHT16HKSCS

CNS-EUC-H

ETen-B5-H

HKscs-B5-H

"MSungStd-Light-Acro" (*)

"MHei-Medium-Acro" (**)

"MSung-Light-Acro" (**)

"MSungStd-Light-Acro" (*)

Simplified Chinese

ZHS16CGB231280

ZHS16GBK

GB-EUC-H

GBK-EUC-H

"STSongStd-Light-Acro" (*)

"STSong-Light-Acro" (**)


(*) These fonts are available in Adobe Acrobat Reader 5.0 and later.

(**) These fonts are available in Adobe Acrobat Reader 4.0 and later.

It is recommended that you use Version 5.0 CID fonts (*) in order to avoid unexpected font mapping, which results in multibyte characters overlapping. Version 5.0 fonts are compatible with Adobe Acrobat Reader 5.0 and later.

11.2.2.1.1 Setup

If font aliasing is necessary, use Oracle Enterprise Manager to define the aliasing, instead of directly editing the uifont.ali file as in prior releases. For information about using Oracle Enterprise Manager for font configuration, see Section 7.9.1, "Configuring Fonts".

For more information about the uifont.ali file, refer to uifont.ali in Section 9.3, "Font Configuration Files":

11.2.2.1.2 Troubleshooting

If font aliasing does not work, verify that:

  • In Acrobat Reader 6.0 and later, choose File > Document Properties > Fonts. (In prior releases, beginning with Acrobat Reader 3.0, choose File > Document Info > Fonts). Verify that the aliased font has been added to the list. If it is not included, then font aliasing did not occur. The fonts were not found or the entry in the uifont.ali file is incorrect.

  • The fonts specified for the report are available on the machine where the report will be viewed.

  • The [PDF] section name in the uifont.ali file has not been modified as Oracle Reports parses the file for the section name.

  • The version of the Adobe Acrobat Reader used for viewing is 3.0 or higher, as required for multibyte character reports to display properly.

11.2.2.2 Font Subsetting

With font subsetting, the PDF file includes the font information needed to render the PDF, regardless of the availability of that font on the machine used to view the report. PDF font subsetting works for single byte, multibyte, and Unicode fonts and is the preferred method of creating multibyte reports.

When you subset a font in a PDF file, the font information is embedded into the PDF output for only those characters that are needed for the report output.


Note:

You can modify the PDF file if you have:

  1. The fonts used in the report installed on your machine.

  2. A PDF writer.


11.2.2.2.1 Setup

Before using font subsetting, you must:

  • Include the font file paths in the REPORTS_PATH environment variable. Oracle Reports looks for fonts in the path specified in the REPORTS_PATH environment variable when generating a PDF file.

  • Include the font subsetting entries in the uifont.ali file. Oracle Reports subsets the fonts only when the font entries listed in the uifont.ali file exist in the PDF file being generated.


Note:

The uifont.ali file is located in the following directory:

ORACLE_INSTANCE\config\FRComponent\frcommon\guicommon\tk\admin


The section for font subset in the uifont.ali file is [PDF:Subset] and the entry is:

[PDF:Subset]
font_name = "font_file_name"

where

font_name is the font name, which must be enclosed in quotes if it contains more than one word.

font_file_name is the font file name, which must always be enclosed in quotes, and is case-sensitive. If it does not exactly match the existing font file name, Oracle Reports generates a REP-1924 error.

The font files can be saved in any folder; for example, ORACLE_INSTANCE/reports/font_folder. The font file's path is added by default to the $REPORTS_PATH environment variable.


Note:

The font_file_name is not the font name displayed in Oracle Reports Builder.


Example 1

[PDF:Subset]
Arial = "arial.ttf"

To use TrueType fonts in a TrueType Collection (.ttc) file, the syntax for the entry in the [PDF:Subset] section in uifont.ali is:

[PDF:Subset]
font_name = "ttc_file_name[,table_directory_number]"

where

font_name is the font name, which must be enclosed in quotes if it contains more than one word.

ttc_file_name is a TrueType Collection file name.

table_directory_number is the Table Directory number for the TrueType font in a TrueType Collection file, using a zero-based index (for example, "MS PGothic" = "msgothic.ttc,1" indicates that Oracle Reports should use the second font in the TrueType Collection file). If the table_directory_number is omitted or if you supply an invalid value, Oracle Reports will always subset the first font program in the TrueType Collection file.

Example 2

[PDF:Subset]
"MS PGothic" = "msgothic.ttc,1"
"MS UI Gothic" = "msgothic.ttc,2"

Table 11-3 shows the font name and Table Directory number values for common East Asian TrueType Collection files on the Windows platform.

Table 11-3 Common East Asian TrueType Collection Files on the Windows Platform

TTC File NameFont NameTable Directory Number

batang.ttc

Batang

BatangChe

Gungsuh

GungsuhChe

0

1

2

3

gulim.ttc

Gulim

GulimChe

Dotum

DotumChe

0

1

2

3

mingliu.ttc

MingLiU

PMingLiU

0

1

msgothic.ttc

MS Gothic

MS PGothic

MS UI Gothic

0

1

2

msmincho.ttc

MS Mincho

MS PMincho

0

1

simsun.ttc

SimSun

NSimSun

0

1


You can view the fonts used in your reports as follows:

  • In Acrobat Reader 6.0 and later, choose File > Document Properties > Fonts. (In prior releases, beginning with Acrobat Reader 3.0, choose File > Document Info > Fonts.)

  • The Document Font dialog box displays Original Font, Type, Encoding, Actual Font (or the font used), and Type.

Figure 11-2 Font Subsetting

Description of Figure 11-2 follows


Note:

In the case of font subsetting:

  • The Encoding column will display Identity-H.

  • The Actual Font column will display Embedded Subset.

  • The Type column will display TrueType.


11.2.2.2.2 Backward Compatibility

Two environment variables allow for backward compatibility with the font mechanisms of prior releases:

  • REPORTS_ENHANCED_FONTHANDLING specifies whether to use the new 11g Release 1 (11.1.1) font model, or revert to the Toolkit font handling mechanism of 10g Release 2 (10.1.2). By default, REPORTS_ENHANCED_FONTHANDLING=YES.

  • REPORTS_ENHANCED_SUBSET specifies whether to include the enhanced TTF font subsetting feature introduced in Oracle Reports 10g Release 2 (10.1.2). By default, REPORTS_ENHANCED_SUBSET=YES to ensure that the PDF file generated is accessible and searchable.

    You can set environment variable REPORTS_ENHANCED_SUBSET=NO to revert to the implementation of font subsetting used in releases prior to Oracle Reports 10g Release 2 (10.1.2); that is, Type3 fonts.

    If you set REPORTS_ENHANCED_SUBSET=NO, use Adobe Acrobat Reader and perform the following steps to ensure optimum viewing:

    1. Choose Edit > Preferences > Page Display.

    2. Select Smooth Text, Smooth Line Art, and Smooth Images.

    3. (Laptop/LCD Screens) Select the Use CoolType check box.

    4. Click OK.


    Note:

    These steps are valid for Adobe Acrobat Reader 7.0.


11.2.2.2.3 Troubleshooting

If font subsetting does not work, verify the following:

  • The fonts you use in the report have bold, italic, and bold italic versions. If you have used italic or bold styles in the report, with PDF font subsetting, and you do not see italic or bold styles in the output, check the Windows TTF files. On Windows, there are some fonts that have bold, italic, and bold italic versions. For example, Arial has arialbd.ttf (Arial bold), ariali.ttf (Arial italic), and arialbi.ttf (Arial bold italic), while some other fonts, such as Arial Unicode MS (ARIALUNI.TTF), do not have any bold or italic versions. For fonts that do not have bold or italic versions, Windows synthesizes bold or italic styles from the main font file while displaying, as does Oracle Reports on Windows. These styles are preserved in HTML/HTMLCSS, RTF, and PDF (without PDF subsetting or embedding) outputs. However, while doing the PDF subsetting or embedding, since actual font glyphs are included in the report, Oracle Reports needs the TTF files that contain styles; that is, to include the bold style for Arial in the report, it would need arialbd.ttf. But for fonts such as Arial Unicode MS that do not have such TTF files, PDF subsetted output will not have bold or italic styles.

  • The Actual Font value is Embedded Subset and Type is TrueType (in Acrobat Reader 6.0 and later, choose File > Document Properties > Fonts; in prior releases, beginning with Acrobat Reader 3.0, choose File > Document Info > Fonts). If this is not specified, then font subsetting is not implemented. The problem could be either that the fonts were not found or the entry in the uifont.ali file is incorrect.

  • The font file names are valid.

  • The case of the font file name matches the case defined in the file.

  • The font types are TrueType; that is, filename.ttf or filename.ttc.

  • The font name is enclosed in double quotes if it consists of two or more words.

  • The font name does not contain embedded parenthesis.

  • The font files are located in the path specified by the REPORTS_PATH environment variable. When generating a PDF file, Oracle Reports looks for fonts in the path specified in the REPORTS_PATH environment variable.

  • The font names are correct and are available on the machine where the PDF file is generated.

  • The [PDF:Subset]section name in the uifont.ali file has not been modified. Oracle Reports parses the file looking for the section name.

  • The version of the Adobe Acrobat Reader used for viewing is 3.0 or higher, as required for multibyte character reports to display correctly.

  • The value of the REPORTS_ENHANCED_SUBSET environment variable is set to YES. If REPORTS_ENHANCED_SUBSET=NO, Oracle Reports reverts to the earlier implementation of font subsetting, using Type3 fonts to create a PDF document. Type3 fonts are imaged characters that look slightly bolder than they would if expressed as a Type1 font. See Section 11.2.2.2.2, "Backward Compatibility" for more information on improving the viewing quality.

11.2.2.3 Font Embedding

PDF font embedding is the process of including the entire font set along with the data in the PDF file. PDF font subsetting and font embedding are mutually exclusive.


Note:

Font embedding will work only if the fonts are included in the PDF file. Font embedding increases your PDF file size.


PDF font embedding in Oracle Reports is for Type1 fonts only (single byte fonts) and not for TrueType fonts. Convert TrueType fonts to Type1 fonts using available 3rd party tools in order to include specific Type1 fonts in your report.

PDF font embedding with Oracle Reports occurs between a font and a set of font file names.


Note:

You must ensure that you have the necessary font licenses before embedding any fonts in your output.


11.2.2.3.1 Setup

The setup for PDF embedding includes:

PDFEMBED

The command line keyword PDFEMBED is used to specify whether Oracle Reports will embed the Type1 PostScript fonts specified in the uifont.ali file into the PDF output. For more information, see Section A.7.25, "PDFEMBED".

uifont.ali File Entry

The section for font aliasing in the uifont.ali file is [PDF:Embed].

(Windows only) The entry in the uifont.ali file should be:

font_name = "font_name.pfm font_name.pfb"

(UNIX only) The entry in the uifont.ali file should be:

font_name = "font_name.afm font_name.pfa"

Example 11-1 Font Embedding

[PDF:Embed]
Symbol = "Symbol.pfm Symbol.pfb"

In Example 11-1, the Symbol font is embedded into the PDF file. This ensures portability by:

  1. Creating the report with the Symbol font.

  2. Embedding the Symbol font in the PDF file (Figure 11-3).

Figure 11-3 Font Embedding

Description of Figure 11-3 follows

11.2.2.3.2 Troubleshooting

If PDF font embedding does not work, verify the following:

  • In Acrobat Reader 6.0 and later, choose File > Document Properties > Fonts. (In prior releases, beginning with Acrobat Reader 3.0, choose File > Document Info > Fonts). Verify that the embedded font has been added to the list. If the font has not been added, then font embedding did not occur. The problem could be either that the fonts were not found or the entry in the uifont.ali file is incorrect.

  • The correct font file name is used.

  • The font path specified in the REPORTS_PATH environment variable is correct. When generating the PDF file, Oracle Reports looks for fonts in the paths specified in the REPORTS_PATH environment variable.

  • The font type is a Type1 font.

  • The font name is enclosed within double quotes if it consists of 2 or more words.

  • The [PDF:Embed] section name in the uifont.ali file has not been modified. Oracle Reports parses the file looking for the section name.

  • The format to specify the embedded font is valid:

    font_name="fontfilename.pfm/.afm fontfilename.pfb/.pfa".  
    

    For example (Windows):

    UtopiaMediumItalic = "UtopiaMediumItalic.pfm UtopiaMediumItalic.pfb"
    
  • The font name is correct and available on the machine where the PDF file is generated.

11.2.2.4 Font Feature Summary

Table 11-4 summarizes the advantages and disadvantages of font aliasing, font embedding, and font subsetting.

Table 11-4 Comparison of PDF Font Features

PDF TypeAdvantagesDisadvantagesPDF Type

Font Aliasing

Multibyte support.

Good display.

Small file size (Japanese example; 23KB for font aliasing when compared to 130KB for font subsetting).

Unicode character set not supported.

Asian Font Packs are required on the client machine, if the client's operating system and Acrobat Reader are not the native version.

Limited fonts support. For example, there is no support for font emphasis.

Font Aliasing

Font Embedding

Guaranteed display.

Only single byte support provided.

Large file size.

Font Embedding

Font Subsetting

Unicode support.

Guaranteed display.

Generated file is searchable and editable using Adobe Acrobat.

No styles (Italic and Bold) support.

Font Subsetting


11.2.3 Precedence of Execution

The precedence order for the same font in multiple places within the uifont.ali file is as follows:

  1. Font aliasing takes precedence over font embedding (highest).

  2. Font subsetting takes over font embedding (intermediate).

  3. Font embedding takes no precedence (lowest).

For example, if you have included the same font entries for both font embedding and font subsetting, then font subsetting will override font embedding. This is assuming you have not set the command line option PDFEMBED=NO.

For all font features —font aliasing, font subsetting, and font embedding—include the specific entries first followed by the generic entries. For example, if you want to subset Arial Plain, Arial Bold, Arial Italic, and Arial Bold-Italic fonts, your entries should be in the following order:

[ PDF:Subset ]
Arial..Italic.Bold.. = "arialbi.ttf"
Arial...Bold.. = "arialbd.ttf"
Arial..Italic... = "ariali.ttf"
Arial..... = "arial.ttf"

If the plain Arial..... = "arial.ttf" entry appears first, then all the styles of the Arial font in the layout will be subset as Arial Plain font. Here is a sample of a portion of the uifont.ali file for all the PDF entries containing all three PDF sections:

Sample 1

[ PDF ]
Palatino = "Kino MT.ttf"
[ PDF:Subset ]
Garmond..Italic.Bold.. = "Garmacbi.ttf"
Garmond...Bold.. = "Garmacb.ttf"
Garmond..Italic... = "Garmaci.ttf"
Garmond..... = "Garamac.ttf"
[ PDF:Embed ]
Arial = "Arial.pfm Arial.pfb"

Sample 2

[PDF]
Arial.10.Italic = "Times New Roman".12.Italic.Bold
"Courier New" = Symbol
[PDF:Embed]
"Times New Roman".14..Bold = "TimesBold.pfm TimesBold.pfb"
[PDF:Subset]
Verdana...Italic.Bold = "verdanaz.ttf"
Verdana...Bold = "verdanab.ttf"

11.2.4 Encryption, Password Protection, and Permissions Security

Beginning with Oracle Reports 11g Release 1 (11.1.1), you can encrypt and password-protect PDF reports generated by Oracle Reports.

This optional functionality avoids unauthorized reading and changing of PDF reports. The encrypted PDF reports are readable by Acrobat Reader 5.0 and later, and other readers supporting PDF 1.4. This functionality is also compatible with reports developed with prior releases of Oracle Reports.

Oracle Reports uses the Adobe Standard Security Handler to encrypt PDF reports. This standard security handler allows up to two passwords (owner and user) and 8 types of access permissions to be specified for a document.

To provide encryption, password protection, and permissions security in PDF reports, Oracle Reports 11g Release 1 (11.1.1) introduces the following command line keywords:


Note:

To generate PDF encrypted report output using Oracle Reports Builder (rwbuilder), you must pass at least one of these command line keywords in the command while starting the rwbuilder.

In Oracle Reports Builder, select Generate to File>PDF to generate the PDF encrypted output.


Table 11-5 describes the effect of the possible combinations of the PDFOWNER and PDFUSER command line keywords.

Table 11-5 Effect of PDFUSER and PDFOWNER Keyword Combinations

PDFUSER specified?PDFOWNER specified?Effect

Yes

Yes

When an end user attempts to open PDF report output in Acrobat Reader (5.0 or later), a password prompt displays to request the password specified by PDFUSER or PDFOWNER to open the document, decrypt it, and display it on the screen. If the end user attempts to change permissions on the PDF report output in Acrobat Writer (6.0 or later), a password prompt displays to request the password specified by PDFOWNER to change the document's passwords and permissions.

Yes

No

When an end user attempts to open PDF report output in Acrobat Reader (5.0 or later), a password prompt displays to request the password specified by PDFUSER to open the document, decrypt it, and display it on the screen. If the end user attempts to change permissions on the PDF report output in Acrobat Writer (6.0 or later), a password prompt displays to request the same password specified by PDFUSER to change the document's passwords and permissions.

No

Yes

When an end user attempts to open PDF report output in Acrobat Reader (5.0 or later), Oracle Reports opens the document, decrypts it, and displays it on the screen. If the end user attempts to change permissions on the PDF report output in Acrobat Writer (6.0 or later), a password prompt displays to request the password specified by PDFOWNER to change the document's passwords and permissions.

No

No

Any end user can open PDF report output in Acrobat Reader (5.0 or later), and also change the document's passwords and permissions in Acrobat Writer (6.0 or later). No password prompts display.


For information about suppressing specific permissions for encrypted PDF report using the PDFSECURITY command line keyword, see Section A.7.27, "PDFSECURITY".

The encrypted PDF document's passwords and permissions, as specified by PDFUSER, PDFOWNER, and PDFSECURITY, are stored with the PDF document. An end user with authorization to change these values can do so as follows:

  1. In Acrobat Writer 6.0 or later, open the PDF document.

  2. Select Document > Security > Restrict Opening and Editing.

  3. In the password prompt, enter the appropriate password (as specified in Table 11-5).dialog box that displays, make desired changes to passwords and permissions.

  4. In the dialog box that displays, make desired changes to passwords and permissions.

Support for PDF Security in Distribution

Oracle Reports 11g Release 1 (11.1.1) supports PDF encryption in distribution and bursting of reports. With this feature, you can set individual passwords and security permissions for each PDF that you generate.

To use this feature, you must add atleast one property (pdfuser, pdfowner, and pdfsecurity) in the distribution xml file.

 <destinations>
  <file id="F1" name="personal_report" format="pdf">
   <property name="pdfsecurity" value="NOCOPY"/>
   <property name="pdfuser" value="mypdf"/>
   <property name="pdfowner" value="employee"/>
    <include src="mainSection"/> 
   </file>
 </destinations>

For more information about the distribution xml file, see Section 20.3, "Introduction to Distribution XML Files" and Section 20.5, "Distribution XML File Examples".

11.2.5 Accessibility

Oracle Reports provides several ways for you to include accessibility features in your PDF file. The PDF format file follows the tagged-PDF standard defined in PDF 1.4. This standard along with Acrobat Reader 5 (or higher) provides you with features for inclusion in the paper layout.

For information on enabling accessibility-related features offered through Oracle Reports from the command line, see Section A.5.1, "ACCESSIBLE". For information about using the Oracle Reports accessibility properties designed to make PDF report output accessible to the disabled community (Alternative Text, Headers, ID, Report Language, and Table Caption properties), see the Oracle Reports online Help.

Additionally, refer to Chapter 43, "Building an Accessible JSP-based Web Report" in the Oracle Reports Building Reports manual, and to the Oracle accessibility site on OTN (http://www.oracle.com/accessibility/index.html), where you can learn more about accessibility and find the Creating Accessible Enterprise Reports Using Oracle Reports white paper.

11.2.6 Taxonomy

A PDF document can include global information about itself such as the document's title, author, creation and modification dates. This global information proves useful at the time of cataloging or searching for documents in external databases.

Oracle Reports provides report-level properties to enable such a classification, known as taxonomy. They are:

  • Title

  • Author

  • Subject

  • Keywords

Table 11-6 Taxonomy Properties

Property NameTypeDescriptionDefault Value

Title

String

Document title.

PDF document name

Author

String

Document's author.

Oracle Reports


Subject

String

Document's subject.

None

Keywords

String

Specifies keywords that can be used to categorize the document.

None


Refer to the Oracle Reports online Help for more information on the taxonomy properties.

11.2.7 Graph Support

Oracle Reports provides the capability to specify the dots per inch (DPI) value for the image resolution of the graph in PDF output. This enables you to scale the graph without compromising on the image quality.

For more information, see Section B.1.50, "REPORTS_GRAPH_IMAGE_DPI" and Section B.1.52, "REPORTS_JPEG_QUALITY_FACTOR".

PKhxjPK0;wEOEBPS/pbr_trouble009.htmT Need More Help?

D.9 Need More Help?

You can find more solutions on Oracle MetaLink at http://metalink.oracle.com. If you do not find a solution for your problem, your Oracle representative can log a service request.

To help Oracle Support Services troubleshoot the problem, perform the following steps:

  1. Trace report execution, as described in Section 24.3.7, "Tracing Report Execution".

  2. Contact Oracle Support Services. To help Oracle Support Services troubleshoot the problem, provide a zip file containing the trace information, deployment scenario, or sample report output, if required.


See Also:

  • Oracle Fusion Middleware Release Notes for Microsoft Windows, available on the Oracle Technology Network (OTN).


PK\Y T PK0;wEOEBPS/pbr_dest001.htm~ What's New in this Release

13.1 What's New in this Release

11g Release 1 (11.1.1) provides the Pluggable Destinations from Oracle Forms Services enhancement.

13.1.1 Pluggable Destinations from Oracle Forms Services.

In prior releases, a pluggable destination defined for Reports Server cannot be used when running a report from Oracle Forms Services (specifically from RUN_REPORT_OBJECT) because the REPORT_DESTYPE property in Oracle Forms Services allows for only a pre-specified set of values.

In Oracle Reports 11g Release 1 (11.1.1), this limitation is removed: report requests can be submitted to all destinations, including any Oracle Reports-registered pluggable destinations from Oracle Forms Services. This enhancement introduces a new Oracle Forms Services command line parameter: PLUGDESTYPE. Oracle Forms Services passes the pluggable destination DESTYPE in the PLUGDESTYPE parameter as part of the REPORT_OTHER property. When this parameter is present, it overrides whatever is specified in DESTYPE command line argument (or REPORT_DESTYPE for Oracle Forms Services).

For more information, see Section 13.4, "Submitting Reports to Pluggable Destinations from Oracle Forms Services"

PKBЃ ~ PK0;wEOEBPS/pbr_run007.htm Running Reports Through a Web Service

18.7 Running Reports Through a Web Service

In many cases, reports are integrated components of some larger application rather than a standalone application themselves. Hence, it can be useful to generate report requests from within an application. We accomplish this goal by exposing Oracle Reports Services as a Web service. This Web service may then be called from within any Web service-aware environment (for example, a Java application). For example, suppose that you have a Java-based expense reporting form and you want to allow users to generate a PDF version of their expense reports from it each time that they complete an expense form in your system. By creating a Java proxy Oracle Reports Web Service, you could then easily reference it from your Java development environment (for example, Oracle JDeveloper) and add a button that invokes Oracle Reports Services to generate the PDF file.


See Also:

Chapter 19, "Using the Oracle Reports Web Service" for more information on the Oracle Reports Web service and installing and using the sample proxy and Java client.


PK  PK0;wEOEBPS/pbr_conf005.htmm8 Network Configuration File

8.5 Network Configuration File

The network configuration settings for the Oracle Reports Bridge component of Oracle Reports Services are stored in the XML file rwnetwork.conf.

The rwnetworkconf.xsd contains data type definitions for rwnetwork.conf elements and attributes. See Section 8.5.1, "Network Configuration Elements".

These files are located in the directories specified in Table 8-1.

8.5.1 Network Configuration Elements

The rwnetworkconf.xsd file provides the following data type definitions for configuring rwnetwork.conf elements and attributes:

8.5.1.1 discoveryService

The discoveryService element is defined in rwnetwork.xsd as follows:

<xs:element name="discoveryService">
  <xs:complexType>
    <xs:choice>
      <xs:element ref="multicast"/>
      <xs:element ref="namingService"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

Required/Optional

Required. You can have a maximum of one open tag and one close tag in the discoveryService element in a given configuration file.

Description

The discoveryService element opens and closes the content area of the network configuration file. In terms of the file's hierarchy, all the other elements are subordinate to the discoveryService element.

The discoveryService element has no attributes. It includes two sub-elements:

8.5.1.2 multicast

The multicast element is defined in rwnetwork.xsd as follows:

<xs:element name="multicast">
  <xs:complexType>
    <xs:attribute name="channel" default="228.5.6.7" type="xs:string"/>
    <xs:attribute name="port"  default="14021">
        <xs:simpleType>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/> 
        </xs:restriction>
        </xs:simpleType>
    </xs:attribute> 
    <xs:attribute name="timeout" use="required">
        <xs:simpleType>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="100"/> 
        </xs:restriction>
        </xs:simpleType>
    </xs:attribute> 
    <xs:attribute name="retry"  default="3">
         <xs:simpleType>
         <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/> 
         </xs:restriction>
         </xs:simpleType>
    </xs:attribute> 
  </xs:complexType>
</xs:element>

Example

<multicast channel="228.5.6.7" port="one of the port in alotted AS ports"
           timeout="1000" retry="3"/>

Required/Optional

Conditional. The namingService and multicast elements are mutually exclusive; that is, only one of these elements can be configured at a time.

Description

The multicast element contains the necessary information to identify where Reports Server is running the built-in broadcast mechanism. By default, multicast is specified in rwnetwork.conf.

The multicast element attributes are described in Table 8-31.

Table 8-31 Attributes of the multicast Element

AttributesValid ValuesDescription

channel

Broadcast channel

The broadcast channel used by the Reports Server.

port

Broadcast port

The broadcast port used by the Reports Server.

timeout

Time (in milliseconds) it should wait for response. The optimum value for this setting is 1000.

The Reports Client will wait for the specified timeout period for a response from the Reports Server.

retry

Retry count

The Reports Client will retry for the specified number of times, if there is no response from the Reports Server after the timeout period.



Note:

It is strongly recommended that you do not change the default channel and port unless it is absolutely necessary. The default port value for rwnetwork.conf is assigned when you install Oracle Fusion Middleware.

If you want to customize rwnetwork.conf, you must specify a valid port range reserved for Reports Server (14021 to 14030). If you are using the Oracle Reports Bridge for discovering Reports Servers across subnets, you should set the timeout and retry values carefully for the bridge to function correctly. Refer to Table 8-31 for setting the timeout value.


8.5.1.3 namingService

The namingService element is defined in rwnetwork.xsd as follows:

<xs:element name="namingService">
  <xs:complexType>
    <xs:attribute name="name" use="required" type="xs:string"/>
    <xs:attribute name="host"  use="required" type="xs:string"/>
    <xs:attribute name="port" use="required">
        <xs:simpleType>
        <xs:restriction base="xs:integer">
            <xs:minInclusive value="1"/> 
        </xs:restriction>
        </xs:simpleType>
    </xs:attribute> 
  </xs:complexType>
</xs:element>

Example

<namingService name="Cos" host="mymachine.mydomain.com" port="14021"/>

Required/Optional

Conditional. The namingService and multicast elements are mutually exclusive; that is, only one of these elements can be configured at a time.

Description

The namingService element contains the necessary information required to be able to identify the host name and the port where the COS naming service is running. Specify this element only when the built-in broadcast mechanism is not suitable for your environment, as in the following scenarios:

  • Oracle Reports is installed on a machine that is connected to a network using VPN.

  • You want to avoid broadcast traffic on your network.

For more information, see Section 2.3.4.2, "Server Discovery Using the COS Naming Service".

The namingService element attributes are described in Table 8-32.

Table 8-32 Attributes of the namingService Element

AttributesValid ValuesDescription

name

Cos

The descriptive name of the naming service.

host

Host name/IP

The host name of the machine where the naming service is running.

port

Port number

The port number of the machine where the naming service is running.


PK"r8m8PK0;wEOEBPS/pbr_cla003.htm Keyword Usage Summary

A.3 Keyword Usage Summary

Table A-1 provides an alphabetical summary list of all the Oracle Reports command line keywords and specifies the Oracle Reports components with which each keyword can be used.

An asterisk (*) after a keyword indicates that the keyword is maintained for backward compatibility with Oracle9iAS Portal Release 1 and Oracle WebDB Release 2.2.

Table A-1 Keywords Usage Summary

Kewordsrwclient
rwrun
rwbuilder
rwconverter
rwservlet
rwserver
rwbridge

ACCESSIBLE


yes

yes

yes

no

yes

no

no

ARRAYSIZE


yes

yes

yes

no

yes

no

no

AUTHID


yes

yes

no

no

yes

yes

no

AUTOCOMMIT


yes

yes

yes

no

yes

no

no

BACKGROUND


yes

no

no

no

yes

no

no

BATCH


no

no

no

yes

no

yes

no

BCC


yes

yes

no

no

yes

no

no

BLANKPAGES


yes

yes

yes

no

yes

no

no

BUFFERS


yes

yes

yes

no

yes

no

no

CACHELOB


yes

yes

yes

no

yes

no

no

CC


yes

yes

no

no

yes

no

no

CELLWRAPPER


yes

yes

no

no

yes

no

no

CMDFILE


yes

yes

yes

yes

no

no

no

CMDKEY


no

no

no

no

yes

no

no

COLLATE


yes

yes

no

no

yes

no

no

COMPILE_ALL


no

no

no

yes

no

no

no

CONTAINSHTMLTAGS


yes

yes

yes

no

yes

no

no

CONTAINSOLE


yes

yes

yes

no

yes

no

no

CONTENTAREA*


yes

yes

no

no

yes

no

no

COPIES


yes

yes

no

no

yes

no

no

CUSTOMIZE


yes

yes

no

yes

yes

no

no

DATEFORMATMASK


yes

yes

no

no

yes

no

no

DBPROXYCONN


yes

yes

no

no

yes

no

no

DELAUTH


no

no

no

no

yes

no

no

DELIMITED_HDR


yes

yes

no

no

yes

no

no

DELIMITER


yes

yes

no

no

yes

no

no

DESFORMAT


yes

yes

no

no

yes

no

no

DESNAME


yes

yes

no

no

yes

no

no

DEST


no

no

no

yes

no

no

no

DESTINATION


yes

yes

no

no

yes

no

no

DESTYPE


yes

yes

no

no

yes

no

no

DISTRIBUTE


yes

yes

no

no

yes

no

no

DTYPE


no

no

no

yes

no

no

no

DUNIT


no

no

no

yes

no

no

no

ENGINERESPONSETIMEOUT


yes

no

no

no

yes

no

no

ENVID


yes

no

no

no

yes

no

no

EXPIRATION


yes

no

no

no

yes

no

no

EXPIREDAYS


no

no

no

no

yes

no

no

FORMSIZE


no

no

no

yes

no

no

no

FROM


yes

yes

no

no

yes

no

no

GETJOBID


no

no

no

no

yes

no

no

GETSERVERINFO


no

no

no

no

yes

no

no

HELP


no

no

no

no

yes

no

no

ITEMTITLE


yes

yes

no

no

yes

no

no

JOBNAME


yes

no

no

no

yes

no

no

JOBRETRY









JOBTYPE


yes

no

no

no

yes

no

no

JVMOPTIONS


no

yes

yes

yes

no

yes

no

KILLENGINE


no

no

no

no

yes

no

no

KILLJOBID


no

no

no

no

yes

no

no

LONGCHUNK


yes

yes

yes

no

yes

no

no

MIMETYPE


no

no

no

no

yes

no

no

MODE


yes

yes

no

no

yes

no

no

MODULE|REPORT


yes

yes

yes

no

yes

no

no

NAME


no

no

no

no

no

no

no

NONBLOCKSQL


yes

yes

yes

no

yes

no

no

NOTIFYFAILURE


yes

yes

no

no

yes

no

no

NOTIFYSUCCESS


yes

yes

no

no

yes

no

no

NUMBERFORMATMASK


yes

yes

no

no

yes

no

no

ONFAILURE


yes

yes

yes

no

yes

no

no

ONSUCCESS


yes

yes

yes

no

yes

no

no

ORIENTATION


yes

yes

no

no

yes

no

no

OUTPUTFOLDER*


yes

yes

no

no

yes

no

no

OUTPUTGRAPHFORMAT


yes

yes

yes

no

yes

no

no

OUTPUTIMAGEFORMAT


yes

yes

yes

no

yes

no

no

OUTPUTPAGE


yes

yes

no

no

yes

no

no

OVERWRITE


no

no

no

yes

no

no

no

P_AVAILABILITY


no

no

no

yes

no

no

no

P_DESCRIPTION


no

no

no

yes

no

no

no

P_FORMATS


no

no

no

yes

no

no

no

P_JDBCPDS


yes

yes

yes

no

yes

no

no

P_NAME


no

no

no

yes

no

no

no

P_OWNER


no

no

no

yes

no

no

no

P_PFORMTEMPLATE


no

no

no

yes

no

no

no

P_PRINTERS


no

no

no

yes

no

no

no

P_PRIVILEGE


no

no

no

yes

no

no

no

P_SERVERS


no

no

no

yes

no

no

no

P_TRIGGER


no

no

no

yes

no

no

no

P_TYPES


no

no

no

yes

no

no

no

PAGEGROUP


yes

yes

no

no

yes

no

no

PAGESIZE


yes

yes

yes

yes

yes

no

no

PAGESTREAM


yes

yes

no

no

yes

no

no

PARAMETER


yes

yes

yes

yes

yes

yes

yes

PARAMFORM


no

no

no

no

yes

no

no

PARSEQUERY


no

no

no

no

yes

no

no

PDFCOMP


yes

yes

no

no

yes

no

no

PDFEMBED


yes

yes

no

no

yes

no

no

PDFOWNER


yes

yes

yes

no

yes

no

no

PDFSECURITY


yes

yes

yes

no

yes

no

no

PDFUSER


yes

yes

yes

no

yes

no

no

PFACTION


yes

no

yes

no

no

no

no

PRINTJOB


no

no

yes

no

no

no

no

READONLY


yes

yes

yes

no

yes

no

no

RECURSIVE_LOAD


yes

yes

no

yes

yes

no

no

REPLYTO


yes

yes

no

no

yes

no

no

REPORT | MODULE


yes

yes

yes

no

yes

no

no

ROLE


yes

yes

no

no

yes

no

no

RUNDEBUG


yes

yes

yes

no

yes

no

no

SAVE_RDF


no

yes

yes

no

no

no

no

SCHEDULE


yes

no

no

no

yes

no

no

SERVER


yes

no

no

no

yes

yes

no

SHOWAUTH


no

no

no

no

yes

no

no

SHOWENV


no

no

no

no

yes

no

no

SHOWJOBID


no

no

no

no

yes

no

no

SHOWJOBS


no

no

no

no

yes

no

no

SHOWMAP


no

no

no

no

yes

no

no

SHOWMYJOBS


no

no

no

no

yes

no

no

SHUTDOWN


no

no

no

no

no

no

no

SITENAME*


yes

yes

no

no

yes

no

no

SOURCE


no

no

no

yes

no

no

no

SQLTRACE


yes

yes

yes

no

yes

no

no

SSOCONN


no

no

no

no

yes

no

no

STATUSFOLDER*


yes

yes

no

no

yes

no

no

STATUSFORMAT


no

no

no

no

yes

no

no

STATUSPAGE


yes

yes

no

no

yes

no

no

STYPE


no

no

no

yes

no

no

no

SUBJECT


yes

yes

no

no

yes

no

no

SUPPRESSLAYOUT


yes

yes

yes

no

yes

no

no

TOLERANCE


yes

no

no

no

yes

no

no

URLPARAMETER


yes

no

no

no

yes

no

no

USEJVM


yes

no

no

no

no

no

no

USERID


yes

yes

yes

yes

yes

no

no

USERSTYLES


yes

yes

yes

no

yes

no

no

VALIDATETAG


no

no

yes

no

no

no

no

WEBSERVER_DEBUG



no

no

yes

no

no

no

no

WEBSERVER_DOCROOT


no

no

yes

no

no

no

no

WEBSERVER_PORT


no

no

yes

no

no

no

no


PK~*PK0;wEOEBPS/reports_topic5_proc.htmU Managing and Monitoring a Reports High Availability (HA) Solution

7.15 Managing and Monitoring a Reports High Availability (HA) Solution

Oracle Fusion Middleware consists of many components that can be deployed in distributed topologies. The underlying paradigm used to enable high availability for Oracle Fusion Middleware is clustering, which unites various Oracle Fusion Middleware components in certain permutations to offer scalable and unified functionality, and redundancy should any of the individual components fail. For more information, see Section 2.5, "Setting Up a High Availability Environment".

7.15.1 Configuring Reports Server for High Availability

Refer to Section 2.5.3, "Configuring Reports Server for High Availability".

7.15.2 Displaying a Consolidated Job Queue

Refer to Section 7.7.2, "Displaying a Consolidated Job Queue".

7.15.3 Specifying a Shared Cache Directory

To specify a shared cache directory for high availability (HA):

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the Reports Application Home page (see Section 7.3, "Viewing the Component Topology").

  3. From the Reports menu, select Administration > Advanced Configuration.

    The Reports Application Advanced Configuration page displays.

  4. In the High Availability Parameters section, in the Cluster Cache Directory field, enter the path to the shared cache directory for HA, then click Apply.

    To see the changes, reload the WLS node.

PKPK0;wEOEBPS/pbr_trouble007.htm2 Diagnosing Globalization Problems

D.7 Diagnosing Globalization Problems

For common globalization problems and solutions in Oracle Reports, see Section 23.7, "Troubleshooting Globalization Issues" in Chapter 23, "Implementing Globalization and Bidirectional Support".

PKbPK0;wEOEBPS/dcommon/oracle.gifJGIF87aiyDT2F'G;Q_oKTC[ 3-Bq{ttsoGc4I)GvmLZ).1)!ꑈ53=Z]'yuLG*)g^!8C?-6(29K"Ĩ0Яl;U+K9^u2,@@ (\Ȱ Ë $P`lj 8x I$4H *(@͉0dа8tA  DсSP v"TUH PhP"Y1bxDǕ̧_=$I /& .)+ 60D)bB~=0#'& *D+l1MG CL1&+D`.1qVG ( "D2QL,p.;u. |r$p+5qBNl<TzB"\9e0u )@D,¹ 2@C~KU 'L6a9 /;<`P!D#Tal6XTYhn[p]݅ 7}B a&AƮe{EɲƮiEp#G}D#xTIzGFǂEc^q}) Y# (tۮNeGL*@/%UB:&k0{ &SdDnBQ^("@q #` @1B4i@ aNȅ@[\B >e007V[N(vpyFe Gb/&|aHZj@""~ӎ)t ? $ EQ.սJ$C,l]A `8A o B C?8cyA @Nz|`:`~7-G|yQ AqA6OzPbZ`>~#8=./edGA2nrBYR@ W h'j4p'!k 00 MT RNF6̙ m` (7%ꑀ;PKl-OJPK0;wEOEBPS/dcommon/oracle-logo.jpg&fٙJFIFC    $.' ",#(7),01444'9=82<.342C  2!!22222222222222222222222222222222222222222222222222'7" }!1AQa"q2#BR$3br %&'()*456789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz w!1AQaq"2B #3Rbr $4%&'()*56789:CDEFGHIJSTUVWXYZcdefghijstuvwxyz ?( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( ( (QEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQE!KEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEzE7V%ȣOΏ9??:a"\fSrğjAsKJ:nOzO=}E1-I)3(QEQEQEQEQEQEQE֝Hza<["2"pO#f8M[RL(,?g93QSZ uy"lx4h`O!LŏʨXZvq& c՚]+: ǵ@+J]tQ]~[[eϸ (]6A&>ܫ~+כzmZ^(<57KsHf妬Ϧmnẁ&F!:-`b\/(tF*Bֳ ~V{WxxfCnMvF=;5_,6%S>}cQQjsOO5=)Ot [W9 /{^tyNg#ЄGsֿ1-4ooTZ?K Gc+oyڙoNuh^iSo5{\ܹ3Yos}$.nQ-~n,-zr~-|K4R"8a{]^;I<ȤL5"EԤP7_j>OoK;*U.at*K[fym3ii^#wcC'IIkIp$󿉵|CtĈpW¹l{9>⪦׺*ͯj.LfGߍԁw] |WW18>w.ӯ! VӃ :#1~ +މ=;5c__b@W@ +^]ևՃ7 n&g2I8Lw7uҭ$"&"b eZ":8)D'%{}5{; w]iu;_dLʳ4R-,2H6>½HLKܹR ~foZKZ࿷1[oZ7׫Z7R¢?«'y?A}C_iG5s_~^ J5?œ tp]X/c'r%eܺA|4ծ-Ե+ْe1M38Ǯ `|Kյ OVڅu;"d56, X5kYR<̭CiطXԮ];Oy)OcWj֩}=܅s۸QZ*<~%뺃ȶp f~Bðzb\ݳzW*y{=[ C/Ak oXCkt_s}{'y?AmCjޓ{ WRV7r. g~Q"7&͹+c<=,dJ1V߁=T)TR՜*N4 ^Bڥ%B+=@fE5ka}ędܤFH^i1k\Sgdk> ֤aOM\_\T)8靠㡮3ģR: jj,pk/K!t,=ϯZ6(((((((49 xn_kLk&f9sK`zx{{y8H 8b4>ÇНE|7v(z/]k7IxM}8!ycZRQ pKVr(RPEr?^}'ðh{x+ՀLW154cK@Ng C)rr9+c:׹b Жf*s^ fKS7^} *{zq_@8# pF~ [VPe(nw0MW=3#kȵz晨cy PpG#W:%drMh]3HH<\]ԁ|_W HHҡb}P>k {ZErxMX@8C&qskLۙOnO^sCk7ql2XCw5VG.S~H8=(s1~cV5z %v|U2QF=NoW]ո?<`~׮}=ӬfԵ,=;"~Iy7K#g{ñJ?5$y` zz@-~m7mG宝Gٱ>G&K#]؃y1$$t>wqjstX.b̐{Wej)Dxfc:8)=$y|L`xV8ߙ~E)HkwW$J0uʟk>6Sgp~;4֌W+חc"=|ř9bc5> *rg {~cj1rnI#G|8v4wĿhFb><^ pJLm[Dl1;Vx5IZ:1*p)إ1ZbAK(1ׅ|S&5{^ KG^5r>;X׻K^? s fk^8O/"J)3K]N)iL?5!ƾq:G_=X- i,vi2N3 |03Qas ! 7}kZU781M,->e;@Qz T(GK(ah(((((((Y[×j2F}o־oYYq $+]%$ v^rϭ`nax,ZEuWSܽ,g%~"MrsrY~Ҿ"Fت;8{ѰxYEfP^;WPwqbB:c?zp<7;SBfZ)dϛ; 7s^>}⍱x?Bix^#hf,*P9S{w[]GF?1Z_nG~]kk)9Sc5Ո<<6J-ϛ}xUi>ux#ţc'{ᛲq?Oo?x&mѱ'#^t)ϲbb0 F«kIVmVsv@}kҡ!ˍUTtxO̧]ORb|2yԵk܊{sPIc_?ħ:Ig)=Z~' "\M2VSSMyLsl⺿U~"C7\hz_ Rs$~? TAi<lO*>U}+'f>7_K N s8g1^CeКÿE ;{+Y\ O5|Y{/o+ LVcO;7Zx-Ek&dpzbӱ+TaB0gNy׭ 3^c T\$⫫?F33?t._Q~Nln:U/Ceb1-im WʸQM+VpafR3d׫é|Aү-q*I P7:y&]hX^Fbtpܩ?|Wu󭏤ʫxJ3ߴm"(uqA}j.+?S wV ~ [B&<^U?rϜ_OH\'.;|.%pw/ZZG'1j(#0UT` Wzw}>_*9m>󑓀F?EL3"zpubzΕ$+0܉&3zڶ+jyr1QE ( ( ( ( ( ( ( (UIdC0EZm+]Y6^![ ԯsmܶ捆?+me+ZE29)B[;я*wGxsK7;5w)}gH~.Ɣx?X\ߚ}A@tQ(:ͧ|Iq(CT?v[sKG+*רqҍck <#Ljα5݈`8cXP6T5i.K!xX*p&ќZǓϘ7 *oƽ:wlຈ:Q5yIEA/2*2jAҐe}k%K$N9R2?7ýKMV!{W9\PA+c4w` Wx=Ze\X{}yXI Ү!aOÎ{]Qx)#D@9E:*NJ}b|Z>_k7:d$z >&Vv󃏽WlR:RqJfGإd9Tm(ҝEtO}1O[xxEYt8,3v bFF )ǙrPNE8=O#V*Cc𹾾&l&cmCh<.P{ʦ&ۣY+Gxs~k5$> ӥPquŽўZt~Tl>Q.g> %k#ú:Kn'&{[yWQGqF}AЅ׮/}<;VYZa$wQg!$;_ $NKS}“_{MY|w7G!"\JtRy+贾d|o/;5jz_6fHwk<ѰJ#]kAȎ J =YNu%dxRwwbEQEQEQEQEQEQEQEQEQE'fLQZ(1F)hQ@X1KEQE-Q@ 1KE3h=iPb(((1GjZ(-ʹRPbR@ 1KE7`bڒyS0(-&)P+ ڎԴP11F)h&:LRmQ@Q@Š(((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((((_ğ<+F; sU%ԑ >,BH(uSU xþ1Wϲs${wgoQn_swB/'L\ܓFgԏZ ^dj^L^NmH Ҁ6(?nƓjh%ةlΣ /F6}pj2E3HgHЌ(UQR8oX,G8OB]>o9@$xWy'ڹOM=ҼWb"٠9-*r⬻zWokeh͝(F@n~X=q+⟇1b>ƑeIX.~C,o5የ-m;D Nʬ` `+CcE??Ki!R!cxw[ jvc}&Eٱ7T)8&þ/?os$wSn^bo:-4^js4JKm!#rv89>' O59t , \8r,Vk|IgxEv((RmĜ+bkz6,u/}-|.'<VÚ~tk,^cH61¢ !;M;Ėz[#CuAƶ+j_&*/;Q8d ǹHyAsM↷7l-6rò,%Fs;A*',}'f[]tݷs~UWhk?:4JE]WpcY=" ƚw/|_xSw(kycH#r28,X7D5Kh76 mɍ~0H;6194WpGӧգ%8Z&GdPƧo6kcO5Kv`{}fyq \`@?Kv=26OޝyAe Qɼ芍H8͟2敮j#;iѻm؏6+wTx;KYY\-%'Aӣ?|=\-ٴk+٬$ɷ$.fAs ua޼ᆝ VgiXv6xcYbLj* ~ sx'%aw*OnA9^G~98@=CQ%=C9W蠢Hr2E6?\lԾ)Yx_ZwSqA#8#=Et~<ѣYrxzwr P Wpl<[}B[Kx4YoMAf7$p! 0$Q(;?UykMomM=wb`(\߃.)qk/h3/UUUsh7O۱v_8꾥xݝ|AA-!6ǪZio*3 q3d5嵜pGuu(h3xJMgmt}~=} w:e\Zۛk'T+Ag6e;%H xd7Q@om?RY>~%Oo,(1$haԊԼ|oX0}W2rwyW6?Žnq^ugc} >U:@dQsՎՊ}7zͿټ5m,z?sq q[-`l5sQq:ȷ3I (|x/ϰ6-5g6]JL&$GU_DUݮ1ޛ-֖[I _ < 5#u}~kIcG\ PIUUy-滂;g2Tte?x.=)<3cg68ĒN%+1~$d|;mk$3kxV[R#l Eq"5 խn\y~d!SrrF8/닛IhyE0r F WQ@_??Fihݭ@BۼU*9 (:蚎uZ^|!Mۛ3OvP?K?}~ݹy1G4MGDFw.mumݭ8ڻ (~񾃬y k7#$-9SkzįWZiV%%eJY$co6Q<3&7#dr2 \:|$張WG[J&[-Vρd39xI熿kEj7[[~wBp;aEq.5 iP+982Je8t AW?^K&HobDu$> JB2%v*PY7`[vC%5K{HHy098*Eqؚ.Oijyw7۝wOǚ^|O_:LztٛfF0f~GH(/S|a7_Z^=Mͨǹ8C q}fź/t+ Xhp.$!,8$qQ@Q@Q@Q@Q@Q@Q@Q@Q@Q@Q@O?t)KtH#L7o0bc t!h6E^xTD1h)d$|E O@yL5zy,8mb0H<>KxHIuk4n &hbדGmI @HRp2FH'|&?x},[/t9V U# guoż9#`FApA?|r$ҿE~%6}u_ ]VPq(YBpq66uօ+|҃GLk3h M;Ƕm޽C罧~yp߁}Џu\#ٿlW9jA5ƹk~1nA3FN0>B$\@7ĝOW/`_$fv48ߦ K? 58l5ʅ 5dA;[pyhu,D|eịi]-Oݡ;#nUu} rzU#j@﹐RUK.FH~?ŋ{{Mnڕ]ե {u9FK>[qo,sA*H2AG9'M{³jGԿ-խn!B wHQ6mºFpѴVPђT RF@8Nwu \h-"Xv&pNOP1\~-Nׯ4]$gB$,pgs9qCik;>C0 *m;pHV'Sx{J'VУ[sжHR@8U%ׇ?ykvܹm y?t)KtH#L7o0bc h|E4YNNPFO'Oľ!< c^K=>X :qAO!pOGZݯ=:^}$$ jT1*)n[ aI['5QMȚ[`%zǧ\ewgryQjBH܍lN# cſWOIր=R::q @ HH 'W|' {MWm'XXhGgQxe& Q&s]^4e,$%R. N+BE[y=OO) yI*0Boc~}>MI(xDMºEjoKC08C/̡،~|Eghj'Uآ< >txE vR0*OT:&5+[XUĘ UI >woGh_w'#Ynۯ]WuE7HѧУxw2I,7d9v@-~$x^<+I]ehQx,띹ۜ@5믷|Nayy |${u8# T=g<&Ė3@Y0G׌1׮;%ndS׳ ƀ.j.ķ;'S:[lMg0zw<-$WKc>/l.KCd'tg'knH\^o+׼W6PGqg7l6+0=B)nd^{vÚƹ}P70wP""eR7g8 4cow:i?|9é?`Q]45WfPʕ-drwm>InQG?XiixKHlPB. ́ ԓ͐~3nW/is-ԧ* HG^Z-bNWe,~-&$rb~h icN4/I)1 )VWP}G,dCEkkOkc%m}Ϡ]]k4.2#8P gui 𭴥[U[GxԀ$ G<)W ctxKJ=ںepMQ0rax$b}⾝ [x{S/Vzz;ȪA]s׮)jw|35o EJۂg۞dd9 >)_5ЄW$Fedg*rPi9#񶧥Vּc4+KF˽ @@6<|@Ms^H"W E,BxO` ^wM_IHƣZKv| B9,xsž(| wYݡ1 ԟcl.0@#$pT;J["e> ֒[}VVJl p QEQEQEQEQEQEQEQEQEQEQEQEQEQEQ^wx7<9֚ -S`XTs*9:O i%>AFlE`n߻s W~[R ޗiu[5o2#n<+cľ0<oN"8Uq Q@VaxyJ;āJ22228>9C'm7Ezpw`PiEa^ԣIܤ@;9' 2q*Ɓ=#:ZZ-wvoPT*z8 "5(I.4ՍԒ6ʈQH|4Ep mgSӵuKFM,Hw$aP`d{G񍾝:^avo>YcLxc+tƧO2OghԱdҳ5uMn k٘\wS h?%ѯ᭤0v 0 s5K[|9VմArWۺdSEvW_xG>&OL͍'\vs5]VC5=N;k;t,G$$I W/U'!ux'WvY9?𼄤[bT\MnĈLnBJ33_N[I;s+UxD{>c}4-owbI$F=B+/Ě>֥唳yB<1#гaG84Er~׭~E%ܗ^"kmKz\H7,lh@HޡOrh! m^EEpF yCIZc:#DQ02O'𮢱I.4ՍԒ6ʈQH|52յONס5/7[[!!ܑAI׭wQ^_KP΅Xeh!qiTĕA=B*?yOg0v;sP+7x✚u/D:ohGo!&loeQ$Fk垥u4k]R>hֻHa@q p `GtV_|G7Y ynI6#MéVʞ +R ( ( ( ( ( ( ( ( ( ( ( ( (8}{_徆{YlzM5d`@3zp1YtO׾ OiiBKi< o l P *ƉC|̄P+Cм)fmt=2 ($r͍'<_G&"k__}c[=Kÿx46;4C02I8>Po@>2 HP`#;z wqyhym;DUI&. 'f'QWZ#Y-o;:aH-oQ>%cȷ蟻+2qx^3zHt*c6Kq@(RS Y3h$#`pÃ*es@]5dUf}xo߅|#_d# ?%(H$a؎?*]s[[O5=j=Ikt3m`˳;;;d3 ;#oև$:Dusᗅ/᫔㴂QP6j\(0GNA2zMoDӼGϤhoMX0H#<@ƹM'KKCKծI82Fh܀|g'4˦ͤKq+5琢L>#yRx'ym"h%BG"WR0A4ab@ `yA5^LR\G9V` 1 `xv}ό?ۿ>|gns89tWo躥aƗvϾ'y+v;]88#+4cQխ_j^WjpNgxØ\jW owrtX7s 㓒y&<^%jVV6:,΍k|3&ԍe  R χjp).#0FY0]n;EzDNs.}>]<"xU 6 q\.oXh1ݳyd ݎb2: +)̕c]^\=jz]]JLknv$| zPq\x&I$I+ʢ!VdfxLm/.T\kN ր; -滂;g2Ttow:.M:Xӵk}oIw18\#'յm%Tɻj+8p(w%h&dȿyddEcc>wڿ4g$ݷ;~cst[Fӵ{5y|הbCr?vrp*w  !y$($sI|<{'n?lxw>X,QؙfbEComh\P_&IIº%Zge<*A yU,m:?.$NPNjQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEQEPKdYD+f&fPK0;wEOEBPS/dcommon/cpyr.htmD Oracle Legal Notices

Oracle Legal Notices

Copyright Notice

Copyright © 1994-2014, Oracle and/or its affiliates. All rights reserved.

Trademark Notice

Oracle and Java are registered trademarks of Oracle and/or its affiliates. Other names may be trademarks of their respective owners.

Intel and Intel Xeon are trademarks or registered trademarks of Intel Corporation. All SPARC trademarks are used under license and are trademarks or registered trademarks of SPARC International, Inc. AMD, Opteron, the AMD logo, and the AMD Opteron logo are trademarks or registered trademarks of Advanced Micro Devices. UNIX is a registered trademark of The Open Group.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

U.S. GOVERNMENT END USERS: Oracle programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, delivered to U.S. Government end users are "commercial computer software" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the programs, including any operating system, integrated software, any programs installed on the hardware, and/or documentation, shall be subject to license terms and license restrictions applicable to the programs. No other rights are granted to the U.S. Government.

Hazardous Applications Notice

This software or hardware is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications that may create a risk of personal injury. If you use this software or hardware in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy, and other measures to ensure its safe use. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software or hardware in dangerous applications.

Third-Party Content, Products, and Services Disclaimer

This software or hardware and documentation may provide access to or information on content, products, and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third-party content, products, and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third-party content, products, or services.

Alpha and Beta Draft Documentation Notice

If this document is in preproduction status:

This documentation is in preproduction status and is intended for demonstration and preliminary use only. It may not be specific to the hardware on which you are using the software. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to this documentation and will not be responsible for any loss, costs, or damages incurred due to the use of this documentation.

Oracle Logo

PK0hPK0;wEOEBPS/dcommon/blafdoc.cssc@charset "utf-8"; /* Copyright 2002, 2011, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2011.8.12 */ body { font-family: Tahoma, sans-serif; /* line-height: 125%; */ color: black; background-color: white; font-size: small; } * html body { /* http://www.info.com.ph/~etan/w3pantheon/style/modifiedsbmh.html */ font-size: x-small; /* for IE5.x/win */ f\ont-size: small; /* for other IE versions */ } h1 { font-size: 165%; font-weight: bold; border-bottom: 1px solid #ddd; width: 100%; text-align: left; } h2 { font-size: 152%; font-weight: bold; text-align: left; } h3 { font-size: 139%; font-weight: bold; text-align: left; } h4 { font-size: 126%; font-weight: bold; text-align: left; } h5 { font-size: 113%; font-weight: bold; display: inline; text-align: left; } h6 { font-size: 100%; font-weight: bold; font-style: italic; display: inline; text-align: left; } a:link { color: #039; background: inherit; } a:visited { color: #72007C; background: inherit; } a:hover { text-decoration: underline; } a img, img[usemap] { border-style: none; } code, pre, samp, tt { font-family: monospace; font-size: 110%; } caption { text-align: center; font-weight: bold; width: auto; } dt { font-weight: bold; } table { font-size: small; /* for ICEBrowser */ } td { vertical-align: top; } th { font-weight: bold; text-align: left; vertical-align: bottom; } li { text-align: left; } dd { text-align: left; } ol ol { list-style-type: lower-alpha; } ol ol ol { list-style-type: lower-roman; } td p:first-child, td pre:first-child { margin-top: 0px; margin-bottom: 0px; } table.table-border { border-collapse: collapse; border-top: 1px solid #ccc; border-left: 1px solid #ccc; } table.table-border th { padding: 0.5ex 0.25em; color: black; background-color: #f7f7ea; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } table.table-border td { padding: 0.5ex 0.25em; border-right: 1px solid #ccc; border-bottom: 1px solid #ccc; } span.gui-object, span.gui-object-action { font-weight: bold; } span.gui-object-title { } p.horizontal-rule { width: 100%; border: solid #cc9; border-width: 0px 0px 1px 0px; margin-bottom: 4ex; } div.zz-skip-header { display: none; } td.zz-nav-header-cell { text-align: left; font-size: 95%; width: 99%; color: black; background: inherit; font-weight: normal; vertical-align: top; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-header-link { font-size: 95%; } td.zz-nav-button-cell { white-space: nowrap; text-align: center; width: 1%; vertical-align: top; padding-left: 4px; padding-right: 4px; margin-top: 0ex; padding-top: 0ex; } a.zz-nav-button-link { font-size: 90%; } div.zz-nav-footer-menu { width: 100%; text-align: center; margin-top: 2ex; margin-bottom: 4ex; } p.zz-legal-notice, a.zz-legal-notice-link { font-size: 85%; /* display: none; */ /* Uncomment to hide legal notice */ } /*************************************/ /* Begin DARB Formats */ /*************************************/ .bold, .codeinlinebold, .syntaxinlinebold, .term, .glossterm, .seghead, .glossaryterm, .keyword, .msg, .msgexplankw, .msgactionkw, .notep1, .xreftitlebold { font-weight: bold; } .italic, .codeinlineitalic, .syntaxinlineitalic, .variable, .xreftitleitalic { font-style: italic; } .bolditalic, .codeinlineboldital, .syntaxinlineboldital, .titleinfigure, .titleinexample, .titleintable, .titleinequation, .xreftitleboldital { font-weight: bold; font-style: italic; } .itemizedlisttitle, .orderedlisttitle, .segmentedlisttitle, .variablelisttitle { font-weight: bold; } .bridgehead, .titleinrefsubsect3 { font-weight: bold; } .titleinrefsubsect { font-size: 126%; font-weight: bold; } .titleinrefsubsect2 { font-size: 113%; font-weight: bold; } .subhead1 { display: block; font-size: 139%; font-weight: bold; } .subhead2 { display: block; font-weight: bold; } .subhead3 { font-weight: bold; } .underline { text-decoration: underline; } .superscript { vertical-align: super; } .subscript { vertical-align: sub; } .listofeft { border: none; } .betadraft, .alphabetanotice, .revenuerecognitionnotice { color: #f00; background: inherit; } .betadraftsubtitle { text-align: center; font-weight: bold; color: #f00; background: inherit; } .comment { color: #080; background: inherit; font-weight: bold; } .copyrightlogo { text-align: center; font-size: 85%; } .tocsubheader { list-style-type: none; } table.icons td { padding-left: 6px; padding-right: 6px; } .l1ix dd, dd dl.l2ix, dd dl.l3ix { margin-top: 0ex; margin-bottom: 0ex; } div.infoboxnote, div.infoboxnotewarn, div.infoboxnotealso { margin-top: 4ex; margin-right: 10%; margin-left: 10%; margin-bottom: 4ex; padding: 0.25em; border-top: 1pt solid gray; border-bottom: 1pt solid gray; } p.notep1 { margin-top: 0px; margin-bottom: 0px; } .tahiti-highlight-example { background: #ff9; text-decoration: inherit; } .tahiti-highlight-search { background: #9cf; text-decoration: inherit; } .tahiti-sidebar-heading { font-size: 110%; margin-bottom: 0px; padding-bottom: 0px; } /*************************************/ /* End DARB Formats */ /*************************************/ @media all { /* * * { line-height: 120%; } */ dd { margin-bottom: 2ex; } dl:first-child { margin-top: 2ex; } } @media print { body { font-size: 11pt; padding: 0px !important; } a:link, a:visited { color: black; background: inherit; } code, pre, samp, tt { font-size: 10pt; } #nav, #search_this_book, #comment_form, #comment_announcement, #flipNav, .noprint { display: none !important; } body#left-nav-present { overflow: visible !important; } } PKr.hcPK0;wEOEBPS/dcommon/doccd_epub.jsM /* Copyright 2006, 2012, Oracle and/or its affiliates. All rights reserved. Author: Robert Crews Version: 2012.3.17 */ function addLoadEvent(func) { var oldOnload = window.onload; if (typeof(window.onload) != "function") window.onload = func; else window.onload = function() { oldOnload(); func(); } } function compactLists() { var lists = []; var ul = document.getElementsByTagName("ul"); for (var i = 0; i < ul.length; i++) lists.push(ul[i]); var ol = document.getElementsByTagName("ol"); for (var i = 0; i < ol.length; i++) lists.push(ol[i]); for (var i = 0; i < lists.length; i++) { var collapsible = true, c = []; var li = lists[i].getElementsByTagName("li"); for (var j = 0; j < li.length; j++) { var p = li[j].getElementsByTagName("p"); if (p.length > 1) collapsible = false; for (var k = 0; k < p.length; k++) { if ( getTextContent(p[k]).split(" ").length > 12 ) collapsible = false; c.push(p[k]); } } if (collapsible) { for (var j = 0; j < c.length; j++) { c[j].style.margin = "0"; } } } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(compactLists); function processIndex() { try { if (!/\/index.htm(?:|#.*)$/.test(window.location.href)) return false; } catch(e) {} var shortcut = []; lastPrefix = ""; var dd = document.getElementsByTagName("dd"); for (var i = 0; i < dd.length; i++) { if (dd[i].className != 'l1ix') continue; var prefix = getTextContent(dd[i]).substring(0, 2).toUpperCase(); if (!prefix.match(/^([A-Z0-9]{2})/)) continue; if (prefix == lastPrefix) continue; dd[i].id = prefix; var s = document.createElement("a"); s.href = "#" + prefix; s.appendChild(document.createTextNode(prefix)); shortcut.push(s); lastPrefix = prefix; } var h2 = document.getElementsByTagName("h2"); for (var i = 0; i < h2.length; i++) { var nav = document.createElement("div"); nav.style.position = "relative"; nav.style.top = "-1.5ex"; nav.style.left = "1.5em"; nav.style.width = "90%"; while (shortcut[0] && shortcut[0].toString().charAt(shortcut[0].toString().length - 2) == getTextContent(h2[i])) { nav.appendChild(shortcut.shift()); nav.appendChild(document.createTextNode("\u00A0 ")); } h2[i].parentNode.insertBefore(nav, h2[i].nextSibling); } function getTextContent(e) { if (e.textContent) return e.textContent; if (e.innerText) return e.innerText; } } addLoadEvent(processIndex); PKo"nR M PK0;wEOEBPS/pbr_pds002.htm;& Configuring and Using Text PDS

14.2 Configuring and Using Text PDS

Text PDS is configured and available out-of-the-box for Oracle Reports.

14.2.1 Text Configuration File

The textpds.conf file is the Oracle Reports Text PDS configuration file which can be changed, added, or deleted. The file is located at the following directories:

  • For Reports Server:

    ORACLE_INSTANCE\config\ReportsServerComponent\server_name\textpdf.conf

  • For Oracle Reports Builder:

    ORACLE_INSTANCE\config\ReportsToolsComponent\ReportsTools\textpdf.conf

  • For Reports Application (in-process Reports Server) deployed in Oracle WebLogic Server:
    DOMAIN_HOME/config/fmwconfig/servers/WLS_REPORTS/applications/reports_version/configuration

Example

The following example illustrates the contents of textpds.conf file:

<!--XML section.Please edit this section to give your file format information-->
<textPDS  
    xmlns="http://xmlns.oracle.com/reports/pdstext"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://xmlns.oracle.com/reports/pdstext file:c:\orawin/reports/dtd/textpds.xsd" 
    >

<!--Data definition for Apache Log file format-->
  <fileFormat  name = "Apache Log File" comment = "#" delimiter = "default"
               type ="variable" nullValue = "-">
    <columnInfo>
<column    name = "Remote Host"      type = "string" />
      <column    name = "Remote Log Name"  type = "string"/>
      <column    name = "Remote User"      type = "string"/>
      <column    name = "time"             type = "date"    cellWrapper = "\[]"
                 pattern = "dd/MMM/yyyy:hh:mm:ss zzz"/>
      <column    name = "Request"          type = "string"  cellWrapper = "&quot;"/>
      <column    name = "status"           type = "number"/>
      <column    name = "bytes"            type = "number"/>
    </columnInfo>
  </fileFormat>

<!--Data definition for Comma Delimited file format-->
 <fileFormat  name = "Example Variable Width Comma Delimited" comment = "#" 
              delimiter = "," type = "variable"> 
     <columnInfo> 
      <column    name = "var_cd_col1"     type = "string" /> 
      <column    name = "var_cd_col2"     type = "string"/> 
      <column    name = "var_cd_col3"     type = "string"/> 
     </columnInfo> 
  </fileFormat>

  <!--Data definition for Fixed Width format-->
  <fileFormat  name = "Example Fixed Width Space Delimited" comment = "#" 
               delimiter = ""  type = "fixed"> 
     <columnInfo> 
      <column    name = "fw_sd_col1"     type = "string" startpos = "1"  width = "13"/>
      <column    name = "fw_sd_col2"     type = "number" startpos = "14" width = "10"/>
      <column    name = "fw_sd_col3"     type = "date"   startpos = "25" width = "10"/>
    </columnInfo> 
 </fileFormat> 
</textPDS>

Table 14-13 outlines the various values that can be associated with a File Formats.

Table 14-13 File Format Attributes

Attribute NameDescription

name

A File Format name, this name appears in the Data Definition drop down list

Comment

A Comment character, this will be used in the DataSource.

Delimiter

A Column Delimiter. The Data Source file contains data in rows. Each row has fields or tokens corresponding to the Columns specified in the configuration file. Each field or token will be separated by a Column delimiter (See cellWrapper)

type

A File Format Type which can be either a fixed or variable. In case of variable file format, the column width is variable. In case of fixed file format, the column width is fixed and is specified using the attributes startpos and width for each column.

nullValue

This is a null value character.


Table 14-14 outlines the various values that can be associated with a Column.

Table 14-14 Column Attributes

Attribute NameDescription

name

This is the name of the Column Heading

type

This is the Column Data type. There are three data types that are supported:

  • String

  • Number

  • Date

cell Wrapper

This is an optional attribute. If specified, this character will override the File Format delimiter for the column for which it is specified.

pattern

This is an optional attribute. Currently it is used only for date fields. It specifies the pattern in which date field is to be expected.


PK=/(s@&;&PK0;wEOEBPS/pbr_xml.htm Customizing Reports with XML

22 Customizing Reports with XML

Extensible Markup Language (XML) is designed to improve the functionality of the Web by providing a method to promote detailed information identification. It is actually a metalanguage (a language used for describing other languages) and can be used to design customized markup languages for different type of documents.

XML documents are composed of both markup and content:

  • Elements are the building blocks of XML. An element instance is a structure that contains tags (a main tag and appropriate nested tags), attributes, and the element's content nested between the tags.

  • Tags are used to define the element and the content within it.

  • Attributes provide extra information for each tag.

XML customizations enable you to modify reports at runtime without changing the original report. With the addition of the CUSTOMIZE keyword to your runtime command line, you can call a customization file to add to or change a report's layout or data model. One XML customization file can perform all of these tasks or any combination of them. You can even use XML to build a report data model for inclusion in a custom JSP-based report.

By creating and applying different XML customizations, you can alter the report output on a per user or per user group basis. You can use the same report to generate different output depending upon the audience.

When you apply an XML customization to a report, you have the option of saving the combined definition to a file. As a result, you can use XML customizations to make batch updates to existing reports. You can quickly update a large number of reports without having to open each file in Oracle Reports Builder.

Oracle Reports Services extends the possible types of Oracle Reports XML customizations by enabling you to create an entire reports data model in XML. This includes the creation of multiple data sources, linking between data sources, and group hierarchies within each data source. Data model support through Oracle Reports XML customization means that any data model that can be created with Oracle Reports Builder can now be created by specifying XML. Additionally, all properties that can be set against data model objects can now be set using XML.

This chapter discusses the ways you can use XML to customize reports on the fly and to build data models. It includes the following sections:

This chapter lists and provides examples of the supported elements in the reports.dtd file. However, only some of the attributes of these elements are listed.

For more information, either on the additional attributes or on the Oracle Reports XML elements, tags, and attributes, refer to the following sources:

  • The reports.dtd file lists all the Oracle Reports XML elements, tags, and attributes and, where present, the attributes' default values. The reports.dtd file is located in ORACLE_HOME\reports\dtd\ on both Windows and UNIX platforms. Many of the sub-elements include symbols that denote usage rules. For example:

    • A plus sign (+) means you can have one or more of this type of element in your XML file.

    • An asterisk (*) means you can have from zero to many of this type of element in your XML file.

    • A question mark (?) means you can have either zero or one of this type of element in your XML file.

    • No mark means the element is required, and you can have one and only one of this type of element in your XML file.

    If multiple sub-elements are enclosed in parentheses and followed by a symbol, the symbol applies to all enclosed sub-elements.

  • For descriptions of selected Oracle Reports XML tags, see topic "Oracle Reports XML tags" in the Reference section of the Oracle Reports online Help.

  • Build a report that includes the type of customization you are trying to build, save the report as XML, and view the saved file in a text editor. This provides an excellent means of seeing Oracle Reports XML in action and provides you with examples of the more complex models you may wish to build.


    Note:

    For reports developed in a release prior to Oracle Reports 10g Release 2 (10.1.2) patch 2, you may find the PL/SQL package specification or body is missing when opening the XML reports. In this case, either:

    • If the RDF exists, regenerate the XML output file using Oracle Reports 10g Release 2 (10.1.2) patch 2 or later.

    • Or, edit the XML to add type="packageSpec" and/or type="packageBody" in the function element, as follows:

      <programUnits>
        <function name="a" type="packageSpec">
          <textSource>
            <![CDATA[PACKAGE a IS
                function lire return date ;
              END a;]]>
          </textSource>
        </function>
        <function name="a" type="packageBody">
          <textSource>
            <![CDATA[PACKAGE BODY a IS
                function lire return date is
                  c2 date;
                ...
              END;]]>
          </textSource>
        </function>
        <function name="cf_1formula" returnType="date">
          ...
        </function>
      </programUnits>
      

PKCPK0;wEOEBPS/part5.htm: Globalization Support and Bidirectional Support

Part V

Globalization Support and Bidirectional Support

Part V provides information about Reports-related globalization support settings and bidirectional support:

PKy?:PK0;wEOEBPS/part2.htmx Administering Oracle Reports Services

Part II

Administering Oracle Reports Services

Part II provides information about administering Oracle Reports Services:

PKe}xPK0;wEOEBPS/pbr_adminem015.htmT About the Oracle Fusion Middleware System MBean Browser

7.16 About the Oracle Fusion Middleware System MBean Browser

The Oracle Fusion Middleware System MBean Browser is a part of Oracle Fusion Middleware Control, and it is used to update configuration settings for middle tier components.

This section contains the following topics:

7.16.1 When should I use the Oracle Fusion Middleware System MBean Browser?

You use the System MBean Browser to enter or modify Oracle Reports configuration settings that are not available in Fusion Middleware Control Oracle Reports pages.


Note:

You should not use the System MBean Browser unless you are an advanced middle tier administrator.


7.16.2 About Reports Configuration MBeans

Configuration MBeans are defined for each of the Oracle Reports configuration files. Table 7-3 lists the configuration MBeans for Oracle Reports.

Table 7-3 Reports Configuration MBeans

Configuration MBeansAssociated Configuration File

ServerConfigMXBean

rwserver.conf/rwbuilder.conf

JDBCPDSConfigMXBean

jdbcpds.conf

DiscoveryServiceConfigMXBean

rwnetwork.conf

TextPDSConfigMXBean

textpds.conf

XMLPDSConfigMXBean

xmlpds.conf

CgicmdConfigMXBean

cgicmd.dat

RWServletConfigMXBean

rwservlet.properties

BridgeConfigMXBean

rwbridge.conf

ScreenprinterConfigMXBean

screenprinter.ppd



Note:

All Reports environment variables that are set in the registry are not exposed using MBeans. However, if they are specified in the server configuration file ENVID, the environment variables are exposed by ReportsServerConfigMXBean. Similarly, all environment variables used in server start/stop shell scripts are not exposed using MBeans.


PKEcYTPK0;wEOEBPS/pbr_tune007.htmG General Layout Guidelines

24.7 General Layout Guidelines

This section outlines guidelines that you can follow when designing your report's layout to improve performance:

24.7.1 Fetching Ahead

Oracle Reports enables you to display data such as total number of pages or grand totals, in the report margins or on the report header pages. This option, although useful, forces the entire report to be "fetched ahead". Fetching-ahead requires the entire report to be processed before the first page can be output. The usual model is to format pages as and when required.

Although the fetched-ahead functionality does not affect the overall time the report takes to generate, it affects the amount of temporary storage required and the time taken before the first page can be viewed. This is an example of perceived performance as opposed to actual performance. If the report is to be output to the screen in a production environment, fetching ahead should be avoided unless the performance variance is deemed acceptable.

24.7.2 Bursting and Distribution

With report bursting, a report layout can be made up of three distinct sections: header, body, and trailer. A report can comprise all three sections, or it can be viewed as three separate reports within one report. Oracle Reports enables you to control bursting at group record level offering a further level of granularity. This is made possible by the Distribution and Repeat On properties for each individual section. The performance gain is evident when bursting is used in conjunction with distribution, allowing each section of a report to have multiple formats and sent to multiple destinations. Once the distribution options has been set the report needs only to be run once, to be output to multiple destinations with a single execution of the query(s). Previously the report had to be executed multiple times.

When you implement bursting and distribution in a report, you can generate section-level distribution by setting the Repeat On property for a section to a data model break group, which generates an instance of the section for each column record of that break group. Then, you can distribute each instance of the section as appropriate (for example, to individual managers in the MANAGER group).

If you set the Repeat On property for more than one of the Header, Main, and Trailer sections of a report, all Repeat On property values must be set to the same data model break group. If the Repeat On property for any one of the Header, Main, and Trailer sections is set to a different data model break group, Oracle Reports raises any of the following messages:

REP-0069: Internal Error
REP-57054: In-Process job terminated: Terminated with error
REP-594: No report output generated
PKDUhPK0;wEOEBPS/pbr_adminem001.htm\ What's New In This Release?

7.1 What's New In This Release?

Oracle Reports 11g Release 1 (11.1.1) provides significant enhancements to Oracle Enterprise Manager, including pages to administer and configure Oracle Reports Services through the Oracle Enterprise Manager user interface, rather than by editing configuration files, as summarized in Table 7-1 (a subset of Table 1-1, "11g Functionality vs. 10g Functionality"):

Table 7-1 11g Oracle Enterprise Manager Features vs. 10g Functionality

11g New FeaturesEquivalent 10g Functionality

Monitoring and Management


New rich and customizable Oracle Enterprise Manager user interface, providing:

  • Navigation pane showing hierarchical view of complete Farm and all components.

  • New pages for Oracle Reports to perform comprehensive administration, management, configuration, tuning, and diagnostics of complete reporting environment.

  • Large number of metrics for monitoring and tuning.

  • Administration dashboard for instant access to start, stop, restart, grouping, servlet, plug-in registration, and more.

  • Significant reduction of configuration parameters, and categorization.

  • Extensive real-time and historical performance metrics.

  • Reports Server auditing.

  • Oracle Internet Directory reassociation

  • Portal metadata repository and association.

  • Direct access to documentation and collateral from Oracle Enterprise Manager.

Enterprise Manager Application Server (AS) Control and manually editing configuration files.

New trend graphs, key statistics. Anticipation of common problems with early symptoms.

N/A

Job Administration and Scheduling

For more information, see Section 7.7, "Administering and Scheduling Jobs".


Advanced job queue administration. Comprehensive job queue management user interface in Oracle Enterprise Manager (search and filters, resubmit the job, view errors, and more).

Basic job queue user interface.

Rich calendar-based scheduling user interface. Comprehensive Reports Server job scheduling in Oracle Enterprise Manager.

Reports job scheduling done through Oracle Reports Queue Manager (rwrqm), Oracle Portal user interface, or command line only.

Security

For more information, see Section 7.8, "Securing Oracle Reports Services".


Oracle Enterprise Manager advanced user interface. Administrators can use Oracle Enterprise Manager to more easily define and manage granular security policies for reports, Web commands, and folder access.

Basic UI in OracleAS Portal for defining the policies. Hard-coded Web command access to the Oracle Reports seeded roles. Access policies at file (report) level only, not folder level.


PK’-3PK0;wEOEBPS/pbr_rfap.htm i Environment Variables

B Environment Variables

Environment variables are parameters that configure the Oracle Reports environment. The Oracle Fusion Middleware installer automatically defines default values for relevant environment variables. Edit the environment variable settings to change the default behavior:

  • On Windows, edit the environment variables through the Registry Editor (Start > Run > Regedit).

  • On UNIX, edit the environment variables by revising and running the shell script that defines the initial default values (reports.sh). If you do this, keep a backup of the original, unaltered reports.sh file.


    Note:

    The reports.sh file in Oracle Reports 11g Release 1 (11.1.1) may contain some required changes for the release. Thus, if you have made any changes to the reports.sh file in prior releases, save a backup before you perform your upgrade. Post-upgrade, merge your modifications with the reports.sh file installed with Oracle Reports 11g Release 1 (11.1.1).


If you set any environment variable in the INSTANCE_HOME/config/reports/bin/reports.sh file (for UNIX) or in the registry file (for Windows), all the Reports Servers present in that Instance Home are affected.

If you want to set the environment variable only for a particular server, you must set the environment variable in the <environment> element in the opmn.xml file of that particular server.

To set the environment variable for an In-process server, you must modify the settings in the setDomainEnv.sh file located at $DOMAIN_HOME/bin.

PKzIQ PK0;wEOEBPS/pbr_sec_arch012.htmd% Database Proxy Authentication

15.12 Database Proxy Authentication

Oracle Reports11g Release 1 (11.1.1) provides support for database authentication using proxy users:

  • Additional security through control of users that are allowed to connect to the database through Oracle Reports.

  • Scalability, through reuse of a single database connection.

You can use the pre-11g security mechanism of Oracle Internet Directory integration for authentication without using Oracle Platform Security Services in either of the following ways:

15.12.1 Using Oracle Enterprise Manager

In Oracle Enterprise Manager, select Reports > Administration > Manage Reports Security Policies to display the Reports Security Policies page.

15.12.2 Using DAS and Editing the Server Configuration File

Step 1. Using Delegated Administration Service (DAS)

To define a user in Oracle Internet Directory:

  1. Determine the configuration values of Oracle Internet Directory for application identity store. For example:

    host:port: stbpo44.oracle.com:3060
    user name: cn=orcladmin
    password: welcome1
    
  2. Use the DAS URL if you want to add new users or use the existing users on Oracle Internet Directory. For example

    http://stbpo44.oracle.com:7788/oiddas
    

Step 2. Configure the standalone Report Server to use the RWSecurity to enable the non-Oracle Platform Security Services way of using Oracle Internet Directory (as in 10g Release 2 (10.1.2)).

  1. Navigate to the Reports Server component.

  2. Check out rwserver.conf.

  3. Enable the RWSecurity element.

  4. Make sure that the security id for the job element reflects the security id of the RWSecurity element.

  5. Save rwserver.conf.

  6. Add the following line in rwservlet.properties:

    <singlesignon>no</singlesignon>
    
  7. Restart the Reports Server component (see Chapter 6, "Starting and Stopping Oracle Reports Services").

  8. Test authentication using the following URL:

    http://host:port/reports/rwservlet/showjobs?server=reports_server_name
    

15.12.3 Configuring Proxy User Authentication in the Database

You can configure proxy user authentication in the database as follows:

  1. Create a proxy user in the database. All clients connecting to the middle tier share this user connection.

  2. Run the following:

    CREATE USER proxy_user1 IDENTIFIED BY welcome1;

  3. Assign the following minimum privileges to proxy_user1:

    GRANT CONNECT, RESOURCE, CREATE ANY DIRECTORY, DROP ANY DIRECTORY TO proxy_user1

    The actual user already exists in the database.

  4. Log in as the actual user, and assign privileges to the proxy user to connect to the database on behalf of the actual user.

    1. ALTER USER scott GRANT CONNECT THROUGH proxy_user1;

    2. Or you can define the roles that the proxy user can connect to the database as.

    3. ALTER USER scott GRANT CONNECT THROUGH proxy_user WITH ROLE admin;

    4. Repeat Step A or Step C for all actual database users.

The proxy user with minimum privileges is created. However, this proxy user can connect as the actual user with the assigned role. The middle tier can connect to the database as the proxy user first, and then connect as an actual user through the proxy user account.

15.12.4 Obtaining Proxy Access Information

You can configure a new resource in Oracle Internet Directory in the user RAD or default RAD. You can use this key to obtain proxy access information, including user name, password , and database information from Oracle Internet Directory. This information allows you to connect to the database.To create a key in the default RAD, complete the following steps:

  1. Log in to the Oracle Internet Directory configuration page (http://oidhost:port/oiddas).

  2. Click the Configuration tab.

  3. Click Preferences.

  4. In the Preferences page, create a new Resource of type OracleDB under Default Resource Access Information, as shown in the Figure 15-5.

    Figure 15-5 Oracle Internet Directory Configuration

    Description of Figure 15-5 follows

  5. When creating the resource, in the Resource Access Information section, enter the database proxy user name, database proxy password, and the database value in the respective fields.

    A new key is created, and you can pass this key as a value for the dbproxyConn parameter. The number of proxy user connections and their access levels are set by the database administrator.

15.12.5 Configuration Settings in Reports Configuration Files

To use the database proxy feature, you must add and modify configuration settings in the Reports configuration files.

15.12.5.1 rwserver.conf

In the rwserver.conf file, the dbproxy key is set as follows:

<dbProxyConnKeys> 
      <dbProxyKey name="key1" database="db1"/> 
      <dbProxyKey name="key2" database="db2"/> 
 </dbProxyConnKeys>

This configuration is optional. The dbproxy key is taken from the rwserver.conf file if the dbproxyConn parameter is not passed on the command line. The dbproxykey is obtained from this configuration, based on the database that you specified in the userid command-line parameter.

15.12.5.2 rwservlet.properties

To use the database proxy feature through rwservlet, edit the enabledbproxy setting in the rwservlet.properties file as follows:

<enabledbproxy>yes</enabledbproxy>

By default, enabledbproxy is set to no. For rwclient, this configuration setting is not required.

PKѼi%d%PK0;wEOEBPS/pbr_evnt001.htmAO The Event-Driven Publishing API

21.1 The Event-Driven Publishing API

The Event-Driven Publishing API is a PL/SQL package that provides the basic functions required for the development of procedures that respond to events in the database. Event-driven jobs are submitted using the HTTP protocol. The server assigns a unique job_ident record to every call, useful for tracking the status of the job.

21.1.1 Elements of the API

The API consists of several key elements:

  • The SRW Package contains all relevant functions and procedures for submitting jobs, checking job status, and cancelling jobs, as well as manipulating parameter lists.

  • The SRW_ParamList defines a parameter list. A parameter list is the main vehicle for passing values when submitting a job. A parameter list is required for each job submission. It must contain several key parameters.

  • The SRW_ParamList_Object is required for such features as Advanced Queuing, where a parameter list must be stored in the database so that it may be passed along with a message.

These API elements are discussed in more detail in the following sections.

The API is installed together with Oracle Reports Services Security and Oracle Portal, but neither is required. Installation scripts are also available separately should you want to install the API into a database that does not also hold Oracle Portal:

  • srwAPIins.sql installs the Event-Driven Publishing API.

  • srwAPIgrant.sql grants access privileges to the API. Run this script for each user to whom you will grant access to the API. If everyone may have access, you can run this once and grant access to PUBLIC.

  • srwAPIdrop.sql removes the API.

21.1.2 Creating and Manipulating a Parameter List

A parameter list is a PL/SQL variable of type SRW_PARAMLIST. A variable of this type is an array of 255 elements of type SRW_PARAMETER, which itself consists of two attributes: NAME and VALUE. The API provides procedures for manipulating parameter lists, including:

21.1.2.1 Add_Parameter

Whenever you use a parameter list for the first time, it must be initialized before you can add parameters to it. For example:

DECLARE
myPlist SRW_PARAMLIST;
BEGIN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'myParameter','myValue');
END;

Both attributes of a parameter (NAME and VALUE) are of type VARCHAR2 and may not exceed a length of 80 characters for the NAME and 255 characters for the value.

The ADD_PARAMETER function has a fourth—optional—attribute, called MODE. MODE determines whether a parameter will be overwritten or an error raised in the event that a parameter with the same name already exists. To specify that an error will be raised in the event of duplicate names, use the constant CHECK_FOR_EXISTANCE. This is the default value for the MODE attribute. To specify that a parameter will be overwritten in the event of duplicate names, use the constant OVERWRITE_IF_EXISTS.

21.1.2.2 Remove_Parameter

Use REMOVE_PARAMETER to remove a parameter from a parameter list. Call the procedure, and pass the parameter list from which you want to remove a parameter along with the name of the parameter you want to remove.

For example:

DECLARE
myPlist SRW_PARAMLIST;
BEGIN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'myParameter','myValue');
srw.remove_parameter(myPlist,'myParameter');
END;

21.1.2.3 Clear_Parameter_List

To remove ALL parameters from your list, use CLEAR_PARAMETER_LIST. For example:

DECLARE
myPlist SRW_PARAMLIST;
BEGIN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'myParameter','myValue');
srw.clear_parameter_list(myPlist);
END;

This will remove all parameters from your list.

21.1.3 Including non-ASCII Characters in Parameter Names and Values

To use non-ASCII characters in user parameter names and values when using the Event-Driven Publishing API, you must include in your parameter list a parameter called DEFAULTCHARSET, with its value set to a valid character set name. This character set name can be specified with either the database's NLS_CHARACTERSET (for example, JA16SJIS) or IANA-defined character set name (for example, WINDOWS-31J). You must also ensure that the value of the DEFAULTCHARSET parameter matches the defaultcharset parameter specified in the rwservlet.properties file. Oracle Reports Services encodes non-ASCII user parameter names and values using the character set specified by DEFAULTCHARSET, allowing you to use the Event-Driven Publishing API for reports with non-ASCII characters in parameter names and values.


Note:

If you do not add a parameter called DEFAULTCHARSET to your parameter list, Oracle Reports Services encodes your user parameter names and values using the database's
NLS_CHARACTERSET
.


21.1.4 Submitting a Job

A parameter list contains all vital parameters for submitting a job. The job type determines which parameters are required on the list to enable the Reports Server to process the request.

The listed parameters are the same ones that you must specify when you submit a job from a browser to Oracle Reports Servlet (rwservlet). In such a case, if the job is a report you will need at least the following parameters but may have more:

  • GATEWAY provides the URL to Oracle Reports Servlet (rwservlet) you will use to process the request.

  • SERVER identifies the Reports Server to be used in conjunction with Oracle Reports Servlet (rwservlet).

  • REPORT identifies the report file to be run.

  • USERID identifies the name and user ID of the person running the report.

  • AUTHID provides authorization information in the event you are running against a secured server.

Each request returns a job_ident record that holds the information required to identify the job uniquely. This information is stored in variable of type SRW.JOB_IDENT. Be aware that this is a PACKAGE-TYPE and must be referenced SRW.JOB_IDENT; while the parameter list is an OBJECT-TYPE and must be referenced SRW_PARAMLIST.

For example:

DECLARE
myPlist SRW_PARAMLIST;
myIdent SRW.Job_Ident;
 BEGIN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'GATEWAY','http://…');
srw.add_parameter(myPlist,'SERVER','mySVR');
srw.add_parameter(myPlist,'REPORT','myReport.RDF');
srw.add_parameter(myPlist,'USERID','me/secret');
myIdent := srw.run_report(myPlist);
END;

The API method RUN_REPORT takes a parameter list that contains all vital information as input (through ADD_PARAMETER), creates and submits the request, and returns the job_ident record.

The job_ident record contains the following parameters:

  • MyIdent.GatewayURL

  • MyIdent.ServerName

  • MyIdent.JobID

  • MyIdent.AuthID

These parameters are needed by the SRW.REPORT_STATUS function to get status information for a submitted job.

21.1.5 Checking for Status

The Event-Driven Publishing API provides a two-way communication with the Reports Server. You submit a job to the server, and you can query the status of this job from the server using the SRW.REPORT_STATUS function.

This function will return a record of type SRW.STATUS_RECORD that holds the same information you would see in the job status display if you were using the executing the rwservlet Web command showjobs.

For example:

DECLARE
myPlist SRW_PARAMLIST;
myIdent SRW.Job_Ident;
myStatus SRW.Status_Record;
BEGIN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
srw.add_parameter(myPlist,'GATEWAY','http://…');
srw.add_parameter(myPlist,'SERVER','mySVR');
srw.add_parameter(myPlist,'REPORT','MyReport.RDF');
srw.add_parameter(myPlist,'USERID','me/secret');
myIdent := srw.run_report(myPlist);
myStatus := srw.report_status(myIdent);
END;

You can use the returned status record for fetching information about the status of your job.

21.1.6 Using the Servers' Status Record

The status record contains processing information about your job. It contains the same information found in the server queue (showjobs). Additionally, it contains information about the files produced for finished jobs and the lineage for scheduled jobs.

The most important information in the status record is the current job status and the status text, used in turn to check for runtime errors and their causes.

You can use timing information to determine if a job is subject to cancellation because it has exceeded its predicted time for completion.

One way to use the status record is to cancel a job. The Event-Driven Publishing API offers a method for cancelling a job that has been submitted to the server. This might be handy if you want to remove a job that has exceeded its allowed time to run or if you simply have scheduled jobs you want to cancel.

To cancel a job, use the following procedure:

DECLARE
myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;
myStatus SRW.STATUS_RECORD;
BEGIN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','mySVR');
SRW.ADD_PARAMETER(myPlist,'REPORT','myReport.RDF');
SRW.ADD_PARAMETER(myPlist,'USERID','me/secret');
myIdent := SRW.RUN_REPORT(myPlist);
myStatus := SRW.REPORT_STATUS(myIdent);
if myStatus.StatusCode != srw.RUNNING then 
SRW.CANCEL_REPORT(myIdent);
END;

As evident in this example, you cancel a report by calling the CANCEL_REPORT procedure (SRW.CANCEL_REPORT) and passing it the job_ident record of the job you want to cancel. The procedure takes an optional parameter list to enable you to pass any additional parameters you might need.

PKwzAAPK0;wEOEBPS/pbr_adminem002.htm Configuring Reports Server for Oracle Enterprise Manager

7.2 Configuring Reports Server for Oracle Enterprise Manager

Reports Server is automatically registered with Oracle Enterprise Manager during installation of Oracle Fusion Middleware.

If you add any Reports Servers or other Oracle Reports components after installing Oracle Fusion Middleware, do the following:

  1. Restart the WLS_REPORTS managed server by stopping it and and start it again. This is necessary for completing registration of the new Reports Server configuration MBeans.

  2. Refresh the Oracle Enterprise Manager page to make the new Oracle Reports components available in Oracle Enterprise Manager.

PKߍ}?PK0;wEOEBPS/pbr_sso.htm T Configuring and Administering OracleAS Single Sign-On

17 Configuring and Administering OracleAS Single Sign-On

Oracle Application Server Single Sign-On (OracleAS Single Sign-On) enables you to establish a unique identity for each user, and tie that identity to the resources and data sources unique to that user. For example, a user might log in to an environment such as Oracle Portal, which enables them to access certain reports and printers for which they have the necessary privileges. When they choose to run a report from this environment, they can access the necessary data sources for the report because their data source credentials are stored with the single user identity used to login to Oracle Portal. Thus, logging in once provides them access to all of the resources and data sources they require to run their reports.

Because Oracle Reports Services provides a flexible approach to security, you can implement many variations of this configuration. For example, you might choose not to store data source credentials with the single user identity. Or you might prefer to use direct URLs for launching reports rather than a platform like Oracle Portal. If your reports are public and do not require any security, then you might choose to turn off report security altogether.

This chapter describes how you can implement and administer various configurations of OracleAS Single Sign-On with Oracle Reports Services.

PK00 PK0;wE OEBPS/toc.ncx b Oracle® Fusion Middleware Publishing Reports to the Web with Oracle Reports Services, 11g Release 1 (11.1.1) Cover Title and Copyright Information Contents List of Examples List of Figures List of Tables Preface Part I Getting Started 1 Introduction 2 Understanding the Oracle Reports Services Architecture 3 Verifying Your Installation 4 Upgrading Oracle Reports 5 Interoperability Scenarios and Considerations 6 Starting and Stopping Oracle Reports Services Part II Administering Oracle Reports Services 7 Administering Oracle Reports Services Using Oracle Enterprise Manager 8 Configuring Oracle Reports Services Part III Managing Runtime Behavior 9 Managing Fonts in Oracle Reports 10 Printing on UNIX with Oracle Reports 11 Using PDF in Oracle Reports 12 Font Model and Cross-Platform Deployment 13 Configuring Destinations for Oracle Reports Services 14 Configuring and Using the Pluggable Data sources 15 Securing Oracle Reports Services 16 Deploying Reports in Oracle Portal 17 Configuring and Administering OracleAS Single Sign-On Part IV Sending Requests to the Server 18 Running Report Requests 19 Using the Oracle Reports Web Service 20 Creating Advanced Distributions 21 Using Event-Driven Publishing 22 Customizing Reports with XML Part V Globalization Support and Bidirectional Support 23 Implementing Globalization and Bidirectional Support Part VI Performance 24   Diagnosing and Tuning Oracle Reports Part VII Appendixes A Command-Line Keywords B Environment Variables C Batch Registering Reports in Oracle Portal D Troubleshooting Oracle Reports Services E Reports Server and Bridge Diagnostic Utility Glossary Index Copyright PKDZ PK0;wEOEBPS/pbr_xml004.htm%Mڲ Using XML Files at Runtime

22.4 Using XML Files at Runtime

Once you have created your Oracle Reports XML customization file, you can use it in the following ways:

The following sections describe each of the cases in more detail and provide examples.

22.4.1 Applying an XML Report Definition at Runtime

To apply an XML report definition to an RDF or XML file at runtime, you can use the CUSTOMIZE command line keyword or the SRW.APPLY_DEFINITION built-in procedure. CUSTOMIZE can be used with rwclient, rwrun, rwbuilder, rwconverter, and URL report requests.


Note:

Refer to Section 22.4.3, "Performing Batch Modifications" for more information about using CUSTOMIZE with rwconverter.


22.4.1.1 Applying One XML Report Definition

The following command line sends a job request to Oracle Reports Services and applies an XML report definition, emp.xml, to an RDF file, emp.rdf. In this example, the CUSTOMIZE keyword refers to a file located in a Windows directory path. For UNIX, specify the path according to UNIX standards (that is, myreports/emp.xml).

rwclient REPORT=emp.rdf CUSTOMIZE=\myreports\emp.xml
  USERID=username/password@my_db DESTYPE=file DESNAME=emp.pdf
  DESFORMAT=PDF SERVER=server_name

When you use rwrun, the Reports Runtime command, the equivalent command line would be:

rwrun USERID=username/password@my_db REPORT=emp.rdf
   CUSTOMIZE=\myreports\emp.xml DESTYPE=file DESNAME=emp.pdf
   DESFORMAT=PDF

22.4.1.2 Applying Multiple XML Report Definitions

You can apply multiple XML report definitions to a report at runtime by providing a list with the CUSTOMIZE command line keyword. The following command line sends a job request to Oracle Reports Services that applies two XML report definitions, EMP0.XML and EMP1.XML, to an RDF file, EMP.RDF:

rwclient REPORT=emp.rdf 
  CUSTOMIZE="(d:\corp\myreports\emp0.xml,d:\corp\myreports\emp1.xml)"
  USERID=username/password@my_db DESTYPE=file DESNAME=emp.pdf
  DESFORMAT=PDF SERVER=server_name

Note:

In this example, the CUSTOMIZE value demonstrates a directory path to files stored on a Windows platform. For UNIX, use that platform's standard for specifying directory paths (that is, forward slashes instead of backward).


If you were using Reports Runtime, then the equivalent command line would be:

rwrun REPORT=emp.rdf 
  CUSTOMIZE="(D:\CORP\MYREPOORTS\EMP0.XML,D:\CORP\MYREPORTS\EMP1.XML)"
  USERID=username/password@my_db DESTYPE=file DESNAME=emp.pdf
  DESFORMAT=PDF

22.4.1.3 Applying an XML Report Definition in PL/SQL

To apply an XML report definition to an RDF file in PL/SQL, use the SRW.APPLY_DEFINITION and SRW.ADD_DEFINITION built-in procedures in the Before Parameter Form or After Parameter Form trigger. The following sections provide examples of these built-in procedures.


Note:

For a description of the SRW built-in package, including the SRW.APPLY_DEFINITION and SRW.ADD_DEFINITION built-in procedures, and more information about report triggers, see the Oracle Reports online Help.


22.4.1.3.1 Applying an XML Definition Stored in a File

To apply XML that is stored in the file system to a report, use the SRW.APPLY_DEFINITION built-in procedure in the Before Parameter Form or After Parameter Form triggers of the report.

On Windows:

SRW.APPLY_DEFINITION ('%ORACLE_HOME%\TOOLS\DOC\US\RBBR\COND.XML');

On UNIX:

SRW.APPLY_DEFINITION ('$ORACLE_HOME/TOOLS/DOC/US/RBBR/COND.XML');

When the report is run, the trigger executes and the specified XML file is applied to the report.

22.4.1.3.2 Applying an XML Definition Stored in Memory

To create an XML report definition in memory, you must add the definition to the document buffer using SRW.ADD_DEFINITION before applying it using the SRW.APPLY_DEFINITION built-in procedure.

The following example illustrates how to build up and apply several definitions in memory based upon parameter values entered by the user. The PL/SQL in this example is used in the After Parameter Form trigger of a report called videosales_custom.rdf.

The videosales_custom.rdf file contains PL/SQL in its After Parameter Form trigger that does the following:

  • Conditionally highlights fields based upon parameter values entered by the user at runtime.

  • Changes number format masks based upon parameter values entered by the user at runtime.

The following tips are useful when looking at this example:

  • Each time you use the SRW.APPLY_DEFINITION built-in procedure, the document buffer is flushed and you must begin building a new XML report definition with SRW.ADD_DEFINITION.

  • Notice the use of the parameters hilite_profits, hilite_costs, hilite_sales, and money_format to determine what to include in the XML report definition. The hilite_profits, hilite_costs, and hilite_sales parameters are also used in the formatting exceptions to determine which values to highlight.

  • Because of the upper limit on the size of VARCHAR2 columns (4000 bytes), you might need to spread very large XML report definitions across several columns. If so, then you might have to create several definitions in memory and apply them separately rather than creating one large definition and applying it once.

function AfterPForm return boolean is
begin
  SRW.ADD_DEFINITION('<report name="vidsales_masks"
  author="Generated" DTDVersion="9.0.2.0.0">');
  IF :MONEY_FORMAT='$NNNN.00' THEN 
    SRW.ADD_DEFINITION('<layout>');
    SRW.ADD_DEFINITION('<section name="main">');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_PROFIT" source="TOTAL_PROFIT"
      formatMask="LNNNNNNNNNNN0D00"/>');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_SALES" source="TOTAL_SALES"
      formatMask="LNNNNNNNNNNN0D00"/>');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_COST" source="TOTAL_COST"
      formatMask="LNNNNNNNNNNN0D00"/>');
    SRW.ADD_DEFINITION('<field name="F_SumTOTAL_PROFITPerCITY" 
      source="SumTOTAL_PROFITPerCITY" formatMask="LNNNNNNNNNNN0D00"/>');
    SRW.ADD_DEFINITION('<field name="F_SumTOTAL_SALESPerCITY" 
      source="SumTOTAL_SALESPerCITY" formatMask="LNNNNNNNNNNN0D00"/>');
    SRW.ADD_DEFINITION('<field name="F_SumTOTAL_COSTPerCITY" 
      source="SumTOTAL_COSTPerCITY" formatMask="LNNNNNNNNNNN0D00"/>');
    SRW.ADD_DEFINITION('</section>');
    SRW.ADD_DEFINITION('</layout>');
  ELSIF :MONEY_FORMAT='$NNNN' THEN 
    SRW.ADD_DEFINITION('<layout>');
    SRW.ADD_DEFINITION('<section name="main">');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_PROFIT" source="TOTAL_PROFIT" 
      formatMask="LNNNNNNNNNNN0"/>');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_SALES" source="TOTAL_SALES" 
      formatMask="LNNNNNNNNNNN0"/>');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_COST" source="TOTAL_COST" 
      formatMask="LNNNNNNNNNNN0"/>');
    SRW.ADD_DEFINITION('<field name="F_SumTOTAL_PROFITPerCITY" 
      source="SumTOTAL_PROFITPerCITY" formatMask="LNNNNNNNNNNN0"/>');
    SRW.ADD_DEFINITION('<field name="F_SumTOTAL_SALESPerCITY" 
      source="SumTOTAL_SALESPerCITY" formatMask="LNNNNNNNNNNN0"/>');
    SRW.ADD_DEFINITION('<field name="F_SumTOTAL_COSTPerCITY" 
      source="SumTOTAL_COSTPerCITY" formatMask="LNNNNNNNNNNN0"/>');
    SRW.ADD_DEFINITION('</section>');
    SRW.ADD_DEFINITION('</layout>');
  END IF;
  SRW.ADD_DEFINITION('</report>');
  SRW.APPLY_DEFINITION;
  SRW.ADD_DEFINITION('<report name="vidsales_hilite_costs" author="Generated" 
    DTDVersion="9.0.2.0.0">');
  IF :HILITE_COSTS <> 'None' THEN 
    SRW.ADD_DEFINITION('<layout>');
    SRW.ADD_DEFINITION('<section name="main">');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_COST" source="TOTAL_COST">');
    SRW.ADD_DEFINITION('<exception textColor="red">');
    SRW.ADD_DEFINITION('<condition source="TOTAL_COST" operator="gt" 
      operand1=":hilite_costs"/>');
    SRW.ADD_DEFINITION('</exception>');
    SRW.ADD_DEFINITION('</field>');
    SRW.ADD_DEFINITION('</section>');
    SRW.ADD_DEFINITION('</layout>');
  END IF;
  SRW.ADD_DEFINITION('</report>');
  SRW.APPLY_DEFINITION;
  SRW.ADD_DEFINITION('<report name="vidsales_hilite_sales" author="Generated" 
    DTDVersion="9.0.2.0.0">');
  IF :HILITE_SALES <> 'None' THEN 
    SRW.ADD_DEFINITION('<layout>');
    SRW.ADD_DEFINITION('<section name="main">');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_SALES" source="TOTAL_SALES">');
    SRW.ADD_DEFINITION('<exception textColor="red">');
    SRW.ADD_DEFINITION('<condition source="TOTAL_SALES" operator="gt" 
      operand1=":hilite_sales"/>');
    SRW.ADD_DEFINITION('</exception>');
    SRW.ADD_DEFINITION('</field>');
    SRW.ADD_DEFINITION('</section>');
    SRW.ADD_DEFINITION('</layout>');
  END IF;
  SRW.ADD_DEFINITION('</report>');
  SRW.APPLY_DEFINITION;
  SRW.ADD_DEFINITION('<report name="vidsales_hilite_profits" author="Generated" 
    DTDVersion="9.0.2.0.0">');
  IF :HILITE_PROFITS <> 'None' THEN 
    SRW.ADD_DEFINITION('<layout>');
    SRW.ADD_DEFINITION('<section name="main">');
    SRW.ADD_DEFINITION('<field name="F_TOTAL_PROFIT" source="TOTAL_PROFIT">');
    SRW.ADD_DEFINITION('<exception textColor="red">');
    SRW.ADD_DEFINITION('<condition source="TOTAL_PROFIT" operator="gt" 
      operand1=":hilite_profits"/>');
    SRW.ADD_DEFINITION('</exception>');
    SRW.ADD_DEFINITION('</field>');
    SRW.ADD_DEFINITION('</section>');
    SRW.ADD_DEFINITION('</layout>');
  END IF;
  SRW.ADD_DEFINITION('</report>');
  SRW.APPLY_DEFINITION;
  return (TRUE);
end;

22.4.2 Running an XML Report Definition by Itself

To run an XML report definition by itself, you send a request with an XML file specified in the REPORT (or MODULE) option. The following command line sends a job request to Oracle Reports Services to run a report, emp.xml, by itself:

rwclient USERID=username/password@my_db
  REPORT=c:\corp\myreports\emp.xml
  DESTYPE=file desname=emp.pdf DESFORMAT=pdf
  SERVER=server_name

When you use rwrun, the Reports Runtime command, the equivalent command line would be:

rwrun USERID=username/password@my_db
  REPORT=c:\corp\myreports\emp.xml
  DESTYPE=file DESNAME=emp.pdf DESFORMAT=PDF

When you run an XML report definition in this way, you must specify an XML file extension. You could also apply an XML customization file to this report using the CUSTOMIZE command line keyword.

22.4.3 Performing Batch Modifications

If you have a large number of reports that has to be updated, you can use the CUSTOMIZE command line keyword with rwconverter to perform modifications in batch. Batch modifications are particularly useful when you must make a repetitive change to a large number of reports (for example, changing a field's format mask). Rather than opening each report and manually making the change in Oracle Reports Builder, you can run rwconverter once and make the same change to a large number of reports at once.


Note:

The rwconverter.bat file uses the start keyword to start the rwconverter process. If the start keyword is specified, then the process starts in asynchronous mode. The spawned rwconverter continues execution until completion. For using batch conversion of a large number of rdfs, all the processes start simultaneously. Therefore, it is recommended that you modify the rwconverter.bat file manually to remove the start keyword for running rwconverter in batch mode.


The following example applies two XML report definitions, translate.xml and customize.xml, to three RDF files, inven1.rdf, inven2.rdf, and manu.rdf, and saves the revised definitions to new files, inven1_new.rdf, inven2_new.rdf, and manu_new.rdf.

rwconverter username/password@my_db
  STYPE=rdffile SOURCE="(inven1.rdf, inven2.rdf, manu.rdf)" 
  DTYPE=rdffile DEST="(inven1_new.rdf, inven2_new.rdf, manu_new.rdf)" 
  CUSTOMIZE="(d:\apps\trans\translate.xml,d:\apps\custom\customize.xml)"
  BATCH=yes

Note:

In this example, the CUSTOMIZE value demonstrates a directory path to files stored on a Windows platform. For UNIX, use that platform's standard for specifying directory paths (that is, forward slashes instead of backward).


PK2ڗ*M%MPK0;wEOEBPS/pbr_trouble008.htm%# Diagnosing Oracle Reports Bridge Problems

D.8 Diagnosing Oracle Reports Bridge Problems

Issues in communication across subnets while using the built-in broadcast mechanism may be related to the Oracle Reports bridge.

problem 1

The Oracle Reports bridge trace file contains the following information:

[2005/12/8 1:45:7:339] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.oracle.com/130.35.37.76:14011[2005/12/8 1:45:8:340] Debug 50103 (BridgePacketHandler:handleRequestPacket): Gotresponse from remote subnet null[2005/12/8 1:45:8:991] Error 64013 (BridgeConnection:getResponsePacket):Bridge failed to serve the requestjava.net.ConnectException: Connection refused:connect

Solution 1

The remote Oracle Reports bridge is not running. Start the Oracle Reports bridge, as described in Section 6.2, "Starting and Stopping Oracle Reports Bridge"

Problem 2

[2005/12/8 1:50:34:219] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.oracle.com/130.35.37.76:14011[2005/12/8 1:50:34:469] Debug 50103 (NetworkUtility:write): Writing ......[2005/12/8 1:50:34:469] Debug 50103 (NetworkUtility:read): Reading ......[2005/12/8 1:50:35:220] Debug 50103 (BridgePacketHandler:handleRequestPacket): Gotresponse from remote subnet null

Additionally, the Oracle Reports bridge trace file in the remote subnet (the subnet where Reports Server is located) contains the following information:

[2005/12/8 2:36:59:997] Debug 50103 (Multicast:registerReceiver): Packet handlerregistered[2005/12/8 2:37:1:16] Info 65003 (NetworkUtility:getIOR): Request timed out
[2005/12/8 2:37:2:19] Info 65003 (NetworkUtility:getIOR): Request timed out[2005/12/8 2:37:3:30] Info 65003 (NetworkUtility:getIOR): Request timed out[2005/12/8 2:37:3:31] Debug 50103 (NetworkUtility:getIOR): No response from serverretuning null ior[2005/12/8 2:37:3:32] Info 50103 (Multicast:registerReceiver): Packet handlerunregistered[2005/12/8 2:37:3:32] Debug 50103 (NetworkUtility:write): Writing ......

Solution 2

Reports Server is not running on the remote subnet. Start Reports Server, as described in Section 6.1, "Starting and Stopping Reports Server"

For comparison, the following sample output shows the Oracle Reports bridge trace for the scenario where the Oracle Reports bridge successfully discovers Reports Server:

[2005/12/8 4:4:6:700] Info 50103 (BridgeConnection:getResponsePacket):Getting response object from remote bridgeusunrao06.oracle.com/130.35.37.76:14011[2005/12/8 4:4:6:950] Debug 50103 (NetworkUtility:write): Writing ......[2005/12/8 4:4:6:950] Debug 50103 (NetworkUtility:read): Reading ......[2005/12/8 4:4:7:932] Error 50103 (BridgeConnection:run): Got response[2005/12/8 4:4:7:942] Debug 50103 (BridgePacketHandler:handleRequestPacket):Got response from remote subnet Response Packet -ServerName = vinCorrelationID = 1134056309492SenderID = ServerName: vinVMID: 7e444dbc56c79b06:f9c40:10809ddbdaf:-8000Duplicate = falseType = FULLAdd. Info = Type = server : Host = usunrao06.oracle.com

Problem 3

Reports Server is running on the remote subnet, Oracle Reports bridges are running on both the subnets and are configured properly, but the Oracle Reports clients are not able to connect to the remote Reports Server.This may be caused by an improper setting of timeout value in the bridge configuration file. In this case, the Oracle Reports bridge in the local subnet (the subnet where the client is located) may time out before the Oracle Reports bridge in the remote subnet can respond.

Solution 3

Increase the timeout value in the Oracle Reports bridge configuration file (rwbridge.conf). For example:

<bridge version="10.1.2" port="14011" timeout="2000">

The Oracle Reports bridge in the local subnet waits for the timeout period to get a response from the Oracle Reports bridge in the remote subnet. The Oracle Reports bridge may time out if the network connectivity is slow.Additionally, increase the timeout value in the network configuration file (rwnetwork.conf) to avoid the timeout of Oracle Reports clients before the Oracle Reports bridge responds. For example:

<multicast channel="228.5.6.7" port="14021" timeout="1000" retry="3"/>

In general, perform the following steps to set the Oracle Reports bridge timeout. It is assumed that both bridges are configured properly.

  1. Set a very high timeout value for the Oracle Reports bridge in the local subnet.

  2. Start both Oracle Reports bridges.

  3. Start Reports Server (in the remote subnet).

  4. In the local subnet, run the rwdiag utility with the following command:

    rwdiag -find server_name

    This command prints the time that the Oracle Reports bridge takes to discover the remote Reports Server. For example:

    D:\orawin\reports\conf>rwdiag -find vin
    Broadcast mechanism used to locate servers
    ------------------------------------------
    Channel address = 228.5.6.7
    Channel port = 14021
    'vin' found in the network
    Time taken - 1181 milliseconds
    Name = vin : Type = server : Host = usunrao06.oracle.com
    

    In this example, the Oracle Reports bridge has taken 1181 milliseconds to discover the remote Reports Server.

  5. Estimate the timeout value for the Oracle Reports bridge located in the local subnet as follows:

    timeout = 1181 * 1.3
    

    which is about 1500 milliseconds.

  6. Set the timeout value in the repbrg_bridgename.conf file. For example:

    <bridge version="10.1.2" port="14011" timeout="1500">
    
  7. Confirm that the timeout value in the rwnetwork.conf file complies with the following:

    timeout (in rwnetwork.conf) * retry (in rwnetwork.conf) > timeout (in repbrg_bridgename.conf)
    

    For example:

    timeout (in rwnetwork.conf) * 3 > 1500
    

    Therefore, the value of timeout in rwnetwork.conf should be 1500 or higher

Problem 4

You want to find out which Oracle Reports bridges are configured and running in the subnet.

Solution 4

Use the rwdiag utility to locate all Reports Servers and Oracle Reports bridges. For example, run the following command:

rwdiag -findall

This command generates output similar to the following example:

C:\>rwdiag -findall
Broadcast mechanism used to locate servers
------------------------------------------
Channel address = 228.5.6.7
Channel port = 14021
(1) Name = bugupdate : Type = server : Host = strep15.idc.oracle.com
(2) Name = rep_supadhya-pc_frhome1 : Type = server : Host =supadhya-pc.idc.oracle.com
(3) Name = vinod : Type = server : Host = strep10.idc.oracle.com
(4) Name = rep_strep10 : Type = server : Host = strep10.idc.oracle.com
(5) Name = abc : Type = bridge : Host = strep12.idc.oracle.com
(6) Name = rep_stfrm08_frhome1 : Type = server : Host = stfrm08.idc.oracle.com
(7) Name = rep_stport79_as101202mid : Type = server : Host =stport79.idc.oracle.com
(8) Name = rep_iwinreb20_0508041930_bif : Type = server : Host =iwinreb20.oracle.com
C:\>

For more information on the rwdiag utility, refer to Appendix E, "Reports Server and Bridge Diagnostic Utility".

PKp@l%%PK0;wEOEBPS/pbr_run012.htmp Reusing Report Output from Cache

18.12 Reusing Report Output from Cache

When you run a report, a copy of the report output is saved in the Oracle Reports Services cache. Subsequently, if an identical report is run (that is, with the same cache key), then the current request is recognized as a duplicate job.

There are several scenarios where reports caching takes effect:

  • When a new job request "A" comes to the Reports Server, and there is another job "B" that has the same cache key in the Current Jobs Queue (where it is waiting for an available engine or is in the middle of execution), then job "A" will use the output from job "B".

    The job cache key excludes the destype, desname, server, and tolerance parameters, and includes almost all other parameters.

    This level of cache happens automatically. You need not specify any other parameters in the command line for it to work.

  • If the user specifies TOLERANCE=n (where n is a number in units of minutes) in the new job request "A", then Reports Server will try to find a job in the Finished Jobs Queue than was successfully completed within n minutes. If Reports Server finds such a job, then the new job request "A" will return the output of job "B".


    Note:

    Refer to Section A.8.22, "TOLERANCE" for more information.


Oracle Reports Services cache results are persistent. If the Reports Server is shut down, once it is up again all the previous cache results are recovered and ready to use again.

18.12.1 Usage Note

You can set the cache size through Reports Queue Manager (rwrqm on Windows, or rwrqv.sh on Solaris) or through the cache element in the server configuration file (rwserver.conf). Reports Server attempts to keep the total size of cache files below the set limit, deleting the oldest cache files. In addition, you can empty the cache through Reports Queue Manager.

For more information on setting the cache, refer to the Reports Queue Manager online Help, and see Chapter 8, "Configuring Oracle Reports Services".

PK{iPK0;wEOEBPS/content.opf Oracle® Fusion Middleware Publishing Reports to the Web with Oracle Reports Services, 11g Release 1 (11.1.1) en-US B32121-06 Oracle Corporation Oracle Corporation Oracle® Fusion Middleware Publishing Reports to the Web with Oracle Reports Services, 11g Release 1 (11.1.1) 2013-07-11T06:53:35Z Describes the different options available for publishing reports with Oracle Fusion Middleware Reports Services, as well as how to configure the Oracle Reports Services software for publishing reports. PK駡PK0;wEOEBPS/pbr_adminem007.htm'` Administering and Scheduling Jobs

7.7 Administering and Scheduling Jobs

The improved user interface in Oracle Enterprise Manager provides advanced job queue management (search and filters, resubmit the job, view errors, and more), as well as rich calendar-based scheduling for Reports Server jobs.

7.7.1 Displaying Jobs

To retrieve information about one or more jobs (for example, status, errors for failed jobs, trace information):

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the Reports Server Home page (see Section 7.3, "Viewing the Component Topology").

  3. From the Reports menu, select Reports Jobs > Jobs Page.

    The Jobs page displays for the category of jobs selected in the Show list.

  4. From the Show list, select the category of jobs you want to view (for example, Failed Jobs).

  5. Enter desired information in the Owner, Output Type, and Output Format fields to customize the list of jobs displayed.

7.7.2 Displaying a Consolidated Job Queue

New in Oracle Reports 11g Release 1 (11.1.1) is the database-based shared job repository, which provides the ability to display a consolidated view of job queues using Oracle Enterprise Manager:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the Reports Server Home page of any Reports Server that participates in a high availability (HA) group.

  3. From the Reports menu, select Reports Jobs > Jobs Page.

    The Jobs page displays for the category of jobs selected in the Show list.

  4. From the Show list, select Finished Jobs.

  5. From the Output Format list, select either a Reports Server name (to view the jobs for that Reports Server), or the group name (to view the jobs for all Reports Servers in the group.

You can also use rwservlet and the SHOWJOBS Web command to display a consolidated job queue, as shown in Section A.8.8, "SHOWJOBS".


Note:

  • By default, the jobs of all the nodes that are participating in the high availability (HA) configuration are shown. This makes it easy to administer the consolidated job queue (for example, for killing a particular job, or getting the information about a job). The administrator does not have to view the job queues for each Reports Server separately.

  • It is possible to see the jobs of a particular Reports Server by choosing the server name in the drop-down list. It does not matter which node the load balancer directs the request to, you can always see the job information of any Reports Server participating in the group, even if one or more of the Reports Servers in the group are down. This is made possible by the database-based shared job repository. Additionally, each of the Reports Servlets (corresponding to each in-process Reports Server) contains the list of the other in-process Reports Servers that are part of the HA scenario.


7.7.3 Performing Operations on Jobs

To perform operations on jobs, such as resubmitting (retrying) a job:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the Reports Server Home page (see Section 7.3, "Viewing the Component Topology").

  3. From the Reports menu, select Reports Jobs > Jobs Page.

    The Jobs page displays for the category of jobs selected in the Show list.

  4. Select Finished Jobs to list all the finished jobs with full information about the finished job.

  5. Perform any available operation on any job.

    For example, select a finished job and click Rerun Report to rerun the job.


Note:

When you try to perform a Reports operation from Oracle Enterprise Manager, ensure that the id store used by the Reports server contains the same user name/password that you used to log in to Enterprise Manager.


7.7.4 Scheduling Jobs

To define job scheduling options:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to Reports Server Home page (see Section 7.3, "Viewing the Component Topology").

  3. From the Reports menu, select Reports Jobs > Schedule New Job.

    The Reports Job Scheduler page displays.

  4. Complete the elements using the descriptions in the Help topic for the page. Click the Help icon on the page to access the page-level help.


    Note:

    For elements that specify a time, the time will automatically adjust for Daylight Savings Time (DST), if necessary. For example, if a job is scheduled to run daily at 5:00 a.m., it will run at that time beginning with the scheduled start date, and adjusting when DST begins or ends so that it will continue to run at 5:00 a.m. as expected. Time entries in past jobs queue are not modified (for example, job enqueue time, start time, finish time).


  5. Click Submit to schedule a job.

  6. Navigate to the Scheduled Jobs page (see Section 7.7.1, "Displaying Jobs") and notice the newly scheduled job in the list.


    Note:

    If you select a scheduled job and click Edit, you can change the options for the scheduled job. When you click Submit, the message Job Id nnn has been re-scheduled successfully displays. Oracle Enterprise Manager cancels the original scheduled job and moves it to the Failed Jobs queue, and creates a new scheduled job with the modified parameters. The new job has a different job ID than the original job.


PK''PK0;wEOEBPS/pbr_dist007.htm c Limitations with Using Distribution

20.7 Limitations with Using Distribution

This section outlines the limitations with using distribution in Oracle Reports:

20.7.1 Delimited Output

  • Report bursting and distribution does not support Delimited output format. You cannot specify DELIMITED as an output format in a distribution XML file or in the Distribution dialog box.


    Note:

    You can distribute a report in DelimitedData output format, specified either in a distribution XML file or in the Distribution dialog box in Reports Builder


20.7.2 Dynamic Format Values

XML distribution supports only static values for the format attribute (as seen in distribution.dtd). Thus, you cannot specify lexical parameters (to be resolved at runtime) for the format attribute. Hence the format cannot be dynamically determined either for the entire report or for a specific section.

PKpu PK0;wEOEBPS/pbr_pds.htmQ Configuring and Using the Pluggable Data sources

14 Configuring and Using the Pluggable Data sources

This chapter describes configuring and using several types of pluggable datasources:

Configuring and Using the JDBC PDS

Configuring and Using Text PDS

Configuring and Using XML PDS

PKKNyPK0;wEOEBPS/pbr_trouble005.htm= Diagnosing JDBC PDS Problems

D.5 Diagnosing JDBC PDS Problems

For common problems and solutions when using the JDBC PDS, see Section 14.1.4, "TroubleShooting Information" in Chapter 14, "Configuring and Using the Pluggable Data sources".

PKW:DPK0;wEOEBPS/pbr_upgrade004.htm>x Summary of the Upgraded Files

4.4 Summary of the Upgraded Files

Table 4-2 summarizes Oracle Reports files, including the configuration files, which are upgraded during the upgrade process, as described in Table 4-1.

Table 4-2 Upgraded Oracle Reports Files

11g Target FIle Name11g Target Configuration PathUpgrade Modification

<stand_alone_server_name>.conf

$ORACLE_INSTANCE/config/ReportsServerComponent/<server_name>/rwserver.conf

Migration of Standalone Server configuration.

Exception: <rwsec> element is not migrated.

<in-process_server_name>.conf

$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration//rwserver.conf

Migration of configuration for in-process server.

Exception: <rwsec> element is not migrated.

rwnetwork.conf

J2SE: $ORACLE_INSTANCE/config/ReportsServerComponent/<server_name>/rwnetwork.conf

J2SE: $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwnetwork.conf

J2SE: $ORACLE_INSTANCE/config/ReportsBridgeComponent;/<bridge_name>/rwnetwork.conf

J2EE: $DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/>/rwnetwork.conf

Migration of network configuration to Standalone Server, Reports Bridge, Reports tools and In-process Server.

Exception: Channel and port attributes in <multicast> element are not migrated.

xmlpds.conf

J2SE: $ORACLE_INSTANCE/config/ReportsServerComponent/<server_name>/xmlpds.conf

J2SE: $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/xmlpds.conf

J2EE: $DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration//xmlpds.conf

Migration of configuration to Standalone Server, Reports tools and In-process Server.

textpds.conf

J2SE: $ORACLE_INSTANCE/config/ReportsServerComponent/<server_name>/textpds.conf

J2SE: $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/textpds.conf

J2EE: $DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/textpds.conf

Migration of configuration to Standalone Server, Reports tools and In-process Server.

Jdbcpds.conf

J2SE: $ORACLE_INSTANCE/config/ReportsServerComponent/<server_name>/jdbcpds.conf

J2SE: $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/jdbcpds.conf

J2EE: $DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/jdbcpds.conf

Migration of configuration to Standalone Server, Reports tools and in-process server.

proxyinfo.xml

J2SE: $ORACLE_INSTANCE/config/ReportsServerComponent/<server_name>/rwserver.conf

J2SE: $ORACLE_INSTANCE/config/ReportsToolsComponent/ReportsTools/rwserver.conf

J2EE: $DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/rwserver.conf

Migration of configuration to Standalone Server, Reports tools and In-process Server.

rwservlet.properties

$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/rwservlet.properties

Migration of configuration to in-process server.

Exception: <singlesignon> element is not migrated.

<bridge_name>.conf

$ORACLE_INSTANCE/config/ReportsBridgeComponent/<bridge_name>/bridge.conf

Migration of configuration to Reports Bridge.

Cgicmd.dat

$DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmd.dat

Migration of configuration to In-process Server.

*.res

$ORACLE_HOME/reports/res

Copy all files to target location.

*.dat

$ORACLE_INSTANCE/config/reports/server

Copy all files to target location.

Opmn.xml

$ORACLE_INSTANCE/config/OPMN/opmn/opmn.xml

Migration of Reports specific entries.

Uifont.ali

On Windows: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

On UNIX: ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

Copy file to target location.

Uiprint.txt

$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

Copy file to target location.

uiscreenprint.txt

$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

Copy file to target location.

uiscreenprint.ppd

$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

Copy file to target location.

*.ppd

$ORACLE_HOME/guicommon/tk/admin/PPD

Copy all files in source location to target location.

*.afm

$ORACLE_HOME/guicommon/tk/admin/AFM

Copy all files in source location to target location.

*.hpd

$ORACLE_HOME/guicommon/tk/admin/HPD

Copy all files in source location to target location.

*.tfm

$ORACLE_HOME/guicommon/tk/admin/TFM

Copy all files in source location to target location.

*.rgb

$ORACLE_HOME/frcommon/templates/tk/config/

Copy all files in source location to target location.

Cauprefs.ora (Windows only)

$ORACLE_INSTANCE/config/FRComponent/frcommon/tools/admin

Copy file to target location.

Cagprefs.ora (Windows only)

$ORACLE_INSTANCE/config/FRComponent/frcommon/tools/admin

Copy file to target location.

Prefs.ora (Linux only)

$ORACLE_INSTANCE/config/FRComponent/frcommon/tools/admin

Copy file to target location.

Windows Registry

Windows Registry

Migration of Windows registry entries. Only Reports specific registry entries are migrated.


PK3J>>PK0;wEOEBPS/pbr_sec_arch009.htm@v Configuring External Oracle Internet Directory and Reassociating Reports

15.9 Configuring External Oracle Internet Directory and Reassociating Reports

This section describes how to configure external Oracle Internet Directory for in-process servers and standalone servers and to reassociate Reports with Oracle Internet Directory and another Portal.

It discusses the following topics:

15.9.1 Configuring External Oracle Internet Directory for In-Process Servers

You can migrate from the default embedded ID store of WebLogic Server to an external Oracle Internet Directory to configure the ID store and Policy store settings. Note that configuration of an external Oracle Internet Directory is a post-installation procedure.

15.9.1.1 Configuring External Oracle Internet Directory as ID Store When Using JPS-Based Security

If you are using JPS-based security, you can configure an external Oracle Internet Directory as ID store through the Oracle WebLogic Server Administration Console.

To configure an external Oracle Internet Directory as an ID store through Oracle WebLogic Server, complete the following steps:

  1. Navigate to the WebLogic Server Administration Console.

  2. From the Domain Structure window, select Security Realms.

    The Summary of Security Realms page is displayed.

  3. Select a Realm from the Realms table.

  4. From the settings for the realm page, click the Providers tab.

  5. Select New from the list of Authentication Providers.

  6. Enter a name in the Name field. From the Type drop-down list, select OracleInternetDirectoryAuthenticator, and click OK.

  7. Select the new authenticator, and set the Control Flag to Sufficient.

  8. Select the Provider Specific tab, and enter valid values in the appropriate fields.

  9. Select the default Authenticator and set the Control Flag to OPTIONAL.

  10. Click Save.

  11. Restart the Admin Server.

  12. Select the Security Realm > Users and Groups. Ensure that all users of external Oracle Internet Directory are seen on this page.

Now, users trying to access the in-process servers are authenticated based on the users specified in the external Oracle Internet Directory.

15.9.1.2 Configuring an External Oracle Internet Directory as Policy Store When Using JPS-Based Security

If you are using JPS-based security, you can configure an external Oracle Internet Directory as policy store though Oracle Enterprise Manager.

To configure the policy store in Oracle Enterprise Manager, complete the following steps:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the WebLogic domain.

  3. From the WebLogic Domain menu, select Security > Security Provider Configuration.

  4. Click Configure.

  5. Provide the Oracle Internet Directory and JPS root node details and click OK.


    Note:

    If the JPS root node does not exist on Oracle Internet Directory, you must create it. For more information, see the Oracle Fusion Middleware Administrator's Guide for Oracle Internet Directory.


The policies configured in the system-jazn-data.xml file are migrated to the external Oracle Internet Directory.

15.9.2 Reassociating Reports with Oracle Internet Directory

If you have configured an external Oracle Internet Directory, you must reassociate Reports to map to the new Oracle Internet Directory.

To map Reports to associate with the new Oracle Internet Directory using Oracle Enterprise Manager, complete the following steps:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to your Reports Application home page.

  3. From Reports menu select Administration > Reports OID Association.

    The Reports OID Association Details Page is displayed.

  4. Click the Associate tab.

  5. Specify the Oracle Internet Directory Host, Oracle Internet Directory Port, Username and Password.

  6. Click OK.


Note:

Associating or deassociating Oracle Internet Directory affects all the Reports components associated with that particular Oracle Instance home. If Reports components are associated with different Oracle Instance homes, you must associate or deassociate Oracle Internet Directory individually for each Oracle Instance home.


15.9.3 Reassociating Oracle Reports to Oracle Portal

Ensure that you have associated Reports with the Oracle Internet Directory. To reassociate Oracle Reports to new Oracle Portal, complete the following steps:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the WebLogic Domain Home page.

  3. From the WebLogic Domain menu, select Security > Credentials.

  4. Add Portal Credentials in the Credential Store.

    Add a new key value pair in the reports map. For example, add a key as hrportalPasswdKey and key value as the portal schema password.

    For more information, see Section 7.8.8, "Managing Credentials".

  5. Navigate to the Reports Server home page.

  6. From the Reports menu, select Administration > Advanced Configuration.

    The Reports Server Advanced Configuration page is displayed.

  7. In the Portal Information section, enter valid values for Portal Connection, Portal Username, and Portal Password Key.

  8. Click Apply.


Note:

Reassociating Oracle Reports to Oracle Portal affects only the particular server on which the changes are made. You must repeat the procedure to reassociate each Reports server in the Oracle Instance home to an Oracle Portal.


15.9.4 Configuring External Oracle Internet Directory for Standalone Servers

You can migrate from the default ID store (JAZN-XML) to an external Oracle Internet Directory to configure the ID store and Policy store settings. Note that the configuration of an external Oracle Internet Directory is a post-installation step.

To configure an external Oracle Internet Directory as an ID store or policy store, you must modify the $DOMAIN_HOME/config/fmwconfig/jps-config-jse.xml file manually.

15.9.4.1 Configuring External Oracle Internet Directory as ID Store

To configure an external Oracle Internet Directory as an ID store, modify the $DOMAIN_HOME/config/fmwconfig/jps-config-jse.xml file as described in the following procedure.


Note:

This is just an example. You must replace the example values provided in the entries with your install-specific values.


  1. Under <jpsContext name="default">, add the following:

    <serviceInstanceRef ref="idstore.oid"/>
    

    Comment out the following:

    <!--serviceInstanceRef ref="idstore.xml"/-->
    
  2. Under <serviceInstances>, add the following entries:

    <serviceInstance name="idstore.oid" provider="idstore.ldap.provider"> 
                 <property name="subscriber.name"
     value="dc=us,dc=abc,dc=com"/> 
                 <property name="idstore.type" value="OID"/> 
                 <property name="cleartext.ldap.credentials" 
     value="cn=password"/> 
                 <property name="ldap.url" 
     value="ldap://abc.us.com:389"/> 
                 <extendedProperty> 
                     <name>user.search.bases</name> 
                     <values> 
                        <value>cn=users,dc=us,dc=abc,dc=com</value> 
                     </values> 
                 </extendedProperty> 
                 <extendedProperty> 
                     <name>group.search.bases</name> 
                     <values> 
                       <value>cn=groups,dc=us,dc=abc,dc=com</value> 
                     </values> 
                 </extendedProperty> 
                 <property name="username.attr" value="uid"/> 
                 <propperty name="groupname.attr" value="cn"/> 
      </serviceInstance> 
    
  3. Under < serviceProviders>, add the following:

    <serviceProvider type="IDENTITY_STORE" name="idstore.ldap.provider" 
     class="oracle.security.jps.internal.idstore.ldap.LdapIdentityStoreProvider"> 
            </serviceProvider>
                 <description>Prototype LDAP-based ID store</description> 
    

15.9.4.2 Configuring External Oracle Internet Directory as Policy Store

To configure an external Oracle Internet Directory as a policy store, modify the $DOMAIN_HOME/config/fmwconfig/jps-config-jse.xml file as described in the following procedure.


Note:

This is just an example. You must replace the example values provided in the entries with your install-specific values.


  1. Under <jpsContext name="default"> add the following:

    <serviceInstanceRef ref="policystore.ldap"/>
    

    Comment out the following:

     <!--serviceInstanceRef ref="policystore.xml"/-->
    
  2. Under <serviceInstances>, add the following:

    <serviceInstance provider="ldap.policystore.provider" name="policystore.ldap">
                <property value="OID" name="policystore.type"/>
                <property name="security.principal" value="cn=orcladmin" /> 
                <property name="security.credential" value="password" /> 
                <property value="cn=PRDomain" name="oracle.security.jps.farm.name"/>
                <property value="cn=sta796_sa_root" name="oracle.security.jps.ldap.root.name"/>
                <property value="ldap://abc.us.com:389" name="ldap.url"/>
            </serviceInstance>
    
  3. Under <serviceProviders>, add the following:

    <serviceProvider type="POLICY_STORE" name="ldap.policystore.provider" 
     class="oracle.security.jps.internal.policystore.ldap.LdapPolicyStoreProvider"> 
                 <description>Prototype LDAP-based ID store</description> 
            </serviceProvider>
    
  4. Save and restart WLS_REPORTS.

PK@@PK0;wEOEBPS/pbr_arch001.htm+ What's New In This Release?

2.1 What's New In This Release?

Oracle Reports 11g Release 1 (11.1.1) is integrated with Oracle Fusion Middleware and Oracle WebLogic Server, which provide the architectural enhancements listed in Table 2-1 (a subset of Table 1-1, "11g Functionality vs. 10g Functionality"):

Table 2-1 11g Architecture Features vs. 10g Functionality

11g New FeaturesEquivalent 10g Functionality

Server Stability


Database-backed job queue repository. Use of the database as the job repository helps to avoid Reports Server DAT file corruption, and also ensures no loss of scheduled jobs. It is also easier to manage jobs in the database.

Only file system-based DAT file repository.

New command line argument: JOBRETRY. When specified, this value takes precedence over the retry attribute of the job element. Jobs are retried for all unexpected errors. For more information, see Section A.6.15, "JOBRETRY".

Number of times to retry a failed job can be specified in the server configuration file using the retry attribute of the job element, or on the command line for scheduled jobs only Jobs are retried only in the case of engine crash failures.

High Availability


Database-backed job queue repository. Use of the database as the job repository provides the following High Availability (HA) benefits:

  • Ability to view consolidated jobs for the complete group of Reports Servers in Oracle Enterprise Manager, and perform operations on this consolidated jobs. See Section 7.15.2, "Displaying a Consolidated Job Queue".

  • Scheduled jobs do not get lost even if the Reports Server where the jobs are scheduled goes down.

The administrator must view the job queues for each Reports Server separately.

A scheduled job is lost if the Reports Server where the job was scheduled goes down.

Oracle Reports Server Cluster with shared job repository and cache, including Java Object Cache. Reports Servers communicate via peer-to-peer mechanisms for job management, to minimize manual administration and for automatic failover of jobs. Access to cached output even when the Reports Server that processed the master job is not available.

Use of Oracle Reports caching mechanism. Cache not shared among Reports Servers. Cached output is not available to other servers if the Reports Server where it is cached goes down.

Proprietary clustering and HA mechanism.

For more information about High Availability, see Section 2.5, "Setting Up a High Availability Environment".



PKS0+PK0;wEOEBPS/pbr_dest002.htm^ Overview of Output Processing

13.2 Overview of Output Processing

Report output is controlled by the DESTYPE value that you specify at runtime, which, in turn, is determined by the destination output types you have registered in your server configuration file (rwserver.conf) using the destination element. For more information, see Section A.5.31, "DESTYPE" and Section 8.2.1.6, "destination".

You need not register the following default destinations:

  • Cache

  • E-mail

  • Printer

  • File

  • FTP

  • WebDAV

You may need to register the following default destination:

  • Oracle Portal: The entry for this destination is created by default in the server configuration file, but it is commented out. To start using this destination, you must uncomment the destination entry, and also provide appropriate property values (for example, the value for the portalUserid property).

You must register any new destination types you create through the Oracle Reports Services Destinations API.


Note:

For more information on the destination API, refer to the Reports Software Development Kit (RSDK) on the Oracle Technology Network (OTN): on the Oracle Reports page (http://www.oracle.com/technology/products/reports/index.html), click SDK.

Configuring destinations is discussed in detail in Chapter 13, "Configuring Destinations for Oracle Reports Services".


You can also define custom output types, such as fax, Oracle's Internet File System (iFS), or any new destination type you define using the Oracle Reports Services Destinations API. This API enables you to define new destination types and build handlers to usher your reports to custom destinations.


Note:

For more information on the available APIs for Oracle Reports, refer to the Reports Software Development Kit (RSDK) on the Oracle Technology Network (OTN): on the Oracle Reports page (http://www.oracle.com/technology/products/reports/index.html), click SDK.


The Oracle Reports Services architecture standardizes the way output is generated and delivered. It takes responsibility for delivering report output to the appropriate destination (through the Reports Server), yet generates output independent of its destination (through the Oracle Reports engine). This provides a significant improvement in efficiency by allowing one run of a report to be used in a number of different ways. It also opens up the output processing architecture to allow for any number of destination types.

In the past, the Reports Runtime engine was totally responsible for delivering the output. Consequently, it had to know how to communicate with output destinations. This resulted in a tight coupling between the engine and the supported destinations.

Oracle Reports Services eliminates this tight coupling and its attendant restrictions. The runtime engine now treats all destinations alike. It doesn't know the destination type for which the output is being produced. The server hands output off to destination handlers that prepare the material for delivery to their associated destination types. You can use predefined destination types (with predefined handlers) or create a handler for a custom destination type you intend to support. Almost any type of destination can be plugged into Oracle Reports.

Figure 13-1 illustrates the main components of the Oracle Reports Services output processing architecture.

Figure 13-1 Main components of destination/distribution architecture

Description of Figure 13-1 follows

Requests flow through the output processing architecture in the following sequence:

  1. The user submits a request from a client or browser to the Reports Server.

  2. The server passes it along to the runtime engine.

  3. The runtime engine creates/processes the destination objects (which include file lists for specific destinations as well as any properties related to those destinations) and the report output; the runtime engine sends the destination objects to the Reports Server and the report output to cache.

  4. The Reports Server sends the destination objects to the Reports Server's destination component.

  5. The destination component of the Reports Server fetches the report output from cache.

  6. The Reports Server destination component sends the report and the destination objects (which specify how the destination device should handle the output) to the appropriate destination handler.

PKEJqPK0;wEOEBPS/pbr_sec_arch003.htmm Authentication in Oracle Reports

15.3 Authentication in Oracle Reports

This section describes authentication features, tasks, and concepts that are specific to Oracle Reports.

It discusses the following topics:

Authentication Methods

Oracle Reports 11g Release 1 (11.1.1) supports the following authentication methods:

  • OracleAS Singe Sign-On. For more information, see OracleAS Single Sign-On Authentication.

  • Non-SSO, including the following:

    • Oracle Internet Directory (rwsec, or JPS-OID configured)

    • Embedded ID store (in-process servers)

    • JAZN-XML File-Based ID store (standalone servers)


    Note:

    For more information about non-SSO authentication methods, see Non-SSO Authentication.


The following table summarizes the authentication methods for JPS-based security that Oracle Reports supports.

Table 15-2 Authentication Methods for JPS-Based Security

Type of Reports ServerOracle Internet DirectoryWebLogic ID StoreSingle Sign-OnFile-Based

In-process servers

Yes

Yes

Yes

No

Standalone servers

Yes

No

Yes

Yes


The following table summarizes the authentication methods for Portal-based security that Oracle Reports supports.

Table 15-3 Authentication Methods for Portal-Based Security

Type of Reports ServerAuthentication Based on Oracle Internet DirectorySingle Sign-On

In-process servers

Yes

Yes

Standalone servers

Yes

Yes


15.3.1 OracleAS Single Sign-On Authentication

OracleAS Single Sign-On makes use of an encrypted cookie to track authenticated application users. When rwservlet receives a request to execute a report on a secured Reports Server, it queries the Oracle HTTP Server (through the getRemoteUser call) to determine whether the user has already logged on through OracleAS Single Sign-On (that is, a Single Sign-On cookie exists for the user):

  • If the user has logged on already (that is, the cookie exists), then rwservlet gets the user's identity from the Oracle HTTP Server.

  • If the user has not logged on already (that is, the cookie does not exist yet), then the Oracle HTTP Server redirects the user to OracleAS Single Sign-On, which prompts the user to login. Once the user is authenticated, the Single Sign-On cookie is created and the user is redirected back to rwservlet, which then proceeds as described in the previous bullet item.

15.3.1.1 Report Request Flow with Single Sign-On

In this scenario, a report request is sent to a secured Reports Server with Single Sign-On enabled.

Figure 15-1 Authentication Process with Single Sign-On

Description of Figure 15-1 follows

The following numbered steps map to the numbers in Figure 15-2:

  1. User requests the report (through a URL).

    The report request is made through one of the following methods:

    • The user chooses a link on a Web page or a bookmark that contains a URL that requests the report.


      Note:

      The URL may optionally contain or reference (that is, through the key map file) a Single Sign-On parameter (SSOCONN) with a value of the form:

      key_name/data_source_type/parameter_name

      In the case of an Oracle database, the Single Sign-On value would look something like the following:

      mykey/OracleDB/userid

      If you do not specify a data source type and parameter name, an Oracle database is assumed.


    • From within Oracle Portal (if configured), the user requests to run the report object (for example, clicks the Run link). The user must be logged into Oracle Portal and, consequently, OracleAS Single Sign-On. As part of its security, Oracle Portal validates that the user has the required security permissions to see the report object. For example, if the report object is on a page, the user must have appropriate privileges to see the page and the reports object. Otherwise, Oracle Portal will not display the page or the report object to the user.

  2. Oracle HTTP Server routes the request to rwservlet deployed on Oracle WebLogic Server.

    The URL redirects the user to either rwservlet or the JSP depending upon whether this report has been set to execute through rwservlet or a JSP.

  3. rwservlet asks OracleAS Single Sign-On to authenticate the user.

  4. OracleAS Single Sign-On server requests the user name and password.

  5. Oracle HTTP Server displays the login page to the user, and the user provides user name and password.

  6. User name and password are passed on to OracleAS Single Sign-On.

  7. OracleAS Single Sign-On verifies the credentials with Oracle Internet Directory.

  8. If the user is authenticated, OracleAS Single Sign-on server passes the "user authenticated" message to rwservlet.

    If you used SSOCONN in your URL, rwservlet checks the Single Sign-On key against Oracle Internet Directory to see if it already has been mapped to a data source connection string (for example, scott/tiger@my_or_db).

    If you used SSOCONN and Oracle Internet Directory already has a connection string associated with the key, then rwservlet uses that connection string for the data source connection of the report.


    Note:

    Because of this feature, many users can use the same report URL even if they all use different data source connection strings.


    If you used SSOCONN but Oracle Internet Directory does not already contain a connection string for the key, the Oracle Delegated Administration Services Create Resource page displays for the user to enter their data source connection string. See Figure 15-3.

    Oracle Delegated Administration Services stores the string in Oracle Internet Directory for future use and rwservlet uses the newly entered connection string for the data source connection string of the report.

    Figure 15-2 Oracle Delegated Administration Services Create Resource

    Description of Figure 15-2 follows

15.3.2 Non-SSO Authentication

If any of the non-SSO authentication methods is used (based on Oracle Internet Directory, File-based in case of JPS-based security, and Embedded ID store), then any user accessing a secured instance of the Reports Server is challenged to identify themselves by rwservlet or Reports clients through their own authentication mechanism.

Table 15-4 Non-SSO Authentication Methods

ID StoreAuthentication

Oracle Internet Directory (rwsec, or JPS-OID configured)

Authentication against Oracle Internet Directory

Embedded ID store (in-process servers)

Authentication against embedded ID store of WebLogic Server

JAZN-XML File-based ID store (standalone servers)

Authentication against file-based ID store


Because the HTTP 1.0 protocol is stateless (that is, each call to the server is effectively independent of all others), users may want to authenticate themselves for each report request unless a cookie is maintained. To allow users to authenticate themselves only once per session, rwservlet has its own client-side cookie, the AUTHID cookie, in which it stores the required authentication information for the current session. Once the user is authenticated, an encrypted cookie is created in the browser to enable the user to submit multiple report jobs without re-authenticating for each request.


Note:

If you want to force users to authenticate themselves for a specific report, you can use the SHOWAUTH command line keyword. Alternatively, you can include a %S in the corresponding report entry in the key map file. This file is usually called cgicmd.dat and is located in $DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration/cgicmd.dat. %S forces users to enter their username and password each time the report is called. For more information, see Section 18.13, "Using a Key Map File".


The AUTHID cookies are terminated when the user closes their browser session, but you should not rely strictly on this method of terminating the cookie. You should limit the lifetime of the cookie within a given session. For example, a user might log on and then go to lunch, leaving the browser session open. To minimize the potential for a security breach in this situation, the administrator may specify the COOKIEEXPIRE parameter as an attribute of the element cookie in the rwservlet.properties file.

For example, you can specify the cookie element in the rwservlet.properties file as follows:

<cookie cookieexpire="30" encryptionkey="reports"/>

When rwservlet receives a job request, it compares the time saved in the cookie with the current system time. If the time is longer than the number of minutes defined in the environment variable (for example, 30 minutes), the cookie is rejected and the user is challenged to provide authentication information.


See Also:

Section 8.3, "Oracle Reports Servlet Configuration File" for more information about the COOKIEEXPIRE parameter and the rwservlet.properties file.


15.3.2.1 Report Request Flow with Non-SSO (Oracle Internet Directory-Based, File-Based, or Embedded ID Store)

In this scenario, the report request is sent to a secured Reports Server with Single Sign-On disabled. Non-SSO authentication methods include Oracle Internet Directory-based, File-based, and Embedded ID store. In this case, rwservlet or a JSP report might be called through the use of a bookmark or from an Oracle Portal component.

Figure 15-3 Authentication Process Without Single Sign-On

Description of Figure 15-3 follows

The following numbered steps map to the numbers in Figure 15-4:

  1. User requests the report (through a URL).

    The user must somehow gain access to the URL that launches the report request (for example, through a link on a Web page or a bookmark), and choose the URL.

  2. Oracle HTTP Server routes the request to rwservlet deployed on Oracle WebLogic Server.

  3. rwservlet asks for user credentials (that is, user name and password).

    rwservlet checks for the AUTHID parameter in the URL or an existing Oracle Reports AUTHID cookie. If it finds the AUTHID parameter, it uses that to authenticate the user. If it does not find the AUTHID parameter, it looks for an existing Oracle Reports AUTHID cookie. (If the report is launched from Oracle Portal, AUTHID is added to the URL automatically.) If neither the AUTHID parameter nor an Oracle Reports AUTHID cookie is found, rwservlet sends the System Authentication page to the Oracle HTTP Server, to display to the user.

  4. Oracle HTTP Server displays the login page to the user, and the user provides user name and password.

    On the login page, the user must supply a user name and password. This information is stored in an Oracle Reports AUTHID cookie for future reference.

  5. User name and password are passed on to rwservlet.

    If only partial data source credentials are provided in the URL (for example, USERID=scott@orqa), the Database Authentication page displays with the partial credentials shown. The user must supply the remainder of the data source credentials before proceeding further. Note that you can control which Database Authentication page is used through the DBAUTH parameter in the rwservlet.properties file. If no data source credentials are provided, the Database Authentication page does not display and it is assumed the report does not require a data source.


    See Also:

    Section 8.3, "Oracle Reports Servlet Configuration File" for more information about the DBAUTH parameter and the rwservlet.properties file.


    The data source credentials are stored in an Oracle Reports USERID cookie for future reference. Note that pluggable data source (PDS) credentials are not stored in Oracle Reports USERID cookies.

  6. rwservlet forwards user name and password to Reports Server.

    rwservlet constructs a command line with the necessary information from the previous steps and passes it to Reports Server.

  7. Reports Server authenticates the user (that is, verifies the user name and password) against the ID Store.

    Reports Server validates the user credentials against the ID store (Oracle Internet Directory, embedded ID store or file-based Oracle Internet Directory). If the validation check fails for any reason, then an error condition is returned to the user and the process terminates.

15.3.3 Authentication Scenarios for JPS-Based Security

This section discusses the following authentication scenarios:

15.3.3.1 If Reports is using JPS security, JPS-OID for security policies, and an embedded ID store

It is recommended that you move users in your current ID store, such as embedded ID store, to Oracle Internet Directory, which is an LDAP-based ID store. Subsequently, you can map users to application roles. For information about moving users to Oracle Internet Directory, see the section "Migrating Identities Manually" in the Oracle Fusion Middleware Security Guide. For information about mapping users to application roles, see Mapping Users to Application Roles.

15.3.3.2 If Reports is using JPS security and JPS-OID as ID store

You must map users in Oracle Internet Directory to the default application roles. For information about mapping users to application roles, see Mapping Users to Application Roles.


Note:

In the above authentication scenarios, if Single Sign-On is enabled, the Single Sign-On screen is displayed. If Single Sign-On is disabled, the Reports sysauth screen is displayed. In either case, users are authenticated against Oracle Internet Directory. If you have not moved your users to Oracle Internet Directory, then users are authenticated against the embedded ID store for in-process servers. For standalone servers, such users are authenticated against the file-based ID store.


15.3.4 Authentication Scenario for Portal-Based Security

If you are using Portal-based security, Oracle Internet Directory-based authentication is used.

You can map users to application roles. For information about mapping users to application roles, see Mapping Users to Application Roles.


Note:

In the above authentication scenarios, if Single Sign-On is enabled, the Single Sign-On screen is displayed. If Single Sign-On is disabled, the Reports sysauth screen is displayed. In either case, users are authenticated against Oracle Internet Directory.


PKٯmmPK0;wEOEBPS/pbr_xml003.htm7, Creating XML Data Models

22.3 Creating XML Data Models

Oracle Reports Services introduces a greater level of sophistication in the types of data models you can create using Oracle Reports XML tags. Use XML for:

This section provides examples of these uses of XML.

In addition to these data model types, Oracle Reports Services provides support for using PL/SQL in your XML. This includes support for local program units, report-level triggers, and attached PL/SQL libraries.

22.3.1 Creating Multiple Data Sources

The <data> tag now supports the creation of multiple data sources as well as the new pluggable data sources. Each data source is enclosed within its own <dataSource> tag. The data type definition for the dataSource element is:

<!ELEMENT dataSource
  ((select|plugin|plsql),
  comment?,
  displayInfo?,
  formula*,
  group*)>
<!ATTLIST dataSource
  name CDATA #IMPLIED
  defaultGroupName CDATA #IMPLIED
  maximumRowsToFetch CDATA #IMPLIED>

The following example creates two SQL data sources and names them Q_1 and Q_2. It also creates all the necessary columns for the data sources and the default group—giving the group the specified defaultGroupName or defaulting its own name if defaultGroupName is not specified.

<report name="anyname" DTDVersion="9.0.2.0.0">
  <data>
    <dataSource name="Q_1" defaultGroupName="G_DEPARTMENTS">
      <select>
      select * from departments
      </select>
    </dataSource>
    <dataSource name="Q_2" defaultGroupName="G_EMPLOYEES">
      <select>
      select * from employees
    </select>
    </dataSource>
  </data>
</report>

22.3.2 Linking Between Data Sources

In the presence of multiple data sources, it may be desirable to link the data sources together to create the appropriate data model. Oracle Reports data model link objects have also been exposed through Oracle Reports XML. They support both group- and column-level links. You can specify any number of links to create the required data model.

The data type definition for the link element is:

<!ELEMENT link EMPTY>
<!ATTLIST link
  name CDATA #IMPLIED
  parentGroup CDATA #IMPLIED
  parentColumn CDATA #IMPLIED
  childQuery CDATA #IMPLIED
  childColumn CDATA #IMPLIED
  condition (eq|lt|neq|gt|gteq|like|notLike) "eq"
  sqlClause (startWith|having|where) "where">

The link element is placed within a data element and can link any two dataSource objects defined within the data element. For example:

<report name="anyname" DTDVersion="9.0.2.0.0">
  <data>
    <dataSource name="Q_1" defaultGroupName="G_DEPARTMENTS">
      <select>
        select * from departments
      </select>
    </dataSource>
    <dataSource name="Q_2" defaultGroupName="G_EMPLOYEES">
      <select>
        select * from employees
      </select>
    </dataSource>
    <link name="L_1" parentGroup="G_DEPARTMENTS"
          parentColumn="DEPARTMENT_ID" childQuery="Q_2" 
          childColumn="DEPARTMENT_ID1" condition="eq" sqlClause="where"/>
  </data>
</report>

Within the link element, Oracle Reports defaulting mechanism recognizes DEPARTMENT_ID1 as an alias to the DEPARTMENT_ID column in the EMPLOYEES table without your having to explicitly create such an alias.

22.3.3 Creating Group Hierarchies Within Each Data Source

With Oracle Reports Services, the complete group hierarchy is available to you. You can specify all the columns within each group and break the order of those columns. You can use formulas, summaries, and placeholders to further customize the objects within groups.

The data type definition for the group element is:

<!ELEMENT group
  (field|exception|rowDelimiter|xmlSettings|displayInfo|dataItem|formula|
  summary|placeholder|filter|comment)*>
<!ATTLIST group
  name CDATA #IMPLIED
  fillColor CDATA #IMPLIED
  lineColor CDATA #IMPLIED
  formatTrigger CDATA #IMPLIED>

The following example demonstrates the use of a group element to create a break group under a data source.

<report name="anyname" DTDVersion="9.0.2.0.0">
  <data>
    <dataSource name="Q_1">
      <select>
        select * from employees
      </select>
      <group name="G_DEPARTMENTS">
        <dataItem name="DEPARTMENT_ID"/>
      </group>
      <group name="G_EMPLOYEES">
        <dataItem="EMPLOYEE_ID"/>
        <dataItem="FIRST_NAME"/>
        <dataItem="LAST_NAME"/>
        <dataItem="JOB_ID"/>
        <dataItem="MANAGER_ID"/>
        <dataItem="HIRE_DATE"/>
        <dataItem="SALARY"/>
        <dataItem="COMMISSION_PCT"/>
      </group>
    </dataSource>
  </data>
</report>

22.3.4 Creating Cross-Product (Matrix) Groups

Cross-product groups allow you to define a matrix of any number of groups in the data model. The dimension groups in a cross product may exist in the same data source or may be combined from different data sources to create a matrix. In support of this flexibility, the <crossProduct> tag is placed within the <data> tag after all the data sources and groups have been created.

The data type definition for the crossProduct element is:

<!ELEMENT crossProduct
  (xmlSettings|displayInfo|dimension|(formula|summary|placeholder)*|comment)*>
<ATTLIST crossProduct
  name CDDATA #IMPLIED
  mailText CDDATA #IMPLIED>

The following example demonstrates the creation of a single-query matrix.

<report name="anyname" DTDVersion="9.0.2.0.0">
  <data>
    <dataSource name="Q_1">
      <select>
        select * from employees
      </select>
      <group name="G_DEPARTMENTS">
        <dataItem name="DEPARTMENT_ID"/>
      </group>
      <group name="G_JOB_ID>
        <dataItem name="JOB_ID"/>
      </group>
      <group name="G_MANAGER_ID">
        <dataItem name="MANAGER_ID"
      </group>
      <group name="G_EMPLOYEE_ID">
        <dataItem name="EMPLOYEE_ID"/>
      <dataItem name="FIRST_NAME"/>
        <dataItem name="LAST_NAME"/>
        <dataItem name="HIRE_DATE"/>
        <dataItem name="SALARY"/>
        <dataItem name="COMMISSION_PCT"/>
      </group>
    </dataSource>
    <crossProduct name="G_Matrix">
      <dimension>
        <group name="G_DEPARTMENTS">
      </dimension>
      <dimension>
      <group name="G_JOB_ID">
      </dimension>
      <dimension>
      <group name="G_MANAGER_ID">
      </dimension>
    </crossProduct>
  </data>
</report>

22.3.5 Creating Formulas, Summaries, and Placeholders at Any Level

You can place formulas, summaries, and placeholders at any level within the data model. Additionally, you have complete control over all the attributes for each of these objects.

The following example demonstrates the creation of a report-level summary whose source is based on a group-level formula column.

<report name="anyname" DTDVersion="9.0.2.0.0">
  <data>
    <dataSource name="Q_1">
      <select>
        select * from employees
      </select>
      <group name="G_EMPLOYEES">
        <dataItem="EMPLOYEE_ID"/>
        <dataItem name="EMPLOYEE_ID"/>
        <dataItem name="FIRST_NAME"/>
        <dataItem name="LAST_NAME"/>
        <dataItem name="HIRE_DATE"/>
        <dataItem name="SALARY"/>
        <dataItem name="COMMISSION_PCT"/>
        <dataItem name="DEPARTMENT_ID"/>
        <formula name="CF_REMUNERATION" source="cf_1formula"
          datatype="number" width="20" precision="10"/>
      </group>
    </dataSource>
    <summary name="CS_REPORT_LEVEL_SUMMARY" function="sum" width="20"
      precision="10" reset="report" compute="report"/>
  </data>
  <programUnits>
    <function name="cf_1formula" returnType="number">
      <textSource>
        <![CDATA[
          function CF_1Formula return Number is
          begin
          return (:salary + nvl(:commission_pct,0));
          end;
        ]]>
      </textSource>
    </function>
  </programUnits>
</report>

22.3.6 Creating Parameters

In Oracle Reports XML, the parameter element is placed between open and close data tags. The data type definition for the parameter element is:

<!ELEMENT parameter (comment?|listOfValues?)>
<!ATTLIST parameter
  name CDATA #REQUIRED
  datatype (number|character|date) "number"
  width CDATA "20"
  scale CDATA "0"
  precision CDATA "0"
  initialValue CDATA #IMPLIED
  inputMask CDATA #IMPLIED
  validationTrigger CDATA #IMPLIED
  label CDATA #IMPLIED
  defaultWidth CDATA #IMPLIED
  defaultHeight CDATA #IMPLIED>

The following example demonstrates a dynamic list of values (LOV), an initial value, and a validation trigger.

<report name="anyname" DTDVersion="9.0.2.0.0">
  <data>
    <dataSource name="Q_1" defaultGroupName="G_DEPARTMENTS">
      <select>
        select * from departments
      </select>
      </dataSource>
        <parameter name="P_LAST_NAME" datatype="character" precision="10"
          initialValue="SMITH" validationTrigger="p_last_namevalidtrigger"
          defaultWidth="0" defaultHeight="0">
          <listOfValues restrictToList="yes">
            <selectStatement hideFirstColumn="yes">
              <![CDATA[select last_name, 'last_name||'-'||employee_id'
                from employees]]>
            </selectStatement>
          </listOfValues>
        </parameter>
  </data>
  <programUnits>
    <function name="p_last_namevalidtrigger" returnType="character">
      <textSource>
        <![CDATA[function P_LAST_NAMEValidTrigger return boolean is 
          last_name char(20);
          begin
            select count(*) into last_name from employees
              where upper(last_name)=upper(:p_last_name);
            exception when OTHERS then return(FALSE);
            end;
            return(TRUE);
          end;
        ]]>
      </textSource>
    </function>
  </programUnits>
</report>
PKZ.77PK0;wEOEBPS/pbr_portal.htm Deploying Reports in Oracle Portal

16 Deploying Reports in Oracle Portal

The steps for deploying reports in Oracle Portal is the same in 11g Release 1 (11.1.1) as in prior releases. However, the security mechanism underlying the deployment has changed. You can continue to use the security features in Oracle Portal from prior releases for backward compatibility, but you can now also choose to use the new Oracle Platform Security Services security mechanism. For more information, see Chapter 15, "Securing Oracle Reports Services".

This chapter describes how to use Oracle Portal to deploy your Oracle Reports Services reports. It includes the following sections:

Before you deploy reports, both Oracle Portal and Oracle Reports Services must be installed and configured.


See also:

The following resources for further information:


PK$UPK0;wEOEBPS/pbr_run004.html Publishing a Report in Oracle Portal

18.4 Publishing a Report in Oracle Portal

One of the best ways to publish your report is through the declarative, secure interface of Oracle Portal. To publish a report in Oracle Portal, refer to Chapter 16, "Deploying Reports in Oracle Portal". Specifically, you must first register your Oracle Reports components in Oracle Portal (see Section 16.2, "Registering Oracle Reports Components"), then expose your report in a portal (see Section 16.3, "Publishing Your Report as a Portlet").


Note:

When you use features like Oracle Portal Security, Portal Destination, and Job Status Repository, the JDBC database connections made by Oracle 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 using the environment switching functionality to dynamically set the environment for reports. Refer to Section 8.2.2, "Dynamic Environment Switching" for more information.


PK;zq l PK0;wEOEBPS/pbr_interop002.htm8 Interoperability with Other Oracle Components

5.2 Interoperability with Other Oracle Components

Oracle Reports 11g Release 1 (11.1.1) interoperates with other Oracle components, such as Oracle Portal, Oracle Internet Directory, Oracle Forms, OracleAS Single Sign-On (SSO), Oracle BPEL Process Manager, and Oracle Application Server WebCache.

The following are the interoperability scenarios:

  • Oracle Reports 11g Release 1 (11.1.1) Server/Servlet with Oracle Portal 10.1.4

  • Oracle Reports 11g Release 1 (11.1.1) Server/Servlet with Oracle Internet Directory 10.1.4.3

  • Oracle Reports 11g Release 1 (11.1.1) Server with Oracle Forms 10.1.2.3 Client

  • Oracle Reports 11g Release 1 (11.1.1) with Oracle Portal 11g Release 1 (11.1.1)

  • Oracle Reports 11g Release 1 (11.1.1) with Oracle Internet Directory Release 1 (11.1.1) and Oracle Single Sign-on 10.1.4.3

  • Oracle Reports 11g Release 1 (11.1.1) Server with Oracle Forms 11g Release 1 (11.1.1)

  • Oracle Reports 11g Release 1 (11.1.1) Server with Oracle BPEL Process Manager 11g Release 1 (11.1.1)

  • Oracle Reports 11g Release 1 (11.1.1) with Oracle WebCache 11g Release 1 (11.1.1)

  • Oracle Reports 10.1.2 with Oracle Internet Directory 11g Release 1 (11.1.1) and Oracle Single Sign-on 10.1.4.3

  • Oracle Reports 11g Release 1 (11.1.1) with Oracle Internet Directory 10.1.2.3 and Oracle Single Sign-on 10.1.2.3

For more information, see:

  • Oracle Fusion Middleware Upgrade Guide for Oracle Portal, Forms, Reports, and Discoverer

  • Oracle Fusion Middleware Installation Guide for Oracle Portal, Forms, Reports and Discoverer

PK *PK0;wEOEBPS/pbr_sec_arch006.htm2 Recommended Production Scenario for JPS-Based Security

15.6 Recommended Production Scenario for JPS-Based Security

For JPS-based security, the following production scenario is recommended:

  • For authentication, Oracle Internet Directory as ID store, or Single Sign-On

  • Oracle Internet Directory as Policy store for authorization

If you are not using Single Sign-On, use Oracle Internet Directory for authentication.

PK+@72PK0;wEOEBPS/pbr_sso006.htmG! Oracle Forms Services Security Considerations

17.6 Oracle Forms Services Security Considerations

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

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

Other Requirements:

  • The property Reports Server must be set explicitly for all report objects in the Oracle Forms Services module.

  • If a Reports Server other than the default is being used, that server must be started (using Oracle Enterprise Manager).

  • The system variable REPORTS_PATH must be modified in the file ORACLE_INSTANCE/config/reports/bin/reports.sh to reference the path of the reports to be run.

  • The first time Reports Server is started, it creates a configuration file called rwserver.conf located in the ORACLE_INSTANCE\config\ReportsServerComponent\server_name directory.

  • The default status of Reports Server is secure. To change the Reports Server status to non-secure, modify ORACLE_INSTANCE\config\ReportsServerComponent\server_name\rwserver.conf by commenting out the <security> tag and removing securityId from the <job> tags.

  • After making these modifications, the Reports Server must be stopped and restarted (using Oracle Enterprise Manager).

  • If Oracle Forms Services is configured to run in Single Sign-On mode, then report requests are sent with the authid provided, based on the Single Sign-On user login.

  • Protected reports and Reports Servers can be registered in Oracle Portal.

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

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

Report TypeRegistered, Secure Reports Server (runs only registered reports)Registered, Secure Reports Server (runs any reports)Non-Secure Reports 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


17.6.1 What's New In This Release?

As discussed above, a large number of applications use Oracle Reports in a non-secure mode with Oracle Forms Services. In this mode, the end user need not provide an AUTHID to run a report from Oracle Forms Services; the URL command needs to include only JOBID and the Reports Server name. If unauthorized or malicious users discover the job ID, they can view the job output using GETJOBID through rwservlet to obtain job output that belongs to another user. Prior to 11g Release 1 (11.1.1), Oracle Reports generated sequential job IDs, making it easy to predict the job ID. With 11g Release 1 (11.1.1), Oracle Reports allows the users to generate random and non-sequential job IDs to make it impossible to predict the job ID for a particular job. For more information, see Section 18.8.2, "Generating Random and Non-Sequential Job IDs".

Additionally, 11g Release 1 (11.1.1) provides support for database authentication using proxy users:

  • Additional security through control of Oracle Forms Services connections based on users and roles.

  • Scalability, through reuse of a single database connection.

PKJL!G!PK0;wEOEBPS/pbr_trouble001.htm Problems and Solutions

D.1 Problems and Solutions

This section describes common problems and solutions. It contains the following topics:

D.1.1 Hanging Report Requests

When running report requests with Reports Server, the report request may "hang" for various reasons. This can lead to stability issues if not noticed in time. This section highlights such scenarios, explains the issues, how you can identify such patterns, take corrective measures, and gather sufficient information to raise such issues with Oracle Support Services.

To begin with, it is important to understand how Reports Server identifies duplicate jobs. When a job is submitted to Reports Server, it checks whether a similar job exists in its job queue. If it finds a currently running job that is the same as the submitted job, then Reports Server considers the submitted job a duplicate job and the currently running job as the master job. Reports Server does not execute the duplicate job; instead, it waits for the master job to finish and passes the same output to the duplicate job. Although an idle engine is available, the duplicate job is not submitted to the engine. This is expected behavior and does not mean that the request is hanging.

In addition to the Solutions provided in this section, refer to Section 24.4, "Tuning Reports Server Configuration".


Note:

Scalability improvements in Oracle Reports 10g Release 2 (10.1.2) and 11g Release 1 (11.1.1) improve the stability of Reports Server to ensure report requests complete successfully.


Problem 1

Master job "hangs" before finishing.

Solution 1

If a master job hangs for some reason, then the next duplicate job in line is made the master job.

Check the engineResponseTimeOut attribute in the engine element of the rwserver.conf file (see Section 8.2.1.9, "engine"). Set this attribute judiciously to avoid server instability. This enables Reports Server to automatically detect and recover from this type of hanging situation. You can also use the showjobs command to end the hanging job and allow Reports Server to continue processing other requests. For information about the showjobs command, see Section A.8.8, "SHOWJOBS".

For example, consider a scenario where you have a set of reports. The largest report takes a maximum of 5 minutes to run. In this case, you can set engineResponseTimeOut to 5 minutes.


Notes:

  • When an engine is executing the job, the engine updates the server with the latest status, such as formatting page 1, 2, and so on. If Reports Server does not receive any update from the engine for more than 5 minutes, it is assumed that the engine is hanging and therefore, Reports Server stops the engine.

  • When you have reports of various complexities that take 1 minute to 1 hour to run, you should specify ENGINERESPONSETIMOUT on the command line while running the report (see Section A.6.4, "ENGINERESPONSETIMEOUT").

  • If you have interactive jobs as well as scheduled and batch jobs, it is good practice to start one server for interactive jobs and one for batch and scheduled jobs. For performance and stability reasons, you should avoid using the same server for both interactive and batch/scheduled jobs.


Despite setting the engineResponseTimeOut attribute (or ENGINERESPONSETIMEOUT keyword on the command line) judiciously, if you still encounter instability and crashes, perform the following steps to report the problem to Oracle Support Services:

  1. Enable server tracing and logging (see Section 24.3.7, "Tracing Report Execution"). If it is not possible to enable tracing, enable logging alone by setting the log element's option attribute to failedJobs in the rwserver.conf file (see Section 8.2.1.13, "log"). When you enable logging, you can see the failed job reports in the reports.log file. Identify the report that is failing or causing the engine to hang.

  2. Enable engine diagnostic logging by modifying the engine element to include the diagnosis property in the rwserver.conf file (see "Properties" in Section 8.2.1.9, "engine"), then run the report that you identified in Step 1 to reproduce the hang.

  3. Report the hang to Oracle Support Services with the following information:

    • rwserver.conf file.

    • reports.log file.

    • Engine diagnostic output when the hang is reproduced.

    • Report definition file so that Oracle Support Services can reproduce the problem.

Problem 2

Reports Server stops responding or crashes when running report requests, exhibited by any of the following:

  • When a job is submitted through a browser, the browser seems to hang (no response).

  • A job is not submitted to an engine although the engine is idle.

  • Web commands do not work and the browser times out after some time.

  • Scheduled jobs are not run.

Solution 2

Restart Reports Server to attempt to recover from this problem. If the problem persists, report it to Oracle Support Services with the following information:

  • rwserver.conf file.

  • Approximate load on Reports Server at the time of the hang.

  • Thread dump of Reports Server, which you can obtain as follows:

    • On Solaris, use the kill -3 server_pid command when Reports Server hangs. This command writes the thread information to the console output. To redirect the thread information and error streams from the console to a file, modify the rwserver.sh file in the $ORACLE_INSTANCE/config/reports/bin directory. For example:

      exec $ORACLE_INSTANCE/config/reports/bin/rwserver "$@" > threaddump.txt 2>&1
      

      Note:

      This example is for the UNIX k shell. The code may be slightly different if you are using some other shell.


      If you are using the in-process Reports Server, use the Give kill -3 to WLS_REPORTS managed server process. The thread dump will be in FMW_HOME/user_projects/domains/domain_name/servers/WLS_REPORTS/logs/WLS_REPORTS.out

    • On Windows, the kill -3 command does not work. Instead, at a command prompt, type the command specified in Table D-1 to start Reports Server; when the issue is reproduced, shift focus to the command prompt window, then press Control+Break to get the thread dump.

      Table D-1 Commands to Obtain Thread Dump on Windows

      Reports Server VersionCommand

      11.1.1.x.x

      Set the environment variable COMPONENT_CONFIG_PATH to the Reports Server configuration directory and run the following command:

      ORACLE_HOME/jdk/bin/java –Xmx256M –classpath %REPORTS_CLASSPATH% oracle.reports.server.RWServer oracle_home=ORACLE_HOME server=server_name showui=yes|nobatch=yes|no
      

      10.1.2.0.2

      ORACLE_HOME/jdk/bin/java –Xmx256M –classpath %REPORTS_
      CLASSPATH% oracle.reports.server.RWServer oracle_
      home=ORACLE_HOME server=server_name showui=yes|no
      batch=yes|no
      

      9.0.4

      ORACLE_HOME/jdk/bin/java
      -Xbootclasspath/p:$OH/vbroker4/lib/vbjboot.jar –Xmx256M
      –classpath %REPORTS_CLASSPATH%
      oracle.reports.server.RWServer oracle_home=ORACLE_HOME
      server=server_name showui=yes|no batch=yes|no
      

      9.0.2

      ORACLE_HOME/jdk/bin/java –Xmx256M –classpath %REPORTS_
      CLASSPATH% oracle.reports.server.RWServer oracle_
      home=ORACLE_HOME server=server_name showui=yes|no
      batch=yes|no
      

Problem 3

The in-process Reports Server fails to start and the browser displays the following message while trying to run a report with the in-process Reports Server:

REP-52266: The in-process Reports Server failed to start.

When the standalone server is started, it shuts down immediately.

Solution 3

Enable tracing (see Section 24.3.7, "Tracing Report Execution") and start the in-process Reports Server. The default Reports Server rwserver_diagnostic.log file should capture the actual cause of the problem:

  • Reports Server has failed to initialize one of the pluggable data sources or destinations. Correct the configuration for the pluggable data source (PDS) or destination and restart Reports Server. For general information about PDSs, see the Pluggable Data Sources section of the Oracle Reports online Help. For information about the Pluggable Data Sources, see Chapter 14, "Configuring and Using the Pluggable Data sources".

  • The engine has failed to start. Check the rwEng_{engNo}_diagnostic.log file in the $DOMAIN_HOME/servers/WLS_REPORTS/logs/reports directory. This file must contain the following lines:

    Debug 50103 (EngineImpl:EngineImpl): CInitEngine returns 0
    Info 55003 (RWEngine:init): Register this engine to Oracle Reports Server server_name
    

    If the rwEng_{engNo}_diagnostic.log file does not contain these lines, it means that the engine has failed to start.

    If the CinitEngine return value in the file is negative, then it represents an error in initializing the Reports Engine.If the CinitEngine return value is not equal to zero, check the System environment variable PATH if you are using Windows and the LD_LIBRARY_PATH environment variable in setdomainenv.sh file which is located in DOMAIN_HOME/bin if you are using Solaris. For the in-process Reports Server, the values of PATH and LD_LIBRARY_PATH are taken from the System environment variable PATH for windows and LD_LIBRARY_PATH in setdomainenv.sh file which is located in DOMAIN_HOME/bin for Solaris.

Problem 4

Reports Engine crashes or hangs when running report requests.

Solution 4

Case 1: Consider the scenario where Reports Server is running thousands of reports every day, printing reports, and publishing them to the Web. In this scenario, the browser may wait for the response and eventually time out. Even Web commands to see the job queue may not work.

Turn on tracing (see Section 24.3.7, "Tracing Report Execution") and when this problem occurs, take a thread dump by running the kill -3 server_pid command on Solaris (as described under Solution 2. The following lines of code are the result of running the kill -3 server_pid command. These lines indicate a hang when Reports Server is trying to write the report to a network drive:

"RequestProcessor[7]" daemon prio=5 tid=0x1835f210 nid=0x181c waiting on condition [224cf000..224cfd88]
   at java.io.FileOutputStream.write (Native Code)
   at oracle.reports.utility.copyFile (Utility.java:424)
   at oracle.reports.server.DesFile.sendFile(DesFile.java:74)
   at oracle.reports.server.Destination.send(Destination.java:484)
   at oracle.reports.server.JobObject.distribute(JobObject.java:1582)
   at oracle.reports.server.JobManager.updateJobStatus(JobManager.java:2231)
   at oracle.reports.server.EngineCommImpl.updateEngineJobStatus(
      EngineCommImpl.java:134)
   at oracle.reports.server._EngineCommImplBase._invoke(
      _EngineCommImplBase.java:94)
   at com.sun.corba.se.internal.corba.ServerDelegate.dispatch
      (ServerDelegate.java:353)
   at com.sun.corba.se.internal.iiop.ORB.process(ORB.java:280)
   at com.sun.corba.se.internal.iiop.RequestProcessor.process
      (RequestProcessor.java:81)
   at com.sun.corba.se.internal.orbutil.ThreadPool$PooledThread.run
      (ThreadPool.java:106)

The trace file for this scenario is as follows:

[2005/5/31 6:26:47:321] Info 50132 (JobObject:reset): jobid = 15 Get command line:
server=vin report=c:\backup\reps\emp.rdf destype=file desformat=html
desname=c:\test.html userid=scott@ora9i authid=vnhegde
[2005/5/31 6:26:48:92] Debug 50103 (JobManager:firstToRun): job 15 is first to run
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): Job queue for jobid =
  15 is 0
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): jobid = 15 is in
  current queue
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): Calling
  findDuplicatedJob for jobid = 15
[2005/5/31 6:26:48:212] Debug 50103 (JobManager:findDuplicatedJob): Found no
  duplicated job for job 15
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): No Duplicate jobs for
  jobid = 15
[2005/5/31 6:26:48:212] Debug 50103 (ConnectionImpl:runJob): Job 15 is Enqueued
[2005/5/31 6:26:48:212] Debug 50103 (JobManager:firstToRun): job 15 is first to
  run
[2005/5/31 6:26:48:212] Debug 50103 (JobManager.runJobLocal): Trying to get engine
  for Job 15
[2005/5/31 6:26:48:212] Debug 50103 (EngineManager:getIdleEngine): Target max
  engines = 1
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 is used
  = true
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 state
  is 1
[2005/5/31 6:26:48:222] State 56004 (EngineInfo:setState): Engine rwEng-0 state
  is: Reserved
[2005/5/31 6:26:48:222] Debug 50103 (JobManager.runJobLocal): Job 15 got Engine
  rwEng-0
[2005/5/31 6:26:48:222] Debug 50103 (JobManager:runJobInEngine): Job 15 calling
  setCommand on engine rwEng-0
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:updateEngineState): Engine
  rwEng-0 status is 3
[2005/5/31 6:26:48:222] State 56004 (EngineInfo:setState): Engine rwEng-0 state
  is: Running
[2005/5/31 6:26:48:222] Debug 50103 (EngineManager:updateEngineState): Engine
  rwEng-0 status is 5
[2005/5/31 6:26:48:222] State 56004 (EngineInfo:setState): Engine rwEng-0 state
  is: Idle
[2005/5/31 6:26:48:232] Debug 50103 (JobManager:runJobInEngine): Send job 15 to
  engine rwEng-0
[2005/5/31 6:26:48:232] Debug 50103 (EngineManager:updateEngineState): Engine
  rwEng-0 status is 3
[2005/5/31 6:26:48:232] State 56004 (EngineInfo:setState): Engine rwEng-0 state
  is: Running
[2005/5/31 6:26:48:482] State 56016 (JobManager:updateJobStatus): Job 15 status
  is: Running the report Initializing report
[2005/5/31 6:26:48:482] Debug 50103 (JobManager:updateJobStatus): Finished
  updating job: 15
[2005/5/31 6:26:50:856] State 56016 (JobManager:updateJobStatus): Job 15 status
  is: Running the report Formatting page 1
[2005/5/31 6:26:50:856] Debug 50103 (JobManager:updateJobStatus): Finished
  updating job: 15
[2005/5/31 6:26:52:468] Debug 50103 (RWCacheItem:addFile): add file
  'test33347112.htm' for job 15
[2005/5/31 6:26:52:468] Debug 50103 (RWCache:updateCurrentCapacity): Current cache
  capacity is 197239

In this trace file, note the following:

  • A job with ID 15 is submitted at 6:26:47:321

  • A duplicate job is checked for at 6:26:48:212

  • rwEng-0 is obtained at 6:26:48:222

  • The engine started running at 6:26:48:222

  • The first page is formatted at 6:26:50:856

After this there is no update on the job. The Finished successfully line is not present. This indicates that there is a problem with the job.

The following example shows a trace file for a job that finished successfully:

[2005/5/31 6:25:57:198] Info 50132 (JobObject:reset): jobid = 14 Get command line:
server=vin report=c:\backup\reps\emp.rdf destype=file desformat=html
desname=c:\test.html userid=scott@ora9i authid=vphegde
[2005/5/31 6:25:58:80] Debug 50103 (ConnectionImpl:runJob): Job queue for jobid =
  14 is 0
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): jobid = 14 is in
  current queue
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): Calling
  findDuplicatedJob for jobid = 14
[2005/5/31 6:25:58:90] Debug 50103 (JobManager:findDuplicatedJob): Found no
  duplicated job for job 14
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): No Duplicate jobs for
  jobid = 14
[2005/5/31 6:25:58:90] Debug 50103 (ConnectionImpl:runJob): Job 14 is Enqueued
[2005/5/31 6:25:58:90] Debug 50103 (JobManager:firstToRun): job 14 is first to run
[2005/5/31 6:25:58:90] Debug 50103 (JobManager.runJobLocal): Trying to get engine
  for Job 14
[2005/5/31 6:25:58:90] Debug 50103 (EngineManager:getIdleEngine): Target max
  engines = 1
[2005/5/31 6:25:58:90] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 is used
  = true
[2005/5/31 6:25:58:90] Debug 50103 (EngineManager:getIdleEngine): rwEng-0 state is
  1
[2005/5/31 6:25:58:90] State 56004 (EngineInfo:setState): Engine rwEng-0 state is:
  Reserved
[2005/5/31 6:25:58:90] Debug 50103 (JobManager.runJobLocal): Job 14 got Engine
  rwEng-0
[2005/5/31 6:25:58:90] Debug 50103 (JobManager:runJobInEngine): Job 14 calling
  setCommand on engine rwEng-0
[2005/5/31 6:25:58:100] Debug 50103 (EngineManager:updateEngineState): Engine
  rwEng-0 status is 3
[2005/5/31 6:25:58:100] State 56004 (EngineInfo:setState): Engine rwEng-0 state
  is: Running
[2005/5/31 6:25:58:100] Debug 50103 (EngineManager:updateEngineState): Engine
  rwEng-0 status is 5
[2005/5/31 6:25:58:100] State 56004 (EngineInfo:setState): Engine rwEng-0 state
  is: Idle
[2005/5/31 6:25:58:100] Debug 50103 (JobManager:runJobInEngine): Send job 14 to
  engine rwEng-0
[2005/5/31 6:25:58:110] Debug 50103 (EngineManager:updateEngineState): Engine
  rwEng-0 status is 3
[2005/5/31 6:25:58:110] State 56004 (EngineInfo:setState): Engine rwEng-0 state
  is: Running
[2005/5/31 6:25:58:350] State 56016 (JobManager:updateJobStatus): Job 14 status
  is: Running the report Initializing report
[2005/5/31 6:25:58:350] Debug 50103 (JobManager:updateJobStatus): Finished
  updating job: 14
[2005/5/31 6:26:0:663] State 56016 (JobManager:updateJobStatus): Job 14 status is:
  Running the report Formatting page 1
[2005/5/31 6:26:0:663] Debug 50103 (JobManager:updateJobStatus): Finished updating
  job: 14
[2005/5/31 6:26:2:256] Debug 50103 (RWCacheItem:addFile): add file
  'test54106877.htm' for job 14
[2005/5/31 6:26:2:256] Debug 50103 (RWCache:updateCurrentCapacity): Current cache
  capacity is 182329
[2005/5/31 6:26:2:286] State 56016 (JobManager:updateJobStatus): Job 14 status is:
  Finished successfully
[2005/5/31 6:26:3:7] Debug 50103 (JobManager:notifyWaitingJobs): Master job 14
  notify its duplicated jobs.
[2005/5/31 6:26:3:7] Debug 50103 (JobManager:updateJobStatus): Finished updating
  job: 14
[2005/5/31 6:26:3:7] Debug 50103 (EngineManager:updateEngineState): Engine rwEng-0
  status is 1
[2005/5/31 6:26:3:7] State 56004 (EngineInfo:setState): Engine rwEng-0 state is:
  Ready
[2005/5/31 6:26:3:57] Info 56013 (ConnectionManager:release): Connection 1 is
  released

In this trace file, after formatting the page 1, note the following:

  • The job finished successfully at 6:26:2:286

  • Duplicate jobs are notified at 6:26:3:7

  • Connection is released at 6:26:3:57

These lines were not present in the first example. All jobs must contain these lines in the Reports Server trace files. A missing event or abrupt end means that the job has not finished successfully and is a potential cause for the hang.

Case 2: Consider the scenario where the following error displays:

REP-56048: Engine rwEng-0 crashed, job Id: 17

In this scenario, check the Reports Server and engine trace files. A typical crash resembles the following in the Reports Server trace file:

[2005/6/1 3:38:35:156] Exception 50125 (org.omg.CORBA.COMM_FAILURE:   vmcid: SUN
  minor code: 208 completed: Maybe 
    at com.sun.corba.se.internal.iiop.IIOPConnection.purge_
    calls(IIOPConnection.java:438)
    at com.sun.corba.se.internal.iiop.ReaderThread.run(ReaderThread.java:70)
): Internal error org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 208
  completed: Maybe
[2005/6/1 3:38:35:156] Info 56029 (EngineManager:shutdownEngine): Shutting down
  engine rwEng-0
[2005/6/1 3:38:36:137] Exception 50125 (org.omg.CORBA.COMM_FAILURE:   vmcid: SUN 
  minor code: 201  completed: No
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection
    (ConnectionTable.java:148)
    at com.sun.corba.se.internal.iiop.ConnectionTable.getConnection
      (ConnectionTable.java:65)
    at com.sun.corba.se.internal.iiop.GIOPImpl.getConnection(GIOPImpl.java:67)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest
      (ClientDelegate.java:652)
    at com.sun.corba.se.internal.corba.ClientDelegate.createRequest
      (ClientDelegate.java:594)
    at com.sun.corba.se.internal.corba.ClientDelegate.request
      (ClientDelegate.java:886)
    at org.omg.CORBA.portable.ObjectImpl._request(ObjectImpl.java:431)
    at oracle.reports.engine._EngineClassStub.shutdown(_EngineClassStub.java:173)
    at oracle.reports.server.EngineManager.shutdownEngine(EngineManager.java:1354)
    at oracle.reports.server.JobManager.runJobInEngine(JobManager.java:974)
    at oracle.reports.server.JobManager.runJobLocal(JobManager.java:1779)
    at oracle.reports.server.JobManager.dispatch(JobManager.java:1045)
    at oracle.reports.server.ConnectionImpl.runJob(ConnectionImpl.java:1274)
    at oracle.reports.server._ConnectionImplBase._invoke
      (_ConnectionImplBase.java:401)
    at com.sun.corba.se.internal.corba.ServerDelegate.dispatch
      (ServerDelegate.java:353)
    at com.sun.corba.se.internal.iiop.ORB.process
      (ORB.java:280)
    at com.sun.corba.se.internal.iiop.RequestProcessor.process
      (RequestProcessor.java:81)
    at com.sun.corba.se.internal.orbutil.ThreadPool$PooledThread.run
      (ThreadPool.java:106)
): Internal error org.omg.CORBA.COMM_FAILURE:   vmcid: SUN  minor code: 201 
  completed: No
[2005/6/1 3:38:36:147] State 56004 (EngineInfo:setState): Engine rwEng-0 state is:
  Shutdown
[2005/6/1 3:38:36:147] Info 56047 (EngineManager:remove): Reports Server shut down
  engine rwEng-0
[2005/6/1 3:38:36:147] State 56016 (JobManager:updateJobStatus): Job 17 status is:
  Terminated with error:
REP-56048: Engine rwEng-0 crashed, job Id: 17
[2005/6/1 3:38:36:157] Debug 50103 (JobManager:notifyWaitingJobs): Master job 17
  notify its duplicated jobs.
[2005/6/1 3:38:36:157] Debug 50103 (JobManager:updateJobStatus): Finished updating
  job: 17
[2005/6/1 3:38:36:157] Exception 56048 (): Engine rwEng-0 crashed, job Id: 17
oracle.reports.RWException: IDL:oracle/reports/RWException:1.0
   at oracle.reports.server.JobManager.runJobInEngine(JobManager.java:1009)
   at oracle.reports.server.JobManager.runJobLocal(JobManager.java:1779)
   at oracle.reports.server.JobManager.dispatch(JobManager.java:1045)
   at oracle.reports.server.ConnectionImpl.runJob(ConnectionImpl.java:1274)
   at oracle.reports.server._ConnectionImplBase._invoke
      (_ConnectionImplBase.java:401)
   at com.sun.corba.se.internal.corba.ServerDelegate.dispatch
      (ServerDelegate.java:353)
   at com.sun.corba.se.internal.iiop.ORB.process
      (ORB.java:280)
   at com.sun.corba.se.internal.iiop.RequestProcessor.process
      (RequestProcessor.java:81)
   at com.sun.corba.se.internal.orbutil.ThreadPool$PooledThread.run
      (ThreadPool.java:106)

In the engine trace file, the last few lines of the crash trace resemble the following:

[2005/6/1 3:38:34:575] (rwfdt:rwfdtprint) Distributing the report
[2005/6/1 3:38:34:585] (rwfdt:rwfdtpredo) running
[2005/6/1 3:38:34:585] (rwfdt:rwfdtpredo) no preformat of pages requested, quit
[2005/6/1 3:38:34:585] (rwfdt:rwfdtni_NextInstance) running
[2005/6/1 3:38:34:595] (rwfdt:rwfdtni_NextInstance) quit
[2005/6/1 3:38:34:595] (rwfdt:rwfdtgcf_GenCachefile) running
[2005/6/1 3:38:34:615] (rwfdt:rwfdtgcf_GenCachefile) Cache file is
  D:\orawin\reports\cache\03564661.htm
[2005/6/1 3:38:34:615] (rwfdt:rwfdtgcf_GenCachefile) quit
[2005/6/1 3:38:34:615] (rwfdt:rwfdtprint) caching output from backend drivers
[2005/6/1 3:38:34:755] (C Engine)

Note:

The engine trace file ends abruptly whenever the engine crashes.


Action: Identify the report that is causing the engine crash. You can do this by identifying the job ID. In the preceding examples, the engine crashed while running jobid 17. In the server trace file, search for the jobid = 17 Get command line string. This line contains the complete command line that includes the report name also. Enable tracing and engine diagnosis. Run the problematic report multiple times to reproduce the crash. When the crash is reproduced, pass on the trace files and diagnosis output to Oracle Support Services for analysis.

D.1.2 Reports Server Activity Generates Error REP-50125

REP-50125 is a common error message issued in mu}ltiple situations involving Reports Server:

REP-50125: Caught exception: {0}

Cause: Oracle Reports has caught an internal exception.

Action: Contact Oracle Support Services for additional assistance.

Problem 1

The Cause and Action in the help topic for REP-50125 do not contain enough information to effectively identify and diagnose the problem.

Solution 1

With Oracle Reports 10g Release 2 (10.1.2), the following new error messages addressed specific scenarios to provide focused troubleshooting assistance in the Cause and Action exposed in the help topics:

  • REP-56126: Failed to parse server config file {0}

    Cause: Failed to parse server config file. XML syntax is wrong.

    Action: Correct the server config file and start the server.

  • REP-56127: Failed to decrypt <{0}> element

    Cause: Decrypt call failed on the element.

    Action: Please make sure encrypted attribute is set properly for the element.

  • REP-56128: Failed to initialize {0} destination. Nested Exception: {1}

    Cause: Destination initialization failed.

    Action: Please check and correct the configuration for the destination.

Problem 2

REP-50125 displays when starting up Reports Server.

Solution 2

Refer to Note 289748.1 on Oracle MetaLink at http://metalink.oracle.com: Troubleshooting Problems When Starting Up Reports Server.

Problem 3

REP-50125 displays when running report requests.

Solution 3

Refer to Note 290827.1 on Oracle MetaLink at http://metalink.oracle.com: Troubleshooting Failed Reports Requests Issued Against Reports Server.

Problem 4

REP-50125 displays with segmentation violation when starting Reports Server on SLES-8/UnitedLinux 1.0.

Solution 4

With Oracle Reports 10g Release 2 (10.1.2), SLES8 and SLES9 were supported. However, Oracle Reports 11g Release 1 (11.1.1) does not support UnitedLinux 1.0, so you cannot use this platform to run report requests.

Problem 5

REP-50125 displays when running reports on Linux with openmotif.

Solution 5

Only openmotif 2.1.30 (not higher) is supported for Oracle Reports 6i, 9i, and 10g on Linux.

D.1.3 Long Running Report Failure with Oracle Reports Servlet

Long running report requests submitted through Oracle Reports Servlet (rwservlet) may not succeed or cause crashing/hanging engines and timeouts on dependent AS components.

Problem

A report that runs for a long time with rwservlet does not finish.

Solution

Perform the following checks:

  • If you are running the report synchronously through your Web browser, verify that the failure is not caused by a timeout on the HTTP server. Submit the same job asynchronously; if it finishes successfully, modify the HTTP server timeout in the application server configuration or consider executing your long running reports asynchronously (which is the suggested method). You can leverage the Reports Server notification feature to inform your users when their job has finished.

  • Verify that your overall response time of the server has not had any significant changes, by looking at the Reports Server statistics in Enterprise Manager.

  • Verify that our database server is responding in a normal manner. Sometimes database load can have a significant impact on the performance, especially on long running reports.

D.1.4 Fonts Do Not Display Consistently On Different Platforms

Deploying reports on multiple platforms may result in font issues.

Problem

When you deploy a report on multiple platforms, font rendering and mapping is not consistent across all platforms.

Solution

With Oracle Reports 10g Release 2 (10.1.2), this issue was addressed in new documentation in the following chapters:

D.1.5 Running Reports on UNIX Platforms Generates REP-56048

REP-56048 is a common error message issued when running a report (for example, using rwservlet, rwclient, or through Oracle Forms) on UNIX. The Reports Server passes the job to a Report Engine that is responsible for running the report. The Report Engine crashes, resulting in this error:

REP-56048: Engine {0} crashed

Cause: Reports Server detected the specified engine crashed.

Action: Reports Server should restart another engine. Report the problem to Oracle Support Services with the test case that causes engine crash.

Refer to the solutions below and to Solution 4 in Section D.1.1, "Hanging Report Requests" to attempt to resolve the problem. If REP-56048 persists, perform the following steps to report the problem to Oracle Support Services:

  1. Enable server tracing and logging (see Section 24.3.7, "Tracing Report Execution"). If it is not possible to enable tracing, enable logging alone by setting the log element's option attribute to failedJobs in the rwserver.conf file (see Section 8.2.1.13, "log"). When you enable logging, you can see the failed job reports in the reports.log file. Identify the report that is failing or causing the engine to crash.

  2. Enable engine diagnostic logging by modifying the engine element to include the diagnosis property in the rwserver.conf file (see "Properties" in Section 8.2.1.9, "engine"), then run the report that you identified in Step 1 to reproduce the crash.

  3. Report the crash to Oracle Support Services with the following information:

    • rwserver.conf file.

    • reports.log file.

    • Engine diagnostic output when the crash is reproduced.

    • Report definition file so that Oracle Support Services can reproduce the problem.

Problem 1

REP-56048 displays when running reports on UNIX platforms, and character sets defined in NLS_LANG are other than WE8ISO8859P1 or IW8ISO8859P8.

Solution 1

Modify entries in Tk2Motif.rgb for mapping Oracle character set names and XLFD's CHARSET_REGISTRY to CHARSET_ENCODING (the last two fields; for example, iso8859-1). For more information, see:

You can also try to run this report with Reports Runtime (rwrun) to verify the environment settings before running it through the Report Engine.

Problem 2

REP-56048 displays when running reports on UNIX platforms, and DISPLAY environment variable is not set.

Solution 2

With Oracle Reports 10g Release 1 (9.0.4), the REPORTS_DEFAULT_DISPLAY environment variable removes the dependency on the DISPLAY environment variable. By default, REPORTS_DEFAULT_DISPLAY=YES. Make sure that REPORTS_DEFAULT_DISPLAY has not been set to NO.

For more information, see Section B.1.42, "REPORTS_DEFAULT_DISPLAY".

Problem 3

REP-56048 displays when tracing is enabled while running a big report.

Solution 3

If tracing is enabled, Reports Engine might crash for reports with large output. This may be due to the size of the trace file and that there was insufficient disk space, memory, or processor capacity available to create it. To avoid this error, enable engine diagnostic logging only by modifying the engine element to include the diagnosis property in the rwserver.conf file (see "Properties" in Section 8.2.1.9, "engine"), when diagnostic information is required to troubleshoot a problem with a report. You can also restrict the trace file generated using the traceModule attribute of the trace element in the rwserver.conf configuration file.

For general information about tracing, see Section 24.3.7, "Tracing Report Execution".

Problem 4

REP-56048 displays when DISTRIBUTE=YES on UNIX.

Solution 4

Distribution fails on UNIX if the PRINTER environment variable is not set to a valid printer when one of the destinations specified in the distribution file is a printer. Set the following environment variables:

PRINTER=printer_name; export PRINTER
TK_PRINTER=printer_name; export TK_PRINTER
TK_PRINT_STATUS="echo %n is valid"; export TK_PRINT_STATUS
TK_PRINT=echo; export TK_PRINT

In ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/uiprint.txt, add the following line:

printer_name:PostScript:1:test:default.ppd:

For more information on report distribution, see Chapter 20, "Creating Advanced Distributions".

Problem 5

REP-56048 displays when printing a report on UNIX.

Solution 5

Oracle Reports uses the shell script rwlpr.sh for printing on UNIX. Directly modifying this file is not supported. Please contact Oracle Support Services for assistance.

For more information on printing on UNIX, see Chapter 10, "Printing on UNIX with Oracle Reports".

Problem 6

REP-56048 displays when running a report containing graphics on UNIX.

Solution 6

This error may result if Oracle Reports is linked against a version of Motif other than the operating system's default. Refer to the Oracle Reports chapter in the Oracle Fusion Middleware Release Notes for Microsoft Windows for the correct version of Motif to which to link.

Problem 7

REP-56048 displays when generating delimited report output for a matrix report.

Solution 7

Generate the report output to DelimitedData (DESFORMAT=DELIMITEDDATA) or spreadsheet (DESFORMAT=SPREADSHEET) output instead of Delimited. DelimitedData supports large reports, but the output in Microsoft Excel displays only data (as defined by the report data model), no layout information. To generate report output that preserves the formatting defined in report layout, use the output format DESFORMAT=SPREADSHEET.

For more information on delimited and spreadsheet output, see "About delimited output" and "About spreadsheet output" in the Oracle Reports online Help (and also in the "Advanced Concepts" chapter in the Oracle Reports Building Reports manual). Also see Section A.5.27, "DESFORMAT".

Problem 8

REP-56048 displays when running a report through the Reports Engine when none of the previous solutions resolve the problem.

Solution 8

This error may be related to your environment settings or caused by the report itself. By checking the Oracle Reports Servlet (rwservlet) showjobs page for your Reports Server, you should be able to determine the job that resulted in the error. If you are on a UNIX machine, there should be a core dump created in your environment. To facilitate searching for related bugs, extract a stack trace from this core dump. Note that the executable should be java rather than rwrun.

In previous releases, to get a stack trace from the core file, you ran a debugger on the runtime component. This is still applicable if you are able to reproduce the problem with only the rwrun component. However, if the crash occurs only through the Reports Server, then the engine will be called using a Java wrapper, and you must run the debugger on the Java executable. This will automatically load any Oracle Reports libraries.

For example:

dbx java core

This example is for dbx. Once you have the stack trace, you will be able to search Oracle MetaLink at http://metalink.oracle.com for any related issues using the last few calls in the stack.

If a particular job seems to be causing the problem, then the next step would be to try running that report with rwclient and rwrun. Running with rwclient removes the Web component from the environment. Running with rwrun is equivalent to bypassing the Reports Server and running with just the engine.

D.1.6 Font Issues with Right-to-Left Languages

Bidirectional support enables you to display report output in either a left-to-right or right-to-left orientation, depending on the requirements of your audience. Font issues with right-to-left languages generate imperfect report output.

Problem

Misalignment of right-aligned text and limitations requiring fixed width fonts.

Solution

With Oracle Reports 10g Release 2 (10.1.2), this issue was addressed with improvements to PDF output with font subsetting enabled for languages that read right to left (such as Hebrew and Arabic), ensuring that text will be accurately right-aligned. However, on UNIX platforms, you may see some misalignment for right-aligned text.

To resolve font issues related to right-to-left text, refer to the information in the following sections:

D.1.7 Errors When Running Reports from Oracle Forms Using RUN_REPORT_OBJECT

The most secure approach for calling Oracle Reports from Oracle Forms on the Web is to use Oracle Reports Services in combination with RUN_REPORT_OBJECT. For detailed information about using RUN_REPORT_OBJECT to call Oracle Reports from Oracle Forms, refer to the Oracle Application Server 10g Integrating Oracle Reports in Oracle Forms Services Applications white paper on OTN (http://otn.oracle.com/products/forms/pdf/10g/frm10gsrw10g.pdf).

Also refer to Oracle Fusion Middleware Forms Services Deployment Guide.

Problem 1

RUN_REPORT_OBJECT generates the following error:

FRM-41214: Unable to run report.

Solution 1

When deploying a report over the Web with output to be shown in the browser window, DESTYPE should be set to CACHE, not SCREEN or PREVIEW. To display the output of report in the browser use WEB.SHOW_DOCUMENT, rather than RUN_REPORT_OBJECT.

Problem 2

RUN_REPORT_OBJECT generates the following error:

FRM-41213: Unable to connect to the report server server_name.

Solution 2

Check the following:

  • Ensure that the Reports Server being referenced in the RUN_REPORT_OBJECT code is started.

  • Make sure that the Oracle WebLogic Server instance for Oracle Reports is started.

  • Make sure that parameters being passed to RUN_REPORT_OBJECT have no spaces in their values, or are enclosed in single quotes.

Problem 3

RUN_REPORT_OBJECT generates the following error:

REP-503 You did not specify the name of a report.

Solution 3

Make sure that the report name is specified in the Property Inspector of the Report object in the Oracle Forms Object Navigator.

Problem 4

Unable to run report from a form and pass parameter from a form to the report.

Solution 4

Check the following:

  • Make sure that you are passing the parameters in the proper format from Oracle Forms. the initial value for the parameter is specified in the Property Inspector of the parameter in Reports Builder.

  • Make sure that the initial value for the parameter is specified in the Property Inspector of the parameter in Reports Builder.

  • Try passing the command line in a Before Report trigger or by using the report Parameter Form.

If the issue persists, enable report tracing (see Section 24.3.7, "Tracing Report Execution") to pinpoint the source of the problem.

Problem 5

Using a report Parameter Form (PARAMFORM=YES) in conjunction with RUN_REPORT_OBJECT fails with "Internal Server Error".

Solution 5

Refer to the Oracle Forms Services - Using Run_Report_Object() to call Reports with a parameter form white paper on OTN (http://otn.oracle.com/products/forms/pdf/10g/frmrepparamform.pdf).

D.1.8 Displaying Report Output in Microsoft Excel

Generating a report to delimited output to display in Microsoft Excel is a common requirement, which can be accomplished in a number of ways. Users are often unsure of which method to choose.

Problem

Which delimited output solution is best for given requirements?

Solution

Depending on your report definition and output display requirements, choose the appropriate method for generating your report to delimited output for Microsoft Excel:

  • Requirement: You have a paper layout report, which you want output to Microsoft Excel, but do not need rich formatting of the report layout.

    Output Solution: Generate your report to delimited output:

    • DESFORMAT=DELIMITED

    • DESFORMAT=DELIMITEDDATA (for use when you have problems running large volume reports with DELIMITED)

  • Requirement: You have a paper report, which you want to output to Microsoft Excel, including the rich formatting of the report layout.

    Output Solution: Generate your report to spreadsheet output:

    • DESFORMAT=SPREADSHEET

  • Requirement: You have a paper report, which you want to output to Microsoft Excel, including the rich formatting of the report layout. Additionally, you would like to deploy your report as a JSP.

    Output Solution: Since this is a JSP report, you cannot directly generate to a .xls file (DESTYPE=FILE),but you can save the output that displays in your browser as a .xls file. Refer to the Oracle Reports Building Reports manual to implement this solution using <rw:include>: Chapter 29, "Deploying a Web Layout Report to Microsoft Excel Output".

  • Output Requirement: You have a JSP-based Web report, which you want to output to Microsoft Excel.

    Solution: Since this is a JSP report, you cannot directly generate to a .xls file (DESTYPE=FILE), but you can save the output that displays in your browser as a .xls file. Refer to the chapter "Building a report for Spreadsheet Ouput" in the Oracle Reports Building Reports manual, available on the Oracle Technology Network.

For detailed information on spreadsheet output and delimited output, see the Oracle Reports online Help and Oracle Reports Building Reports manual.

D.1.9 Report Containing User Exit Fails on UNIX

User exits may exist in reports developed in prior releases of Oracle Reports.


Note:

With Oracle Reports 10g, you can call Java methods using the ORA_JAVA built-in package and the Java Importer. This reduces the need to have user exits in a report and allows for a more open and portable deployment. You may also use the ORA_FFI built-in package, which provides a foreign function interface for invoking C functions in a dynamic library. With the availability of these built-in packages, the use of user exits is deprecated in Oracle Reports, though makefiles are still be supplied to permit you to continue to work with existing user exits.


Problem

A report that contains a user exist fails when run on UNIX.

Solution

On UNIX, Reports Builder (rwbuilder) and Reports Runtime (rwrun) dynamically load the user exit library to successfully run reports that contain user exits. When running reports through Reports Server (rwserver), you must add the following environment variable in rwengine.sh to load the user exit library:

LD_PRELOAD=librw.so:user_exit_library; export LD_PRELOAD

D.1.10 Printing and Font Errors When Using In-process Reports Server

The in-process Reports Server does not recognize the default printer of a user currently logged on to Windows. This is because the service that runs the in-process Reports Server is logged on as the Local System.

Problem

Any of the following:

  • Printing to default printer fails with the REP_3002 error. For example, the following command:

    http://myrepsrvr.oracle.com:7777/reports/rwservlet?report=myrep.rdf&destype=printer&desformat=html
    

    results in the following error:

    Error:"REP-3002: Error initializing printer.  Please make sure a printer is installed."
    
  • Deploying reports containing Oracle6i Graphics (OGD) graphics causes Reports Server to stop responding.

  • Font alignment problems in a PDF file output from an in-process Reports Server.

Solution

To work around all these issues:

  1. Open the Windows registry using a registry editor (for example, regedit.exe). Create a backup of the registry before you edit it.

  2. Navigate to the following key:

    HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows
    
  3. Copy the string value of Device for this key. For example:

    \\MOWGLI\sierra,winspool,Ne02:
    
  4. Navigate to the following key:

    HKEY_USERS\.DEFAULT\Software\Microsoft\Windows NT\CurrentVersion\Windows
    
  5. Paste the Device value copied from HKEY_CURRENT_USER (the string value of Device for this key will be empty).


    Note:

    This workaround must be applied every time you alter the value of the Default Printer.

    This workaround will not work on an OPMN-managed Reports Server.


The pros and cons of running an in-process Reports Server are explored in Chapter 2, "Understanding the Oracle Reports Services Architecture". For additional information, see Section 8.3, "Oracle Reports Servlet Configuration File" (server and inprocess parameter descriptions).

PKݥPK0;wEOEBPS/pbr_bat001.htm% Batch Registering Report Definition Files

C.1 Batch Registering Report Definition Files

To batch register reports in Oracle Portal, perform the following steps:

  1. Run rwconverter to Generate a SQL Script

  2. Run the Script in SQL*Plus

C.1.1 Run rwconverter to Generate a SQL Script

To generate a SQL script that you can execute in SQL*Plus to register your reports, do the following:

  1. From the operating system prompt (DOS or UNIX), enter the rwconverter command with the keywords to batch register the report definition files.


    See Also:

    Appendix A, "Command-Line Keywords" for information on the rwconverter keywords.



    Note:

    To successfully create a script file with the necessary load functions, you specify the DTYPE, STYPE, SOURCE, and DEST keywords. To create a functional package in Oracle Portal, you must specify the P_SERVERS, P_PRIVILEGE, P_TYPES, P_FORMATS keywords in addition to the keywords used to create the script file.


    Following is an example rwconverter command line on Microsoft Windows:

    rwconverter.exe dtype="register" stype="rdffile"
    source="(security.rdf,earnings.rdf,acc_pay.rdf)" dest="(output.sql)" 
    p_owner="PORTAL_APP" p_servers="(repserver,acct_server)" 
    p_description="restricted report" p_privilege="(SCOTT,JABERS,ACCT)" 
    p_availability="production" p_types="(Cache,printer)" 
    p_formats="(HTMLCSS,PDF)" p_printers="(sales_printer,acct_printer)"
    p_pformTemplate="public.finance_template" 
    p_trigger="Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND 
    EMPNAME = ''SMITH'' THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;"
    

    This command line generates a SQL script file named output.sql that contains the following:

    SET SERVEROUTPUT ON 
    
    VAR STATUS NUMBER;
    
    EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Security', 
    P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server', 
    P_FILENAME=>'security.rdf', P_DESCRIPTION=>'restricted report', 
    P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production' 
    P_TYPES=>'Cache,printer', P_FORMATS=>'HTMLCSS,PDF', 
    P_PRINTERS=>'sales_printer,acct_printer 
    P_PFORMTEMPLATE=>'public.finance_template' P_PARAMETERS=>'(P_LASTNAME)
    (P_SSN)', P_TRIGGER=>'Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND 
    EMPNAME = ''SMITH''THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');
    
    EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Earnings', 
    P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server', 
    P_FILENAME=>'earnings.rdf', P_DESCRIPTION=>'restricted report', 
    P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production' 
    P_TYPES=>'Cache,printer)', P_FORMATS=>'HTMLCSS,PDF', 
    P_PRINTERS=>'sales_printer,acct_printer', 
    P_PFORMTEMPLATE=>'public.finance_template', 
    P_TRIGGER='Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND EMPNAME = ''JABERS''
    THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');
    
    EXEC :STATUS := RWWWVREG.REGISTER_REPORT (P_NAME=>'Acc_pay', 
    P_OWNER=>'PORTAL_APP', P_SERVERS=>'repserver,acct_server', 
    P_FILENAME=>'acc_pay.rdf', P_DESCRIPTION=>'restricted report', 
    P_PRIVILEGE=>'SCOTT,JABERS,ACCT', P_AVAILABILITY=>'production' 
    P_TYPES=>'Cache,printer', P_FORMATS=>'HTMLCSS,PDF', 
    p_printers=>'sales_printer,acct_printer', 
    P_PFORMTEMPLATE=>'public.finance_template' 
    P_TRIGGER=>'Is begin IF UPPER(DESTYPE) = ''PRINTER'' AND 
    EMPNAME = ''JABERS''THEN RETURN(TRUE); ELSE RETURN(FALSE); END IF; end;');
    

    For more information on the contents of this SQL script file, refer to Section C.3, "PL/SQL Batch Registering Function".

  2. Check the reports.log file, which is typically written to the current working directory, for errors that may have occurred during the conversion process. If the reports.log file was not generated, then no errors were encountered by rwconverter.

  3. You can now optionally edit the system and user parameter values as desired. For example, the first RWWWVREG function in the sample script generated an additional parameter called P_PARAMETERS. This occurred because the security.rdf file contains two user-defined parameters, P_LASTNAME and P_SSN:

    P_PARAMETERS=>'(P_LASTNAME)(P_SSN)',
    

    In this case, you can optionally define the default, low, and high values, or a list of values for each user parameter if you want to restrict the values the user may enter at runtime. Similarly, if you want to restrict system parameters, such as COPIES, to limit the number of copies a user can make, you do so using the P_PARAMETERS keyword. The edited P_PARAMETERS keyword might look like the following:

    P_PARAMETERS=>'(P_LASTNAME, LOV=LASTNAME_LOV)(P_SSN)(COPIES, DEFAULT=1,LOW=1,HIGH=2)'
    

    This revised code segment imposes the following restrictions on the report:

    • The P_LASTNAME user parameter is limited to the values listed in the LASTNAME_LOV list of values.

    • A user-supplied value for P_SSN is required.

    • The default value of the COPIES system parameter is one and the number of printed copies must be in a range from 1 to 2.

  4. Save and close the output.sql file.

C.1.2 Run the Script in SQL*Plus

To actually register your reports in Oracle Portal, you must run the script generated for you by rwconverter:

  1. Start SQL*Plus and connect to the Oracle Portal schema that you want to own the packaged procedures.

  2. From the SQL*Plus command prompt, execute the script you created with rwconverter:

    @ output.sql
    

    The script will execute and create packages in Oracle Portal for each report listed in the script with the specified parameters.

  3. Log in to Oracle Portal as a user with RW_ADMINISTRATOR privileges.

  4. Click the Corporate Documents tab.

  5. Click Builder.

  6. Click the Administer tab.

  7. In the Oracle Reports Security portlet, click Oracle Reports Security Settings.

  8. In the Reports Definition File Access portlet, enter the P_NAME of one of the reports you batch registered in your SQL script.

  9. Click Edit. The Manage Component page is displayed.

  10. Click Edit at the bottom of the page to edit the parameters of the report.

  11. Review and edit the parameters as desired.

  12. Click OK.

  13. Click Close.

  14. Repeat steps 8 through 13 for each report that you batch registered with your script.

PK2%%PK0;wE OEBPS/lot.htma& List of Tables

List of Tables

PKaaPK0;wEOEBPS/pbr_uxprt006.htmk Globalization Support

10.6 Globalization Support

This section explains multibyte character set printing support in Oracle Reports. It also explains the IX and PASTA utilities, which are supported only for Oracle Reports when installed and used in conjunction with Oracle Applications.

10.6.1 Multibyte Character Set Printing

Oracle Reports does not currently support Unicode character sets in PostScript output. As an alternative, you can use Oracle Reports PDF output (desformat=pdf), which supports multibyte character sets, and print it.

Oracle Reports supports a set of encoding schemes for the AFM files for the multibyte character sets.

The fonts must be installed on the printer that prints the PostScript report output.

Example

Suppose you build a report and its generated PostScript output contains a Chinese character set. First, you need AFM and PPD files that adhere to the encoding scheme for multibyte character sets. The destination printer must also have the required Chinese fonts installed because the PostScript file generated by Oracle Reports on UNIX does not have fonts embedded in it. The PostScript file contains only the font name and the font metrics taken from the AFM files. If you try to send the report to a printer that does not have the Chinese fonts installed, it will not print the Chinese characters properly.

10.6.2 Overview of IX and PASTA

When installed and used with Oracle Applications, Oracle Reports includes utilities for font embedding in PostScript output.

For character-mode reports, the utility is called PASTA. For bit-mapped reports, the utility IX enables you to embed the fonts in the PostScript output, thereby allowing you to print even if the font is not installed on the printer. Both PASTA and IX are supported only for Oracle Reports used with Oracle Applications.

When used for character-mode reports, PASTA takes tagged character mode output (generated through an appropriate prt file) and generates a PostScript rendition of it. IX enables Oracle Reports to print PostScript bit-mapped reports for all character sets, including UTF8, on a PostScript printer. With this functionality, PostScript printing in Unicode as well as all native languages on UNIX is supported. The IX library is turned off by default with the Oracle Reports patch.

Please refer to your Oracle Applications System Administrator's Guide for the setup and usage information for IX and PASTA with Oracle Reports. If you are a member of Oracle Metalink (http://metalink.oracle.com), you can also get this information from MetaLink notes 189708.1 and 159225.

If you have problems with PASTA, you can use the following technique to isolate the problem:

  1. Unset the PASTA environment variable.

  2. Try to perform the steps that caused the problem again.

  3. If the problem reproduces without the environment variable set, then it should be treated as a normal Oracle Reports printing problem and the diagnostic steps provided in this document should be applied.

    If the problem reproduces only with the PASTA environment variable set, then follow the diagnostic process given in the Oracle Applications documentation.

PKE'tPK0;wEOEBPS/pbr_intro001.htm=# Introduction to Oracle Reports

1.1 Introduction to Oracle Reports

Oracle Reports is Oracle's award-winning, high-fidelity enterprise reporting tool. It enables businesses to give immediate access to information to all levels within and outside of the organization in an unrivaled scalable and secure environment.

Using Oracle Reports, you can rapidly develop and deploy sophisticated Web and paper reports against any data source (including an Oracle database, JDBC, XML, and text files). Leveraging Java EE technologies such as JSP and XML, you can publish your reports in a variety of formats (including HTML, XML, PDF, Enhanced Spreadsheet, Spreadsheetdata, delimited text, delimiteddata, PostScript, and RTF) to any destination (including e-mail, Web browser, WebDav, FTP, Oracle Portal, and file system) in a scalable, efficient manner.

Oracle Reports consists of Oracle Reports Developer (a component of the Oracle Developer Suite) and Oracle Reports Services (a component of Oracle Fusion Middleware).

Oracle Reports Developer includes the following component:

Oracle Reports Services is the focus of this manual. It executes, distributes, and publishes your reports for enterprise wide reporting. Using Oracle Reports Services to deploy your reports results in gains of flexibility, time savings, and processing capacity. It includes the following components:

For more resources for information about Oracle Reports, refer to "Related Documentation" in the Preface.

1.1.1 Oracle Reports Builder

As its name implies, Oracle Reports Builder (rwbuilder) is the report-building component of Oracle Reports. Report developers use the Oracle Reports Builder design-time user interface to create and maintain report definitions, using:

  • user-friendly wizards that guide you through the report design process

  • pluggable data sources (PDSs), such as JDBC and XML, that provide access to data from any source for your reports

  • a query builder with a graphical representation of the SQL statement to obtain report data

  • default report templates and layout styles that can be customized if needed

  • a live editor that enables you to modify paper report layouts in WYSIWYG mode

  • the ability to add dynamic report output to an HTML page by embedding custom JSP tags within an HTML document

  • an integrated graph builder to graphically represent report data

  • the ability to generate code to customize how reports will run

  • tools that dynamically generate Web pages based on your data

  • standard report output formats such as HTML, HTMLCSS, XML, PDF, RTF, spreadsheet, PCL, PostScript, and ASCII

  • client-side parameter validation using JavaScript

  • the ability to execute dynamic SQL statements within PL/SQL procedures

  • support for Oracle database objects

  • event-based reporting (report execution based on database events)

  • seamless integration of Oracle Reports with Oracle Portal for administering report security and publishing report output to portlets

For more information, refer to the Oracle Reports online Help (select Help > Contents in Oracle Reports Builder), and the Oracle Reports Building Reports manual.

1.1.2 Oracle Reports Bridge

Oracle Reports Bridge (rwbridge) provides functionality for discovering a Reports Server across farms. For more information, see Section 2.3.4.1.2, "Server Discovery Across Subnets".

1.1.3 Oracle Reports Client

Oracle Reports Client (rwclient) provides a command-line interface to send a report to a remote Reports Server (rwserver).

1.1.4 Oracle Reports Runtime

rwrun (Reports Runtime) runs a report by starting its own in-process server (not to be confused with the default in-process Reports Server), which runs in the same JVM as the rwrun process. The configuration file for this in-process server is rwbuilder.conf and trace files are saved in the rep_machinename-rwbuilder directory.


Note:

It is recommended that you use rwrun for testing purposes only. Use rwservlet and rwclient in your production environment to take full advantage of the power of Oracle Reports Services.


1.1.5 Oracle Reports Servlet

Oracle Reports Servlet (rwservlet) is a component of Oracle Reports Services that translates and delivers information between either a Web Server or a Java EE Container (for example, Oracle WebLogic Server) and the Reports Server, enabling you to run a report dynamically from your Web browser.

1.1.6 Oracle Reports Server

Oracle Reports Server (rwserver) is a component of Oracle Fusion Middleware that provides reporting services to execute, distribute, and publish your reports for enterprise-wide reporting. This component processes client requests, including user authentication, scheduling, caching, and report distribution. Use Oracle Reports clients such as Oracle Reports Servlet (rwservlet), Reports JSP, and Oracle Reports Client (rwclient) to send a report to Oracle Reports Server (generally referred to as Reports Server).

PKoJ-@B#=#PK0;wEOEBPS/pbr_dist001.htm Distribution Overview

20.1 Distribution Overview

Although distribution XML files are not required for specifying the distribution of report output, they are useful for complex distributions. For example, there may be times when you want to publish the output of one report in a variety of ways. You might want to send an executive summary of a report to senior management while e-mailing detailed breakdowns to individual managers. In this case, you might produce a single report with two report sections: a portrait-sized summary section and a landscape-sized detail section. You would associate the detail section with a data model group that lists the managers, then alter the destination to burst the report on each instance of the group to send each department's output to its related manager.

The distribution XML file simplifies distribution complexity by enabling you to define multiple outputs for a given report in one XML file, then call that file from a command line or URL.

In order to use the same report definition file to burst and distribute to data-driven formats such as XML and DELIMITEDDATA, as well as to layout-driven formats such as PDF and ENHANCEDSPREADSHEET, you must ensure the following requirements are met:

  • The distribution XML file must specify the include element. For example:

    &lt;include src="mainSection"/&gt;
    
  • The Repeat On property must be set appropriately for the section(s) specified in the distribution XML file.

  • The section(s) specified in the distribution XML file in the report paper layout must not be empty.

PKL  PK0;wEOEBPS/pbr_bat003.htm1K PL/SQL Batch Registering Function

C.3 PL/SQL Batch Registering Function

The SQL script that rwconverter generates for you to batch register reports in Oracle Fusion Middleware consists mainly of calls to the RWWWVREG.REGISTER_REPORT function. The syntax of RWWWVREG.REGISTER_REPORT is as follows:

Function Rwwwvreg.register_report(
  p_owner varchar2,
  p_name varchar2,
  p_servers varchar2,
  p_filename varchar2,
  p_description varchar2,
  p_privileges varchar2,
  p_availability varchar2,
  p_types varchar2,
  p_formats varchar2,
  p_printers varchar2,
  p_pdformTemplate varchar2,
  p_parameters varchar2,
  p_trigger varchar2)
  return number;
    --  =0 : succeeded;
    --  !=0 : failed;

The table below describes each of the parameters taken by RWWWVREG.REGISTER_REPORT.

Table C-1 RWWWVREG.REGISTER_REPORT parameters

ParameterDescription

P_OWNER

Is the DB Provider name. The default is the current Oracle Fusion Middleware DB Provider that you are connected to when you start the SQL*PLUS script.

For example:

P_OWNER=>'PORTAL_APP'

P_NAME

Is the name used to identify the report in Oracle Portal.

P_NAME corresponds to the Name field in the Create Report Definition File Access wizard.

For example:

P_NAME=>'Earnings'

P_SERVERS

Is the names of the Reports Servers on which the report definition files defined in the P_SERVERS parameter have access privileges. The list of Reports Servers is comma delimited.

P_SERVERS corresponds to the Reports Servers field in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_SERVERS=>'repserver,acct'

Note: The Reports Servers you list for P_SERVERS must already be registered in Oracle Portal. For more information, refer to Chapter 16, "Deploying Reports in Oracle Portal".

P_FILENAME

Is the name of the report definition file that is being registered.

P_FILENAME corresponds to the Oracle Reports File Name in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_FILENAME=>'earnings.rdf'

P_DESCRIPTION

Is a description of the report.

P_DESCRIPTION corresponds to the Description field in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_DESCRIPTION=>'restricted report'

P_PRIVILEGE

Is the users or roles given privileges to run the report definition file defined in P_FILENAME. This list is comma delimited.

P_PRIVILEGE corresponds to the Grantee list on the Access tab of the Manage Component page for the report. Note that you must uncheck Inherit Privileges from Portal DB Provider in order to see the Grantee list.

For example:

P_PRIVILEGE=>'SCOTT,JABERS,PORTAL90'

P_AVAILABILITY

Is the name of the availability calendar that determines when the report definition file defined in the P_FILENAME parameter will be available for processing.

P_AVAILABILITY corresponds to the Availability Calendar Name field in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_AVAILABILITY=>'production'

Note: The availability calendar must already exist in Oracle Portal. For more information on creating an availability calendar, see Chapter 16, "Deploying Reports in Oracle Portal".

P_TYPES

Is the destination types to which the report definition file defined in the P_FILENAME parameter can be sent (for example, cache, printer). This list is comma delimited.

P_TYPES corresponds to the Types multiple select box in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_TYPES=>'CACHE,printer'

P_FORMATS

The destination formats to which the report definition file defined in the P_FILENAME parameter can be sent (for example, HTML, PDF). This list is comma delimited.

P_FORMATS corresponds to the Formats multiple select box in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_FORMATS=>'HTMLCSS,PDF'

Note: If the destination format for the report is DELIMITEDDATA, it may not be possible to batch register the report. As a workaround, you can define a different destination format, then batch register the report, and later manually edit the report to DESFORMAT=DELIMITEDDATA.

P_PRINTERS

The printers to which the report definition file defined in the P_FILENAME parameter can print. This list is comma delimited.

P_PRINTERS corresponds to the Printers multiple select box in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_PRINTERS=>'sales_printer,acct_printer'

Note: The printers you list for P_PRINTERS must already be registered in Oracle Portal. For more information, refer to Chapter 16, "Deploying Reports in Oracle Portal".

P_PFORMTEMPLATE

Is the parameter form template that determines the page style of the Runtime Parameter Form.

P_PFORMTEMPLATE corresponds to the Parameter Form Template field in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_PFORMTEMPLATE=>'public.finance_template'

P_PARAMETERS

Is the user and system parameters' default, high, and low values, or list of values name.

Note: The P_PARAMETERS parameter does not have a corresponding rwconverter option. Hence, if you want to batch import user parameter values, ranges, or lists of values, you must manually edit the SQL script generated by rwconverter.

P_PARAMETERS corresponds to the (parameter) Name, LOV, Low Value, and High Value fields in the Create Report Definition File Access wizard and the Edit Report Definition File page.

The default corresponds to the value set in the Runtime Parameter Form for the specified parameter.

For example:

P_PARAMETERS=>'(P_LASTNAME, LOV=LASTNAME_LOV) (P_SSN)(COPIES, DEFAULT=1,LOW=1,HIGH=2)'

where:

P_LASTNAME, P_SSN, and COPIES are parameter names.

LOV is the name of the list of values.

DEFAULT is the default value.

LOW is the low value in a range of values.

HIGH is the high value in a range of values.

P_TRIGGER

Is the validation trigger written in PL/SQL that returns a boolean statement (for example, true (succeeded) or false (failed)).

P_TRIGGER corresponds to the text box in the Create Report Definition File Access wizard and the Edit Report Definition File page.

For example:

P_TRIGGER=>'Is begin

IF UPPER(DESTYPE) = ''PRINTER'' AND

EMPNAME = ''SMITH''

THEN

RETURN(TRUE);

ELSE

RETURN(FALSE);

END IF;

end;'


PKP͹11PK0;wEOEBPS/pbr_uxprt009.htm w Frequently Asked Questions

10.9 Frequently Asked Questions

This section addresses some commonly encountered problems with UNIX printing.


Note:

Reports Server uses rwlpr for submitting a print job. For rwlpr logging for Windows, when you enable tracing for Reports Server using either traceModule=all or traceModule=server, a printing diagnostic log (server_name-rwlpr-jobid.log) is created in the log directory ($ORACLE_INSTANCE/diagnostics/logs/ReportsServerComponent/<reports server name>) for destype=printer. This log file will contain information regarding the messages that can be used to diagnose any printing issues, such as spooler problem.


10.9.1 Common Printing Error Messages

REP-00177 - Error while running in remote server

REP-1800 - Formatter error

REP-3300 - Fatal error in component name

UI-9 - This function call is out of context.

REP-3002: Internal error initializing printer information

Cause:

These errors generally indicate a printer configuration issue.

Action:

Check the printer queues that have been defined at the operating system level in your setup. You can use:

  • lpc status

  • lpstat -a

If a valid printer queue is installed, check for the following:

  • uiprint.txt must have a valid entry for the printer.

  • Oracle Reports must be able to open and read the uiprint.txt file:

    The person running the report must have operating system level read permissions on uiprint.txt. Oracle Reports must be able to open the uiprint.txt. UNIX operating systems do have an open file limit. If you are over that limit, Oracle Reports might not be able to open uiprint.txt.

  • The printer description files specified in uiprint.txt must exist in your installation in:

    ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin
    
  • The printer specified in uiprint.txt must be enabled at the operating system level. A quick test is to try printing any file from the command line using lp or lpr. If you can print using one of these commands and get the output on the printer, then the printer is enabled.

  • The printer queue and uiprint.txt entry syntax must be valid.

    If the printer validation fails, refer to the environment variables TK_PRINT_STATUS and REPORTS_NO_DUMMY_PRINTER in Appendix B, "Environment Variables".

REP-00826 - Invalid printer driver xxx specified by parameter desformat.

REP-00177 - Error while running in remote server (When run through CGI)

Cause:

An invalid value was specified for DESFORMAT for the specified report execution mode.

Action:

The DESFORMAT parameter specifies which output format is needed. Valid formats are:

  • For bitmapped reports, any of the output formats supported by Oracle Reports (PostScript, PCL, PDF, HTML, XML, HTMLCSS, ENHANCEDSPREADSHEET, SPREADSHEET) is valid for DESFORMAT. You should not give the PRT file names here. While running to a file, the DESFORMAT parameter needs to be set to a valid printer queue. Oracle Reports uses the printer definition file associated with the printer to format the output.

  • For character mode reports, DESFORMAT sets up the output for ASCII printers and passes escape characters. For running character mode reports, ensure that you change the MODE parameter to Character and use any valid .PRT file.

Table 10-7 maps the command line options (DESTYPE, DESNAME, and DESFORMAT) to the printer by what you are trying to achieve.

Table 10-7 DESTYPE, DESNAME, and DESFORMAT Settings By Case

CaseDESTYPEDESNAMEDESFORMAT

Generating to a file

FILE

file_name.ps

printer_name

Printing

PRINTER

printer_name


DISTRIBUTE=YES



printer_name

MODE=CHARACTER



file_name.prt


REP-01800 - Formatter error.

REP-00177 - Error while running in remote server

(When run through CGI)

Cause:

The error indicates that a printer configuration issue has occurred on a UNIX server. Even if there is not a physical printer available on the system, you have to set it up as if there was one.

Action:

  1. Verify that there is a valid entry in uiprint.txt.

  2. If you have multiple printer queue entries in uiprint.txt and you want to set the default printer, verify that the environment variable is set to a printer that is listed in uiprint.txt. If the related environment variable is not set, then the first entry in uiprint.txt is used. For more information on printer-related environment variables, refer to Appendix B, "Environment Variables".

If there is no printer available for your system, refer to Section 10.3, "Configuring the Printing Environment" for alternatives.

Error while printing to a printer with spaces in its name

Cause:

If you are on Solaris 2.8 and have printers that have spaces in the names, you may encounter a bug that causes an error resulting from the lpr/lp command including quotes around the printer name.

Action:

To resolve this issue, you must do either one of the following:

  • Remove the spaces in the printer's name.

  • Install the Solaris 2.8 patch from Sun Microsystems that fixes the lpr/lp command so that quotes can be used in printers names.

    and

  • Modify the section of rwlpr.sh that provides the workaround for including quotes, in order to make accessible any printer that has a space in the name. The rwlpr.sh file is located in the $ORACLE_INSTANCE/config/reports/bin directory.

    Specifically, make the following changes:

    #either LPR or LP Command was found 
    if [ -x $PRNCMDPATH ]
     then
       if [ `basename $PRNCMDPATH` = "lpr" ]
       then
        #if [ `/usr/bin/uname -r` = "5.8" ]
        #then
          #$PRNCMDPATH `echo $@ | tr -d "\""`
        #else
          $PRNCMDPATH "$@"
        #fi
      else
       # parse and Fix the command Line as Required by lp
       #if [ `/usr/bin/uname -r` = "5.8" ]
       #then 
         #getLpCommandLine `echo $@ | tr -d "\""`
       #else
         getLpCommandLine "$@"
       #fi
       $PRNCMDPATH
      fi  
      # exit with the command's exit code , This will tell the 
      # server Print module if the command completed successfully 
      # or not.
      exit $?
    fi
    done
    

Printing on Solaris 2.9

If you print a report using the DESTYPE=PRINTER and the DESNAME=printer_name command line options on Solaris 2.9, you will encounter the following errors:

REP-0069: Internal error
REP-57054: Inprocess job terminated with error
REP-50157: Error while sending file to printer 2op837a.Exit with error code 1

To resolve this issue, you must do the following:


Note:

Create a backup of the rwlpr.sh file before proceeding. On Solaris, rwlpr.sh is the printing script file located in the $ORACLE_INSTANCE/config/reports/bin directory. This script file supports lp and lpr commands by default.


  1. Navigate to the following line at the end of the file:

    #either LPR or LP Command was found
    
  2. Add an OR operator to the existing if...else condition.

    if [ `uname -r` = "5.8" ] || [ `uname -r` = "5.9" ] # If Solaris Release 5.8 / 5.9
       ...
       else
       # parse and Fix the command Line as Required by lp
                                            ...
         if [ `uname -r` = "5.8" ] || [ `uname -r` = "5.9" ]# If Solaris Release   
         5.8/ 5.9 
    
  3. The if...else if condition checks for the Solaris Release version. Based on the version number, it strips the quotes from the printer name and passes it to the print command.

10.9.2 PCL Printing Issues

Why do fields that appear as gray on my PC print as white on a UNIX PCL printer?

PCL color printing is not supported. When the pattern is set to transparent, PCL printing uses the white pen (in PCL language) to draw. When the pattern is set to a solid pattern, it uses the black pen. This behavior occurs irrespective of what color is set for the foreground or background. PostScript printing logic is different. It uses the foreground color set when the pattern is solid and the background color set when the pattern is transparent.

What PCL level is supported in Oracle Reports?

The Oracle Reports PCL driver currently supports the features of PCL Level 3. It does support HPD files for later PCL versions, but it will not honor the additional features introduced since PCL Level 3.

10.9.3 PostScript Printing Issues

What is the work around for duplex printing on PostScript printers?

You should have a printer with a duplex option and an appropriate PPD file. The example that follows was tested with a PPD file for the Kyocera FS-9000 printer. You also need the UNIX sed tool named to filter the output file.

The problem with duplexing is that it is enabled at the job level, but it gets reset in the page setup because the paper size and printer tray information are generated for every page. To work around this problem, you need a script that removes the page level setup information to avoid resetting the duplex setting. A side effect of this work around is that you cannot switch the printer tray between pages.

  1. Write a sed script with the following three lines:

    /^%%BeginPageSetup/,$ {
       /^%%BeginFeature/,/^%%EndFeature/d
    }
    
  2. Save the script to a file named duplexsed.

  3. Copy duplexsed to an appropriate directory, such as ORACLE_HOME/bin.

  4. Set the environment variable TK_PRINT as follows:

    TK_PRINT="sed -f $ORACLE_HOME/bin/duplexsed | lpr -l -s -P'%n' -#'%c'"
    export TK_PRINT
    

    Note:

    Print commands differ for various kinds of UNIX. Check your installation guide and man pages for your platform. Refer to Appendix B, "Environment Variables" for a description of TK_PRINT.

    The command stored in TK_PRINT is only executed if DESTYPE=PRINTER. If DESTYPE=FILE, you still get a PostScript file with page level setup information. You can run the duplexsed script against the PostScript file to correct it.


What PostScript level is supported in Oracle Reports?

Oracle Reports supports PostScript Level 1 and 2.

How do you dynamically change the printer tray setting in the midst of a print job?

In some cases, you may want to switch printer trays in the middle of a report. For example, you might want the first page of a report printed on letterhead stationary and subsequent pages printed on plain white paper. For character mode reports, you can achieve this result through a combination of editing the .prt file and changing the report's properties. For bit-mapped reports, you use the SRW.SET_PRINTER_TRAY built-in procedure. On UNIX, this functionality is supported for PostScript output but not PCL output. For PCL, Oracle Reports ignores the commands for changing orientation and paper tray. Although dynamically changing the orientation and printer tray for PCL is not supported on UNIX, you can change them at runtime through the print dialog box for PCL.

By using the Before Report, Between Pages, or format triggers you can switch to different printer trays as your report formats. This enables you to easily print pages of the same report on different sheets of paper.


Note:

For a description of the SRW built-in package, including the SRW.SET_PRINTER_TRAY built-in procedure, see the Oracle Reports online Help.


Example

From the BEFORE REPORT trigger, you can set the printer tray for the very first page:

function BeforeReport return boolean is
begin
    srw.set_printer_tray('UPPER PAPER TRAY');
    return (TRUE);
end;

To set the printer tray dynamically for subsequent pages, add a format Trigger to an item that prints on each page of the report. The following code checks for even pages and sets the page number accordingly:

function B_tbpFormatTrigger return boolean is
page_num number;
begin
   srw.get_page_num(page_num);
  begin
 if mod(page_num, 2) = 0 then  
   srw.set_printer_tray('UPPER PAPER TRAY'); 
  else 
   srw.set_printer_tray('LOWER PAPER TRAY');
 end if;         
  return (true);
end;
end; 

Why does the external print command ignore the tray select option while trying to print the PostScript output generated by Oracle Reports?

Suppose that you enter the following print command:

lp -dprinter -oupper $report_print_file1

In this case, the -oupper option in the lp command is ignored. The reason for this behavior is that Oracle Reports generates tray information in its PostScript output. The tray selection in the PostScript overrides the specification on the command line. If you want the tray information on the command line to be respected, you must remove the tray information from the PostScript file. You can do this by searching for and removing the following from your PostScript file:

%%BeginFeature: *InputSlot name of printer tray   
....
%%EndFeature

For more information on switching printer trays, refer to How do you dynamically change the printer tray setting in the midst of a print job?

10.9.4 Font-Related Printing Issues


See Also:


How do you check whether a font is used in Oracle Reports printing?

PostScript files have a list of fonts, which is created after reading the PPD file. If you examine the PostScript file, you can check the fonts by looking for the following tags:

  • DocumentNeededResource has the list of fonts referenced in the PPD file.

  • DocumentSuppliedResource has the list of fonts for which the PostScript driver was able to find corresponding AFM files.

  • %%Page before the field's %IncludeResource:font has the font name that will be used for the field.

For PCL output files, you can check whether a particular font was used. Depending on this information, the font settings in Oracle Reports or the printer can be modified.

What is the real difference between running reports to Screen and Preview?

Formatting a report to Screen, for screen fonts, guarantees that the report will look good in the Paper Design view of the Report Editor. If an attempt is made to print a report formatted with screen fonts, though, it is likely to come out with some differences because screen fonts typically map very poorly to printer fonts. If Preview is selected instead of Screen, the report is formatted with printer fonts and the output on the screen is almost certain to match the printed output.

Will there be any font issues if I do not have a valid printer installed?

Prior to Oracle Reports 10g on UNIX, you had to set the DISPLAY environment variable in order for Reports Server to use the windowing system display surface for creating images and getting pixel resolution. This dependency is removed with Oracle Reports 10g.

Additionally, earlier releases required a valid printer on UNIX for fonts. When no valid printer was available, Oracle Reports Services used the screen fonts, which again required setting the DISPLAY environment variable. Now, Oracle Reports Services includes a default screen printer surface, ScreenPrinter, that emulates a screen or printer for fonts in the absence of an available printer. As a result, Oracle Reports Services no longer requires a printer on UNIX.

10.9.5 Printed Output Issues

Why does my report look okay on the screen but have truncated data when printed?

Any one of a number of possible causes may account for the truncation of fields.

  • Check the field and determine if it is allowed to expand.

    1. In Oracle Reports Builder, double-click the field in the Paper Design or Paper Layout view to display the Property Inspector.

    2. Find the Horizontal Elasticity property.

    3. If it is set to Fixed, you should change it to Variable or Expand.

    4. Run the report to the printer.

    5. If it still truncates, it could be that the field requires multiple lines.

    6. Return to the Property Inspector for the field and check its Vertical Elasticity.

    7. If it is set to Fixed, you should change it to Variable or Expand.

    8. Run the report to the printer again.

  • If the right most fields on the page are always the ones truncating, it could be an issue with the printable area of the printer. If you are using a PCL printer, then you will have to estimate the size of the printable area and resize your margins accordingly:

    1. Open the report in Oracle Reports Builder.

    2. Go to the Paper Layout view.

    3. Click the Margin tool on the top tool bar. A thick black line appears indicating where the body of your report ends and the margin begins.

    4. Click and drag the black line to the left approximately 0.5 inches.

    5. Save and run the report to the printer again.

    6. If necessary, repeat steps 4 and 5 to determine approximately where the printable area boundary is located and then ensure that your report body fits within that area.

  • If you are using a PostScript printer, you can get the printable area boundary to appear in the Paper Layout view as follows:

    1. Open the report in Oracle Reports Builder.

    2. Choose File > Page Setup.

    3. Verify that the margins are small and that the orientation is correct.

    4. Click OK. The Paper Layout view should now be able to read the boundary.

    5. Go to the Paper Layout view.

    6. Click the Margin tool on the top tool bar. A thick black line appears indicating where the body of your report ends and the margin begins. A black hashed line also appears indicating the boundary of the printable area.

    7. Ensure that the thick black line is inside of the black hashed line. If it is not, click and drag the black line inside the printable area.

    8. Click the Margin tool to leave margin mode.

    9. If necessary, reposition your fields to fit within the new body boundaries.

    10. Save and run the report to the printer.

  • For PCL, if it is still truncating, try using a fixed space font instead of a proportional font. Sometimes PCL printers have problems interpreting proportional space fonts and it leads to truncation. You should try using a fixed space font, such as Courier, and possibly font aliasing.


    See Also:

    Chapter 9, "Managing Fonts in Oracle Reports" for more font-related information.



    Note:

    Default layouts are built against a generic printer. Each printer has its own printable area. As a result, you may have to reset the report to fit the printer. Ideally, if you know the various printers you will be using, you can design the report from the start to fit the printer with the smallest printable area.


PKK]w wPK0;wEOEBPS/pbr_conf006.htm? Configuring the URL Engine

8.6 Configuring the URL Engine

Reports Server includes a URL engine that can take the contents of any URL and distribute them. The URL engine enables you to leverage the powerful scheduling and distribution capabilities of Reports Server to distribute content from any publicly available URL to various destinations such as e-mail, Oracle Portal, and WebDAV. Since Reports Server's destinations are pluggable, you can also add your own custom destinations for the URL content.

Furthermore, if you use the URL engine in conjunction with Reports Server's event-based APIs, database events can trigger the content distribution. For example, suppose you have created a JSP report for high fidelity Web publishing of data stored in a table containing employee expense data. You could then use the URL engine and the event-based API to e-mail that JSP whenever the expense application stores new or updated employee expense data in the table.

If the URL engine is not activated, you can activate it by doing the following:

  1. Add an engine element for the URL engine to the server configuration file. For example, your engine element might be as follows:

    <engine id="rwURLEng" 
                 class="oracle.reports.engine.URLEngineImpl"
                 initEngine="1"
                 maxEngine="1"
                 minEngine="0"
                 engLife="50"
                 maxIdle="30"
                 callbackTimeOut="60000"
    />
    
  2. Add a job element that associates the appropriate job types with the URL engine to the server configuration file. For example, your job element might be as follows:

    <job jobType="rwurl" engineId="rwURLEng"/>
    
  3. Stop and restart Reports Server.


    Note:

    When you restart your Reports Server with these new elements, you should see the number of engines increase accordingly in the Reports Server status message box. In the preceding example, the number of engines would increase by one (the value of initEngine) when you restart Reports Server.


To learn about sending requests to the URL engine, refer to Chapter 18, "Running Report Requests".

PK*wPK0;wEOEBPS/pbr_strt001.htmFc Starting and Stopping Reports Server

6.1 Starting and Stopping Reports Server

The best way to run Reports Server is through the Oracle Process Manager and Notification Server (OPMN). OPMN provides a centralized mechanism for initializing, maintaining, and shutting down your Oracle HTTP Server, Oracle WebLogic Server processes, and OracleAS Reports Services. For more information on configuring Reports Server through OPMN, see Section 8.8, "Configuring Reports Server with the Oracle Process Manager and Notification Server and Oracle Enterprise Manager"


Important:

You must start or stop a Reports Server registered with Oracle Enterprise Manager only through Oracle Enterprise Manager 11g or OPMN. OPMN automatically restarts Reports Server if it stops responding for some reason. OPMN runs as a Windows service on Windows.

In Oracle Reports, running Reports Server as Windows service is no longer supported (rwserver -install server_name). As a result, the related command line keywords INSTALL and UNINSTALL are obsolete. If you start or stop a Reports Server that is managed by OPMN running as a Windows service or through the command line, you may face the following issues:

  • Oracle Enterprise Manager may not accurately reflect the status of Reports Server and metrics information.

  • Oracle Enterprise Manager 11g may display errors when starting or stopping Reports Server.

For more information about the obsolescence of running Reports Server as a Windows service, see A Guide to Functional Changes Between Oracle Reports 6i and 10g on the Oracle Technology Network (OTN).


6.1.1 Starting, Stopping, and Restarting Reports Servers from Oracle Enterprise Manager

When the standalone Reports Server is configured through OPMN, you can start, stop, and restart it through Oracle Enterprise Manager


Note:

The in-process server is available as part of wls_reports and thus registered with Oracle Enterprise Manager during installation of Oracle Application Server. If you add any Reports Servers after installing Oracle Application Server, you must register the new server(s) in the Oracle Enterprise Manager's targets.xml file and the Oracle Process Manager and Notification Server's opmn.xml file. For more information, see Section 8.8, "Configuring Reports Server with the Oracle Process Manager and Notification Server and Oracle Enterprise Manager"


To start, stop, or restart a Reports Server:

  1. From the Reports Server main page, navigate to Reports > Control menu, and select:

    • Start Up to start the server.

    • Shut Down.. to stop the server.

    • Restart... to restart the server.

6.1.2 Starting, Stopping, and Restarting Reports Servers from the Oracle Process Manager and Notification Server

Before you start the Oracle Reports Server with Oracle Process Manager and Notification (OPMN), you must add the Server to OPMN, as shown in the following example:

ORACLE_INSTANCE/bin/opmnctl createcomponent -adminUsername weblogic -adminHost <host_name> -adminPort <port> -oracleHome <oracle_home -oracleInstance <instance_home> -instanceName <instancename> -componentName <bridge_name> -componentType ReportsServerComponent

You can use the following command lines to start, stop, and restart Reports Server if it was configured through the Oracle Process Manager and Notification Server:

ORACLE_INSTANCE/bin/opmnctl startproc ias-component=reports_server_name
ORACLE_INSTANCE/bin/opmnctl startproc process-type=ReportsServerComponent
ORACLE_INSTANCE/bin/opmnctl stopproc ias-component=reports_server_name
ORACLE_INSTANCE/bin/opmnctl restartproc ias-component=reports_server_name

The Reports Server name must match the name in the ias-component id in the opmn.xml file.

You can also query the status of the Oracle Process Manager and Notification Server, by using the following command:

ORACLE_INSTANCE/bin/opmnctl status

For more information on configuring Reports Server through the Oracle Process Manager and Notification Server, see Section 8.8, "Configuring Reports Server with the Oracle Process Manager and Notification Server and Oracle Enterprise Manager"

6.1.3 Alternative Methods of Starting and Stopping Reports Server

If you choose not to run Reports Server through OPMN and maintain it through Oracle Enterprise Manager, you can use these older methods of running Reports Server:

  • Starting the In-process Server (Windows and UNIX)

  • Starting Reports Server from a Command Line (Windows and UNIX)

  • Stopping Reports Server


Important:

Beginning with Oracle Reports 10g Release 2 (10.1.2), running Reports Server as a Windows service is no longer supported, as mentioned at the beginning of this section.


6.1.3.1 Starting the In-process Server (Windows and UNIX)

If you are using Reports Server as an in-process server (the default configuration), sending a run report request starts the in-process server; however, if you are sending a request through a command line, the servlet must be invoked first using either the run report URL or the Web command URL. When you have successfully started the servlet, this also means you have successfully started the in-process server.

To directly start the in-process server from a URL, enter the following from your Web browser:

http://your_machine_name:your_port_num/reports/rwservlet/startserver

6.1.3.2 Starting Reports Server from a Command Line (Windows and Linux)

Before you start the Reports Server from command line, you must set the COMPONENT_CONFIG_PATH environment variable as follows:

COMPONENT_CONFIG_PATH=ORACLE_INSTANCE/config/ReportsServerComponent/<reports_server_name>

To start Reports Server as a standalone server on Windows, use the following command:

rwserver server=server_name

Add the BATCH command line keyword to start up the server without displaying dialog boxes or messages.

rwserver server=server_name batch=yes

You can run this command on UNIX using the following syntax:

rwserver.sh server=server_name

Or:

rwserver.sh server=server_name batch=yes

Important:

If DISPLAY is not set, you must start Reports Server in batch mode (batch=yes).

For more information about removing DISPLAY and printer dependencies in UNIX systems, see Section 10.8.

For more information about the REPORTS_DEFAULT_DISPLAY environment variable, see Appendix B.


You can run this command from any directory as long as the shell script can be reached in your PATH environment variable.

6.1.3.3 Stopping Reports Server

There are several ways to stop Reports Server on Windows and UNIX, as follows:

  • If Reports Server is running on Windows through the rwserver executable, or on UNIX through a shell script, rwserver.sh, click Shutdown in the Reports Server dialog box.

  • If you are not running Reports Server from the command line, launch Oracle Enterprise Manager, and navigate to the Reports Server home page and from the Reports menu select Control > Shut Down...

  • If Reports Server is running as an in-process server through the Reports Servlet, issue the following URL:

    http://your_host_name:port_number/reports/rwservlet/stopserver?authid=admin user/admin password
    
  • If Reports Server is running from a command line on Windows or UNIX, use any of the following commands, depending on how you want to shut down the Reports Server.


    Note:

    On UNIX, use rwserver.sh instead of rwserver.


    Before you shut down the server, you must set the COMPONENT_CONFIG_PATH environment variable as follows:

    COMPONENT_CONFIG_PATH=ORACLE_INSTANCE/config/ReportsServerComponent/<reports_server_name>

    To shut down the server normally (that is, finish pending jobs and then stop):

    rwserver server=server shutdown=normal authid=username/password
    

    To shut down the server immediately (that is, stop without finishing pendingjobs):

    rwserver server=server shutdown=immediate authid=username/password
    

    To shut down the server without displaying any related messages:

    rwserver server=server shutdown=normal authid=username/password batch=yes
    

    The keywords used with the rwserver command are described in Appendix A, "Command-Line Keywords"


    Note:

    authid is Reports Server's administration user name and password. In Oracle Reports 11g Release 1 (11.1.1), the default security is based on standards-based Java EE security model through Oracle Platform Security Services. For a non-secure Reports Server, this user is defined in the identifier element. The following bullet contains more information on how to stop a non-secure Reports Server using the command line.


  • When you stop or shut down a non-secure Reports Server from the command line using either rwserver.sh or rwrqv.sh, you must provide a valid authid, which must match the value set in the identifier element in the server configuration file. However, the identifier element is set during Reports configuration while installing Oracle Application Server and encrypted by Reports Server. You can reset the identifier element to any value. If you have registered this Reports Server with Oracle Enterprise Manager and OPMN, you must also change the corresponding properties in targets.xml for Oracle Enterprise Manager integration to work. Perform the following steps:

    1. In the non-secure Reports Server's configuration file, server_name.conf, modify the identifier element to specify the username/password and set the encrypted attribute to no. For example:

      <identifier encrypted="no">scott/tiger</identifier>
      
    2. Stop and restart Reports Server manually for the changes made to the server_name.conf file to take effect.


      Note:

      You must restart Reports Server for any configuration changes to take effect.


      Reports Server will now encrypt the username/password value of the identifier element. After Reports Server reads the changes made in the server_name.conf, the following commands should execute successfully (with scott/tiger as the username/password):

      ./rwserver.sh server=server_name shutdown=normal authid=scott/tiger
      ./rwrqv.sh server=server_name shutdown=normal authid=scott/tiger
      
    3. For Oracle Enterprise Manager integration, edit the targets.xml file (in $ORACLE_INSTANCE/EMAGENT/emagent_asinst_1/sysman/emd ) using any text editor, as follows:

      • Search for target with TYPE="oracle_repserv" and DISPLAY_NAME="Reports Server: server_name".

      • In the entry, set the UserName property and the Password property to the same user name and password as in the identifier element in the server_name.conf file. Set the ENCRYPTED attribute to FALSE for these two properties.

      • Restart Oracle Enterprise Manager for the changes to take effect.

      You should now be able to stop and shut down a non-secure Reports Server using Oracle Enterprise Manager.


      Note:

      These steps are required only for a non-secure Reports Server and not for secure Reports Servers.


PKFFPK0;wEOEBPS/pbr_verify003.htm Verifying OOTB Installation

3.3 Verifying OOTB Installation

Make sure Oracle Reports components are created out-of-the-box (OOTB), and are available and ready to use after installation and configuration in the following way:

3.3.1 Using Oracle Enterprise Manager

In Oracle Enterprise Manager, navigate to the following pages to manage and view Oracle Reports components:

  • Reports Server Home Page, along with Basic Configuration and Advanced Configuration pages

  • Forms/Reports Common Component Configuration Page

  • Reports Tools Component Configuration Page

  • Reports New Job Scheduling Page

  • Reports Bridge Home Page, along with configuration pages

  • Reports Application Home Page, along with Basic Configuration and Advanced Configuration pages

  • Reports Security Policies Page

  • Reports Security Configuration Page

  • Reports Log Configuration Page

  • Reports Jobs Page (Finished/Scheduled/Current/Long Running/Failed)

Use these pages to perform checks and verifications, start a standalone Reports Server, shut down the standalone Reports Server, and run a report using rwservlet and the in-process Reports Server.

For more information, see Chapter 7, "Administering Oracle Reports Services Using Oracle Enterprise Manager".

PK6. PK0;wEOEBPS/pbr_evnt003.htm Invoking a Report from a Database Event

21.3 Invoking a Report from a Database Event

Database triggers are the primary mechanism for invoking reports using the Event-Driven Publishing API. The Oracle database enables you to define various scopes of triggers that fire in response to various events. To submit a database-driven job, you use the code described in the previous sections within a database trigger.

There are many ways to use event-driven publishing. One way is to create security protocols using a trigger that fires whenever a grant is done or a user logs on or off. Another way is to create automated processes that respond to certain types of changes to data in a table. For example, a database trigger could fire when the status of an expense report changes to DONE; in turn, a report could automatically be sent to an employee's manager.

For example:

CREATE TRIGGER EXP_REP_TRG
AFTER INSERT OR UPDATE on EXP_REP FOR EACH ROW
DECLARE
myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;
BEGIN
IF (:new.ExpStat = 'DONE') THEN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','fooSVR');
SRW.ADD_PARAMETER(myPlist,'REPORT','foo.RDF');
SRW.ADD_PARAMETER(myPlist,'USERID','foo/bar');
SRW.ADD_PARAMETER(myPlist,'ExpenseID',:new.ExpID);
myIdent := SRW.RUN_REPORT(myPlist);
END IF;
END;

This trigger will fire after each update on the EXP_REP table. In the event the status changes to DONE, the report request is run.

If you want your request to run against a key specified in the cgicmd.dat key map file (for more information, see Section 18.13, "Using a Key Map File"), specify the CMDKEY parameter in lieu of the REPORT parameter. If the key contains user ID information, you can omit the USERID parameter as well. For example:

CREATE TRIGGER EXP_REP_TRG
AFTER INSERT OR UPDATE on EXP_REP FOR EACH ROW
DECLARE
myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;
BEGIN
IF (:new.ExpStat = 'DONE') THEN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','fooSVR');
SRW.ADD_PARAMETER(myPlist,'CMDKEY','keyvalue');
SRW.ADD_PARAMETER(myPlist,'ExpenseID',:new.ExpID);
myIdent := SRW.RUN_REPORT(myPlist);
END IF;
END;

Additionally, if you have defined an advanced distribution model through a distribution XML file, you can specify that file with the DESTINATION parameter. For example:

CREATE TRIGGER EXP_REP_TRG
AFTER INSERT OR UPDATE on EXP_REP FOR EACH ROW
DECLARE
myPlist SRW_PARAMLIST;
myIdent SRW.JOB_IDENT;
BEGIN
IF (:new.ExpStat = 'DONE') THEN
myPlist := SRW_PARAMLIST(SRW_PARAMETER('',''));
SRW.ADD_PARAMETER(myPlist,'GATEWAY','http://…');
SRW.ADD_PARAMETER(myPlist,'SERVER','fooSVR');
SRW.ADD_PARAMETER(myPlist,'REPORT','foo.RDF');
SRW.ADD_PARAMETER(myPlist,'USERID','foo/bar');
SRW.ADD_PARAMETER(myPlist,'DISTRIBUTE','YES');
SRW.ADD_PARAMETER(myPlist,'DESTINATION','filename.xml');
SRW.ADD_PARAMETER(myPlist,'ExpenseID',:new.ExpID);
myIdent := SRW.RUN_REPORT(myPlist);
END IF;
END;

This is one way to move this kind of logic from your application into the database and use the database as a central storage for business processes.


Note:

You'll find additional examples of the Event-Driven Publishing API in action in the demo script srw_test.sql, included with your Oracle Reports Services installation.


PKi`#PK0;wEOEBPS/pbr_webservice004.htmm Using RWWebServiceUtil to Test RWWebService

19.4 Using RWWebServiceUtil to Test RWWebService

Oracle Reports installation provides a sample RWWebServiceUtil webservice testing utility class. This is available in ORACLE_HOME /reports/jlib/rwrun.jar. RWWebServiceUtil can be used to test various operations supported by RWWebService.

The following procedure outlines the necessary steps involved in using this utility:

  1. Include rwrun.jar in the classpath.

  2. Run RWWebServiceUtil as a normal java program as following:

    $ORACLE_HOME\jdk\bin\java oracle.reports.rwclient.RWWebServiceUtil

  3. It displays the following usage:

    -endpoint       url of the webservice
    -method         web service operation to invoke
    
    runJob,getJobInfo,getServerInfo,killJob,getAPIVersion
     
       Input Parameters for runJob
        -cmdline        command line to be used while submitting the job
        -sync           boolean value to specify if job should be submitted
                        in synchronous manner or asynchronous manner
     
       Input Parameters for getJobInfo
        -server         server to be used for processing the request
        -jobid          jobid in numeric format
        -authid         user/password for authentication, if server is secure
     
       Input Parameters for getServerInfo
        -server         server to be used for processing the request
        -authid         authid for authentication, if server is secure
     
       Input Parameters for killJob
        -server         server to be used for processing the request
        -jobid          jobid in numeric format
        -authid         authid for authentication, if server is secure
    
  4. You can use this utility to submit jobs to reports server using the following command:

    $ORACLE_HOME\jdk\bin\java
    oracle.reports.rwclient.RWWebServiceUtil -endpoint
    http://yourmachine:port/reports/rwwebservice -method runjob -cmdline
    "report=test.rdf desformat=pdf destype=file desname=/tmp/output.pdf
    server=ReportsServer" -sync true
    
  5. This submits the request to the server and returns a soap response in the following format:

    <?xml version = '1.0' encoding = 'UTF-8' standalone = 'yes'?>
       <serverQueues>
          <job id="2" queueType="past">
             <name>/home/vnanda/test.rdf</name>
             <type>report</type>
             <status code="4">Report  finished successfully.</status>
             <owner>RWUser</owner>
             <server>reportsserver</server>
             <destination>
                <desType>file</desType>
                <desName>/tmp/output.pdf</desName>
                <desFormat>pdf</desFormat>
                <file>output1.pdf</file>
             </destination>
             <timingInfo>
                <queued>Feb 17, 2009 9:41:36 AM</queued>
                <started>Feb 17, 2009 9:41:36 AM</started>
                <finished>Feb 17, 2009 9:41:38 AM</finished>
             </timingInfo>
          </job>
       </serverQueues>
    
  6. Similarly, you can invoke other operations on RWWebService using the RWWebServiceUtil.

PKbPK0;wEOEBPS/pbr_webservice002.htm% Getting Started

19.2 Getting Started

This section outlines the steps necessary for:

19.2.1 Invoking the RWWebService Servlet

To invoke the RWWebService servlet:

  1. Start a Oracle WebLogic Server instance, where the Oracle Reports instance resides.

  2. Enter the following URL in the address field of your browser: http://yourwebserver:port/reports/rwwebservice

    This takes you to the RWWebService endpoint. The RWWebService endpoint page enables you to do the following:

    1. View the Oracle Reports Web service WSDL.

    2. Run any RWWebService command using a Web based UI.

19.2.2 Viewing the WSDL

The Web Service Description Language (WSDL) is an XML format for describing available services as a set of endpoints operating on messages containing either document-oriented or procedure-oriented information. The operations and messages are described abstractly, and then bound to a concrete network protocol and message format to define an endpoint.


Note:

Oracle Reports Web service does not support dynamic discovery of the WSDL by publishing to the Universal Description, Discovery, and Integration (UDDI) server.


  1. Click the WSDL link on the RWWebService Web page to view the Oracle Reports Web service's WSDL document.


    Note:

    Use Internet Explorer to view the WSDL XML output.


  2. The last entry in the WSDL is the service description and contains the location of the WebService:

     <soap:address location="http://yourwebserver:8888/reports/rwwebservice" />
    

Figure 19-1 Viewing the WSDL

Description of Figure 19-1 follows

Ensure that the URL and port number defined, http://yourwebserver:port/reports/rwwebservice, is correct.


Note:

The hostname specified should be the hostname where the Oracle WebLogic Server instance is running and not where the Reports Server is running.


Oracle Reports WSDL

<?xml version="1.0" encoding="UTF-8"?>
<!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.4. -->
<!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Oracle JAX-WS 2.1.4. -->
<definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://oracle.reports/rwclient/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://oracle.reports/rwclient/" name="RWWebService">
<types>
<xsd:schema>
<xsd:import namespace="http://oracle.reports/rwclient/" schemaLocation="http://localhost:8888/reports/rwwebservice?xsd=1"/>
</xsd:schema>
</types>
<message name="getServerInfo">
<part name="parameters" element="tns:getServerInfo"/>
</message>
<message name="getServerInfoResponse">
<part name="parameters" element="tns:getServerInfoResponse"/>
</message>
<message name="getJobInfo">
<part name="parameters" element="tns:getJobInfo"/>
</message>
<message name="getJobInfoResponse">
<part name="parameters" element="tns:getJobInfoResponse"/>
</message>
<message name="getAPIVersion">
<part name="parameters" element="tns:getAPIVersion"/>
</message>
<message name="getAPIVersionResponse">
<part name="parameters" element="tns:getAPIVersionResponse"/>
</message>
<message name="killJob">
<part name="parameters" element="tns:killJob"/>
</message>
<message name="killJobResponse">
<part name="parameters" element="tns:killJobResponse"/>
</message>
<message name="runJob">
<part name="parameters" element="tns:runJob"/>
</message>
<message name="runJobResponse">
<part name="parameters" element="tns:runJobResponse"/>
</message>
<portType name="RWWebService">
<operation name="getServerInfo">
<input message="tns:getServerInfo"/>
<output message="tns:getServerInfoResponse"/>
</operation>
<operation name="getJobInfo">
<input message="tns:getJobInfo"/>
<output message="tns:getJobInfoResponse"/>
</operation>
<operation name="getAPIVersion">
<input message="tns:getAPIVersion"/>
<output message="tns:getAPIVersionResponse"/>
</operation>
<operation name="killJob">
<input message="tns:killJob"/>
<output message="tns:killJobResponse"/>
</operation>
<operation name="runJob">
<input message="tns:runJob"/>
<output message="tns:runJobResponse"/>
</operation>
</portType>
<binding name="RWWebServicePortBinding" type="tns:RWWebService">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="document"/>
<operation name="getServerInfo">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getJobInfo">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="getAPIVersion">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="killJob">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
<operation name="runJob">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal"/>
</input>
<output>
<soap:body use="literal"/>
</output>
</operation>
</binding>
<service name="RWWebService">
<port name="RWWebServicePort" binding="tns:RWWebServicePortBinding">
<soap:address location="http://localhost:8888/reports/rwwebservice"/>
</port>
</service>
</definitions>
PK;/%%PK0;wEOEBPS/pbr_run006.htm% Sending a Request to the URL Engine

18.6 Sending a Request to the URL Engine

If you have activated the Reports Server's URL engine, you can send job requests to the URL engine by using the following command line options:

  • urlParameter identifies the URL to be placed in the cache. For example, http://www.oracle.com or a JSP report.

  • jobType is the name of a job type (for example, rwurl) in the server configuration file that is associated with a URL engine.


    Note:

    For information on activating the URL engine, refer to Section 8.6, "Configuring the URL Engine".


For example, a request that specifies an external URL for urlParameter might look like the following:

http://your_webserver:portnum/reports/rwservlet?server=
ReportsServer
+jobType=rwurl+urlParameter= "http://www.oracle.com"+destype=mail+desname=foo@bar.com+desformat=htmlcss

Alternatively, a request that specifies a JSP report for urlParameter would look like the following:

http://your_webserver:portnum/reports/rwservlet?server=
ReportsServer+jobType=rwurl+destype=cache+urlParameter= "http%3A%2F%2Flocalhost%2Ffoo.jsp%3Fuserid%3Dscott%2Ftiger@oraDB%3Fserver%3DreportsServer"

Note:

If the URL has special characters, they must be encoded as per the x-www-form-urlencoded format.


PK,*%PK0;wEOEBPS/pbr_sec_arch007.htm Recommended Production Scenario for Portal-Based Security

15.7 Recommended Production Scenario for Portal-Based Security

For Portal-based security, the following production scenario is recommended:

  • Oracle Internet Directory as ID store for authentication, or Single Sign-On

  • Portal-based authorization

If you are not using Single Sign-On, use Oracle Internet Directory for authentication.

PK!PK0;wEOEBPS/pbr_font009.htm.hї Troubleshooting Font Issues

9.9 Troubleshooting Font Issues

To help resolve font issues that may occur in your applications, this section provides the following troubleshooting information:

Checking Whether the Desired Font Is Used in a PostScript File

PostScript files have a list of fonts, which is created after reading the PPD file. If you examine the PostScript file, you can check the fonts by looking for the following tags:

  • DocumentNeededResource has the list of fonts referenced in the PPD file.

  • DocumentSuppliedResource has the list of fonts for which the PostScript driver was able to find the AFM file.

  • %%Page paragraph before the field's %IncludeResource:font has the font name which will be used for the field.

For PCL output files, you can check whether a particular font was used or not. Depending on this information the font settings in Oracle Reports or the printer can be modified.

Example:

The test results below are based on a Lexmark Optra printer. The fonts and their numbers as well as the control commands are examples and may vary with other printers.

Font information The Lexmark has a small menu with the option of printing all available fonts (PCL Emulation Fonts). This includes both resident fonts (defaults) and Flash fonts (installed on the printer separately)

Table 9-6 Sample Font Information

Font NameStyleWeightExample Output

R0 Courier

0

0

... <ESC>(<symset><ESC>(s0p<pitch>h0s0b4099T...

R39 Courier Bold

0

3

... <ESC>(<symset><ESC>(s0p<pitch>h0s3b4099T...

R40 Courier Italic

1

0

... <ESC>(<symset><ESC>(s0p<pitch>h1s0b4099T...

R55 Century Schoolbook Roman

0

0

... <ESC>(<symset><ESC>(s1p<point>v0s0b24703T ...


Table 9-7 Sample Flash Font Information

Font NameSymbol SetStyleWeightExample Output

F2 OCR-A

0O

0

0

... <ESC>(0O<ESC>(s0p<pitch>h0s0b4200T ...

F3 OCR-B

1O

0

3

... <ESC>(1O<ESC>(s0p<pitch>h0s0b4206T ...


In these examples, there are many more fonts and each font has its own code. OCRB for example has code 4206. This number is important later on.

Creating Output

When having problems getting the correct font, simplify the report and thereby the output. This can be done by creating a straightforward report using select sysdate from dual as the query and limiting the number of fonts. This will avoid long runs and create much smaller output files.

Reading the Output File

The resulting PCL-file is a binary file but is reasonably readable in the VI editor. The first small part and the end part is binary, but the middle part is readable and contains data that can be interpreted.

Verifying the Output File

The only interesting information is in the readable, middle part of the file. Find the text (this is the text displayed in the reports output) and check out the part preceding the text.

It looks like this:

....;SD1,14,2,0,3,10.34,5,0,6,0,7,4099;LB here is your text

In the preceding example, the font is selected with code 4099. For the Lexmark printer, this is selecting Courier.

In one example, the font OCR-B (code 4206) was needed. The font did not come out until that specific code was generated just before the selected text. It looks like this:

....;SD1,14,2,0,3,8.57,5,0,6,0,7,4206;LBThis is OCRB font....

Correcting Printed Font

If the output file contains the correct code, but the font does not appear on the printer, the printer probably does not have the font available. This will also occur if the code in the output file (deduced from TFM file) is not the same as the one the printer is expecting. On the Lexmark printer, the font was replaced by the default font on the printer.

If the output file does not contain the code for the font, Oracle Reports did not generate the code to the output file. Check for the HPD and TFM files.

Checking Environment Variables

DEBUG_SLFIND can help you ascertain which of these files was used. With reference to the fonts, you can find the list of AFM/TFM files the application looked at after reading the printer definition file and which font files it read after the aliasing. In this manner, you can also determine whether a font is mapped or not. Usually the order of file reading will be as follows.

  • First read the printer definition file.

  • Read all the associated font files for the font supplied by this printer definition file.

  • Read in the alias file.

  • If there is a mapping of file then read in font information files for those fonts and finally again read the AFM file for the fonts that are used in generating the output.

TK_DEBUG_POSTSCRIPT will affect PostScript output. It can be set to any combination of these strings:

  • Functions list each toolkit function called in comments in the PostScript output.

  • Long produces long, slow, intelligible PostScript.

  • Memory displays memory usage at the bottom of each page.

Any of the options can appear in the environment variable, abbreviated down to one letter. You can set it to any combination of these, separated by "/". This variable is case insensitive. For example, Func/L/Mem would give you all three options.

Note that the output that results from using this variable will not be supported by Oracle for customer use. It exists for diagnostics purposes only.


Note:

Set the environment variable DEBUG_SLFIND to any file name and run the report. The debug information is written in that particular file.

Usage: # setenv DEBUG_SLFIND mydebug.txt

For more information, see Appendix B, "Environment Variables".


Repairing Fonts Not Appearing Correctly in Web Source View

Text in the user interface of Oracle 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 Oracle 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 Oracle Metalink (http://metalink.oracle.com). The ARU number is 2766564.

Understanding Limitations

On Windows:

  • For Unicode, Windows provides True Type Big Fonts. These fonts contain the characters necessary to display or print text from more than one language. For example, if you try to type, display, or print Western European, Central European, and Arabic text on a field and see unexpected characters, then you are probably not using a Big Font. Big Fonts for single-byte languages provided by Microsoft Windows are Arial, Courier New, and Times New Roman. For more information, go to Microsoft's Web site: http://www.microsoft.com/typography/fonts/default.aspx.

  • Wingdings fonts may not appear when NLS_LANG is set to UTF8.

    The only Wingdings fonts available when using UTF8 are the characters between ASC 32 and 127. ASC 252 would display a blank because it is not supported by UTF8.

    Any of the following font sets would provide a reasonable work around.

    • Webdings - chr(97)

    • Wingdings2 - chr(80)

    • Wingdings2 - chr(87)

On UNIX:

  • AFM support is only for single byte PostScript file generation except for the Japanese encoding. The encoding schemes supported for the AFM files are AdobeStandardEncoding, ExtJIS12-88-CFEncoding, FontSpecific, HRoman, ISOLatinHebrew, JIS12-88-CFEncoding, and JIS12e-88-CFEncoding.

    AFM version that is supported is 2.0.

  • X11 does not support the underline font attribute. Output to file should work according to steps given below.

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

  • PostScript printing will not load the fonts to the printer. So for the desired fonts to appear in the printed output, it is necessary that those fonts should be installed on the printer.

  • For PCL output, only TFM font formats are supported.

  • The display system on UNIX (for example, X11) is totally independent of any application or printer. There is no direct connection between printing and displaying. There can be a font displayed on your screen that is not printed.

    Display and printer fonts are somewhat similar but have more differences than similarities.

    X fonts (display fonts) are bitmap display glyphs, which are displayed on an X terminal by an X Server.

    Printer fonts are PostScript fonts (mathematical descriptions of fonts, not bitmaps) that are present in a PostScript printer and are generated by a PostScript Interpreter on that printer.

  • Font size changes after applying a template.

    Creating a template with font set to Times New Roman size 10 (for all fields) and making the report use this template, makes the Paper Design view of the Report Editor display a different font size.

    The reason for this behavior is that defaulting couldn't fit the layout into the desired area.

    First it reduced the size of text fields and then reduced the size of the fonts. This is much better than wrapping the fields and keeping the template font size.

    Also, for templates, the font chosen may be different to that in the template since it matches first on the character set. So if the template font doesn't support the current character set, the font will change to one that does. This is mostly visible if you have an English template, which you use in a Hebrew/Arabic environment.

Resolving Common Problems

Problem:  Letters are truncated from the right margin on printed label reports.

You have printed a mailing label report on a Windows machine and notice that the last letter, or last few letters, on each line are being truncated. The letters are not missing when you preview the report. You have tried changing the page formatting and font settings, but this has failed to resolve the problem.

Solution: If the report displays correctly using a DESTYPE of Preview, this is not a problem with the printer driver. The problem may be occurring due to the frame properties.

If a frame around the layout objects has a Horizontal Elasticity setting of Fixed and the data exceeds the frame size, it can cause this truncation of data.

Try testing the results after setting the Horizontal Elasticity property to Expand or Variable.

Problem: When generating to file as HTMLCSS, a column is dropped off in the output.

You are generating a report to an HTMLCSS file format and it appears to be fine in the Paper Design view of the Report Editor. When you click the newly created file it comes up in your browser, but the last column is missing from the report output.

If you re-run the report again, it still looks fine in the Paper Design view and the column is there as it should be. Clicking on the file again appears to have the column dropped off and missing from the report output. PDF appears fine in Paper Design view and the Adobe Acrobat reader.

Solution:  

  1. Close Oracle Reports Builder and other open applications.

  2. Choose Windows Control Panel > Display > Settings.

  3. Set your fonts to be Small Fonts, click Apply button and then click OK to reconfigure your Windows font settings.

  4. Reboot your computer in order for the new font settings to take effect.

  5. You can now go back into Windows Control Panel > Display > Settings to verify that you have small fonts as a default for your system.

When you click the HTMLCSS file, your browser shows the report correctly with all of the columns intact.

When viewing HTMLCSS files with your browser, it is recommended to have Small Fonts as the default setting for your Windows system.

If you have Large Fonts as your default, your HTMLCSS file may not display correctly.

Problem: How to choose bitmap fonts sizes of less than 8 point in Oracle Reports Builder.

Solution: There are times when a font size of 6 or less is required for reporting purposes. Keeping in mind that font mapping and sizing is actually a product of operating system font files and driver/printer specifications, it is possible to change many fonts to minimal sizes such as 6 or less.

Oracle Reports typically allows fonts to be downsized to a size of 8. This is accomplished by opening a report in Oracle Reports Builder, going to the Layout Model view, and selecting the report objects that you wish to change. Once the object is selected, go to the font size list next to the font picker and select your font size.

Typically, your size will be limited to a range from 8 to 72 for True Type fonts, less for other fonts.

You can enter a size smaller or larger than the sizes in the list. To do this, again select the object, place your cursor in the font size field, press Delete to remove the current size number, enter the font size you desire, and then press the TAB key. The change takes effect immediately.

Once again, keep in mind that not all font sizes are possible. Also, some combinations of fonts and attributes are not practical. Simply having the ability to choose a font size does not mean that the font will be legible when printed. Fonts that involve small sizes, combined with bold, italic, or other attributes, may also present legibility problems when printed or displayed due to the limitations of the printer driver, printer, font metrics, language, code sets, NLS_LANG, and, of course, human eyesight.

Problem: The report output font size is different in Windows and UNIX.

A simple report designed on Windows uses the Arial and a font size of 8. This report was ported to Sun Solaris and was found to have a different font size in the output on Solaris. In the UNIX environment, the report is uses the Helvetica font and a font size of 9. The Arial font has been mapped to the equivalent font, Helvetica, on UNIX using uifont.ali.

Solution: 

  1. First look for the font size available for Helvetica on the UNIX system by either using the xlsfont command or any other UNIX font utility.

  2. You should map variable sized fonts on Windows to variable sized fonts on UNIX. For example, modify the mapping for MS Windows Arial.8 = Helvetica.8 (assuming that size 8 is available for Helvetica on the UNIX system) and ensure that uifont.ali is in the correct directory.

It's probable that the Helvetica font installed on your machine is bit mapped (rasterized) and so it doesn't automatically scale to any arbitrary size. If so, you must install a scalable Type 1 font, which should allow you to choose any point size.

There may always be differences between fonts on different systems even if the fonts installed are the same because the font configuration files may be different on these systems.

Problem: When printing, fonts are replaced by non True Type fonts. In the Paper Design view, the fonts are fine.

Solution: Check the printer settings (advanced) and ensure that it doesn't say:

True Type Font: Substitute with Device Font

UNIX

Problem: While running Oracle Reports on X-windows emulators, fonts installed on UNIX do not appear in the font lookup box.

Solution: On X-windows emulators, where the font path is usually a font directory on the local machine, the fonts that were installed on will not be available and only the fonts in the local font directory will be used by the Oracle Reports font lookup box. In such cases, you should start a font server on a remote machine where the fonts were installed and point the font path entry to this font server. For starting the font server and setting the font path entry, consult the system manual and X-windows emulator help.

For finding the font path or font server that is currently being used, use the UNIX command xset -.

PK?g3h.hPK0;wEOEBPS/pbr_dest.htmD Configuring Destinations for Oracle Reports Services

13 Configuring Destinations for Oracle Reports Services

Two things to consider when you run a report are how the report should be output (destination) and who should receive it (distribution). Distribution is discussed in Chapter 20, "Creating Advanced Distributions". This chapter explores how Oracle Reports Services handles output processing to default and custom destinations. It provides an overview of output processing and information on registering destination types with the Oracle Reports Services.

It includes the following sections:

PKt2|I D PK0;wEOEBPS/pbr_tune005.htm:+ Accessing the Data

24.5 Accessing the Data

If your performance measuring tools show that the report spends a large amount of time accessing data from the data source(s), you must review the structure of the data and determine how the data is being used. Inefficient schema design has a dramatic affect on the performance of a report. For example, an overly normalized data model can result in many avoidable joins or queries.

This section discusses ways to review and improve the efficiency of the data used in your report:

24.5.1 Non-SQL Data Sources

To publish data from any data source, use the pluggable data source architecture in Oracle Reports. Out-of-the-box Oracle Reports supports non-SQL data sources, such as XML, Text, and JDBC pluggable data sources. Both XML and Text pluggable data sources can be accessed through a remote URL (even across firewalls). If speed is a concern, download the data locally and use the local data stream rather than a remote URL. You can also specify the domains for which you can bypass a proxy server.

The XML pluggable data source supports runtime XML data validation. Select the Validate Data Source check box in the XML Query Wizard to ensure that the XML data is verified as it is fetched against the data definition specified in the DTD or in the XML schema. This is a very costly operation and proves to be useful only when you develop the report and not during production. You will see a noticeable performance difference when the XML data stream is very large.

You can specify either an XML schema or a DTD schema for the data definition. An XML schema forces type checking, whereas a DTD schema does not require type checking as all data is treated as strings.


Note:

Ensure that the data types of the non-SQL sources match column wise.


You can also specify an extensible style sheet language (XSL) file for the XML data stream to convert it from any format into a simple row set/row data feed. It is better to have data in the correct format to start with, unless you want to apply the XSL at run time.

Pluggable Text data sources support the use of cell wrappers. This causes the file format level delimiter to be ignored for every field that has a wrapper defined. Avoid using cell wrappers unless really required.

The JDBC pluggable data source supports JDBC bridges, as well as thick and thin JDBC drivers. Selecting the driver directly impacts the fetching of data. The choice depends on the application and the database being used. Using a native driver generally results in better performance. For more information, see Chapter 14, "Configuring and Using the Pluggable Data sources".

24.5.2 Database Indexes

Columns used in a SQL WHERE clause should be indexed. The impact of indexes used on columns in the master queries of a report are minor, as these queries access the database once. To improve performance significantly, indexes should be used on any linked columns in the detail query.


Note:

Lack of appropriate indexes can result in many full-table scans and slows down performance.


24.5.3 Calculations

Within a report (either through summary or formula columns), ensure that most of the calculations are performed by the data source. In case of SQL queries, calculations are performed on the database rather than on the data retrieved by the report. User-defined functions and procedures stored by the database can also be included in the query select list of an Oracle Database or a JDBC query. This is more efficient than using a local function, since the calculated data is returned as part of the result set from the database.

Example

The following PL/SQL function can be stored in the Oracle Database:

CREATE OR REPLACE FUNCTION CityState (
  p_location_id world_cities.location_id%TYPE)
  RETURN VARCHAR2 is
    v_result VARCHAR2(100);
BEGIN
  SELECT city || ','||state
  INTO v_result
  FROM world_cities
  WHERE location_id = p_location_id;
  RETURN v_result;
END CityState;

This function returns the city separated by a comma, a space, and the state. This formatting is done at the database level and passed back to the report to display.

In the report, the SQL query would look like:

SELECT location_id, citystate(location_id)"City
& State" FROM world_cities

The result would look like this:

LOCATION_ID CITY & STATE
----------- -------------------------
          1 Redwood Shores, California
          2 Seattle, Washington
          3 Los Angeles, California
          4 New York, New York

24.5.4 Redundant Data

A report's query should ideally select only required columns. The fewer queries you have, the faster your report will run. Single-query data models execute more quickly than multiquery data models. However, situations can arise where a report not only needs to produce a different format for different users, but also needs to utilize different query statements. Although this can be achieved by producing two different reports, it may be desirable to have a single report for easier maintenance. In this instance, the redundant queries should be disabled using the SRW.SET_MAXROW built-in procedure.


Note:

For a description of the SRW built-in package, including the SRW.SET_MAXROW built-in procedure, see the Oracle Reports online Help.


Example

The following code used in the Before Report trigger will disable either Query_Emp or Query_Dept, depending on the user parameter:

IF :Parameter_1 = 'A' THEN
  SRW.SET_MAXROW('Query_Emp',0);
ELSE
  SRW.SET_MAXROW('Query_Dept',0);
END IF;

Note:

The only meaningful place to use the SRW.SET_MAXROW built-in procedure is in the Before Report trigger (after the query has been parsed). Calling the SRW.SET_MAXROW built-in procedure after this point raises the SRW.MAXROW_UNSET built-in exception. The query will still be parsed and bound, but no data will be returned to the report.


You can define a query based either on an XML or a Text pluggable data source by selecting the fields to be used in the query (that is, all available fields or a subset). If you must use a subset of the fields, do so at the query level using parameters, as opposed to fetching all the values and filtering them using a group filter or layout level format triggers.

24.5.5 Break Groups

Limit the number of break groups to improve your report's performance. Oracle Reports sets the break level for each column in the data model that has the break order property set except the lowest child group.

For a SQL query, Oracle Reports appends this as an extra column to the ORDER BY clause in the query. The fewer columns in the ORDER BY clause, the less work the database has to do before returning the data in the required order. Creating a break group may render an ORDER BY clause redundant in spite of defining it as part of the query. Remove any such ORDER BY clauses as it requires extra processing by the database.

If your report requires the use of break groups, set the Break Order property for as few columns as possible. A break order column is indicated by a small arrow to the left of the column name in the group in the Reports Builder Data Model View. Each break group above the lowest child group of a query requires at least one column to have the Break Order property set. Removing the break order from columns where sorting is not required increases performance.

Limit break groups to a single column whenever possible. These columns should be as small as possible and be database columns (as opposed to summary or formula columns) wherever feasible. Both conditions help the local caching that Oracle Reports does, before the data is formatted for maximum efficiency. Clearly, these conditions cannot always be met but can increase efficiency whenever utilized.

24.5.6 Group Filters

Group filters reduce the number of records displayed. Filtering takes place after the query returns the data (from the data source) to Oracle Reports. Even if the filter is defined to display only the top five records, the result set will contain all the records returned by the query. Hence, it is more efficient to incorporate the group filter functionality into the query's WHERE clause or into the Maximum Rows property, whenever possible. This restricts the data returned by the database.

24.5.7 To Link or Not To Link

There are a number of ways to create data models that include more than one table. Consider the standard case of the dept/emp join, with the requirement to create a report that lists all the employees in each department in the company. You can create either of the following:

  • Single query:

    SELECT d.dname, e.ename
    FROM emp e, dept d
    WHERE e.deptno(+) = d.deptno
    

  • Two queries with a column link based on deptno:

    SELECT deptno, dname FROM dept
    SELECT deptno, ename FROM emp
    

When you design the data model in the report, minimize the actual number of queries by using fewer large multitable queries, rather than several simple single-table queries. Every time a query is run, Oracle Reports needs to parse, bind, and execute a cursor. A single query report returns all the required data in a single cursor, rather than many cursors. With master-detail queries, the detail query will be parsed, bound, and executed again for each master record retrieved. In this example, it is more efficient to merge the two queries and use break groups to create the master-detail effect.

Keep in mind that the larger and more complex a query gets, the more difficult it is to be maintained. You must decide when to achieve the balance between performance and maintenance requirements.

PK%::PK0;wEOEBPS/pbr_dist006.htmr Using a Distribution XML File at Runtime

20.6 Using a Distribution XML File at Runtime

The method for using a distribution XML file at runtime is essentially the same whether you use it in a URL or a command line. Include the options:

destination=filename.xml distribute=yes 

where filename is the name of the distribution XML file. You are required to specify either the relative or absolute path of the XML file. For example, for Windows, you might specify:

destination=c:\%ORACLE_HOME%\reports\distribution\filename.xml distribute=yes 

For UNIX, you might specify:

destination=$ORACLE_HOME/reports/distribution/filename.xml distribute=yes 

For example, the full command in a URL would be similar to:

http://your_server:port/reports/rwservlet?report=rep.jsp&userid=db_credentials 
&destination=$ORACLE_HOME/reports/distribution/distribution.xml&distribute=yes

The paths in these examples are used for illustrative purposes only. There is no requirement for where you store your distribution XML files. You can store them wherever you like.


Note:

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 Oracle 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 preceding example, you could switch the positions of the distribute and destination parameters in your URL.


For detailed information on running reports from command lines and URLs and using the cgicmd.dat file, see Chapter 18, "Running Report Requests".

PK0>uwrPK0;wEOEBPS/pbr_pdf004.htm Generating a Bidirectional (BiDi) PDF File

11.4 Generating a Bidirectional (BiDi) PDF File

This section outlines the steps involved in generating a PDF file for bidirectional (BiDi) languages. Before using the font features covered in this section, refer to Table 11-4 to determine which feature best suits your application needs.

Oracle Reports provides two environment variables that resolve font re-shaping and numeric options with bidirectional (BiDi) languages, such as Hebrew and Arabic. They are:

  1. REPORTS_BIDI_ALGORITHM

    This environment variable switches the layout algorithm for bidirectional (BiDi) languages (for example, Arabic or Hebrew). The valid values for this environment variable are ORACLE, ENHANCED or UNICODE.

  2. REPORTS_ARABIC_NUMERAL

    This environment variable specifies the numeric format for Arabic PDF output.

11.4.1 Font Subsetting

The following example assumes you are using Arabic environment. The steps involved in generating a PDF file for bidirectional (BiDi) languages using the font subsetting feature are as follows:

  1. Set NLS_LANG=ARABIC_EGYPT.AR8MSWIN1256 (or AR8ISO8859P6 on UNIX).

  2. Set REPORTS_PATH to the font directory in which the TrueType font exists. For example, C:\WINNT\fonts.

  3. Open the uifont.ali file and edit the [PDF:Subset] section to specify the TrueType font name.


    Note:

    The uifont.ali file is located in the following directory on Windows and UNIX:

    • ORACLE_INSTANCE\config\FRComponent\
      frcommon\guicommon\tk\admin


    Example

    [PDF:Subset]
    "Andale Duospace WT J" = "Aduoj.ttf"
    "Albany WT J"="AlbanWTJ.ttf"
    
  4. Create a report having Arabic data and set it to the font specified in the example.

  5. Run a report with DESTYPE=FILE DESFORMAT=PDF.

PK3V|PK0;wEOEBPS/pbr_adminem006.htmc Defining Oracle Enterprise Manager Administration Roles

7.6 Defining Oracle Enterprise Manager Administration Roles

In 11g Release 1 (11.1.1), Oracle Enterprise Manager supports three kinds of administration roles: Administrator, Operator, and Monitor. An Administrator role has full privilege for performing any operations, including security-related operations. Whereas, an Operator has a few privileges and the monitor has a limited set of privileges. If a user doesn't have permission, the functionality is either invisible or greyed out.

PK.1PK0;wEOEBPS/pbr_interop.htm Interoperability Scenarios and Considerations

5 Interoperability Scenarios and Considerations

This chapter discusses interoperability scenarios and considerations for Oracle Reports 11g Release 1 (11.1.1).

It includes the following sections:

PKHiPK0;wEOEBPS/pbr_tune004.htm' Tuning Reports Server Configuration

24.4 Tuning Reports Server Configuration

This section provides tips for improving the performance and stability of Reports Server, which is responsible for:

  • Accepting the report request from various clients.

  • Scheduling the jobs to run.

  • Managing Oracle Reports engines

  • Managing the cache

  • Managing various destinations

  • Security check

  • Managing the jobstore (persistent job data)

While operating under heavy load, it is essential to tune various Reports Server parameters to optimal values, as follows:

  1. Determine optimal values for the initEngine, maxEngine, and minEngine attributes of the engine element in the server configuration file:

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

    For more information on the engine element, refer to Section 8.2.1.9, "engine". The maxEngine value sets the maximum number of processes ready to respond to user requests for running reports. Setting it too low means user requests get queued up and available machine capacity is not fully utilized. Setting it too high means Reports Server will take more than its share of machine capacity from other activities the host also needs to perform, and could cause the operating system to crash.

    As an example of a simple calculation for number of engines, suppose you have set of reports that takes an average of 10 seconds to run. Input requests to your system varies from 6 reports per minute to 12 reports per minute. In this scenario, the calculations are as follows:

    • initEngine = ( average time to run report) * (minimum report requests input rate) = (10/60) * 6 = 1

    • maxEngine = (average time to run report) * (maximum report requests input rate) = (10/60) * 12 = 2

    • minEngine = Depending on the kind of load, anything between 0 to initEngine

    With these calculations, minEngine=1 and maxEngine=2 can be specified in the server configuration file. This ensures that whenever a job arrives, it gets an idle engine immediately.

    In scalability and performance tests, maximum throughput is seen when maxEngine is configured using the guideline of 2-4 engines multiplied by the number of CPUs. You can set up a maximum value of maxEngine=8 if the machine has a dual processor or maxEngine=16 if the machine has a quad processor.

    If you are not using the URL engine, comment the engine element with ID="rwURLEng" in the server configuration file.

  2. Determine optimal values for the cache element's cacheSize property, the queue element's maxQueueSize attribute, and the EXPIRATION keyword.

    For more information, refer to Section 8.2.1.3, "cache", Section 8.2.1.21, "queue", and Section A.6.6, "EXPIRATION". The values of cacheSize, maxQueueSize, and EXPIRATION are related to each other and they must be set carefully for efficient Reports Server operation.

    For example, when you run reports with EXPIRATION=480, this implies that you want to keep the jobs in cache for 4 hours (480 minutes). Given that, maxQueueSize should be set to accommodate all the jobs for 4 hours. Thus, at a rate of 10 jobs per minute:

    maxQueueSize = (report requests input rate) * (expiration period) = 480 * 10 =4800.

    The value of cacheSize also should be set sufficiently high to accommodate 4800 jobs. Suppose the average size of each report is 100K:

    cacheSize = (maxQueueSize) * (average size of report) = 4800*100/1000 = 480MB

    You can use similar logic to calculate the value of the cache element's maxCacheFileNumber property.


    Note:

    The minimum recommended value for maxQueueSize is 1000 (the default). A significantly lower value than the default values for maxQueueSize or cacheSize may degrade Reports Server performance.


  3. Set the engineResponseTimeOut attribute of the engine element in the server configuration file:

    <engine id="rwEng" class="oracle.reports.engine.EngineImpl" initEngine="1"
    maxEngine="2" minEngine="1" engLife="50" maxIdle="30"
    callbackTimeOut="90000" engineResponseTimeOut="5">
    

    For more information on the engine element, refer to Section 8.2.1.9, "engine".

    Set engineResponseTimeOut if you are experiencing intermittent engine hangs. This attribute enables Reports Server to detect the hanging engine and perform cleanup. The sooner Reports Server detects the hang, the better the stability of the system. Thus, engineResponseTimeOut must be set carefully, as follows:

    The value of engineResponseTimeOut should be set to the maximum time a report takes in the set of reports you have. For example, if you have set of reports that takes 10 seconds to 5 minutes to run, you can set engineResponseTimeOut="5" (5 minutes).


    Note:

    It is always better to run batch reports on a separate server with different engineResponseTimeOut values. Do not submit interactive and batch reports to same server.


  4. Set the maxConnect attribute of the connection element in the server configuration file;

    <connection maxConnect="180" idleTimeOut="15">
    

    For more information on the connection element, refer to Section 8.2.1.5, "connection".

    The maxConnect attribute controls how many total requests Reports Server can simultaneously handle at any moment in time. The key purpose of maxConnect is to keep Reports Server from being overcome by some runaway program or process or by a denial of service attack. It should be always set to a value that is greater than the maximum simultaneous clients.

    For example, if your system is expected to handle 150 simultaneous clients, you can set maxConnect to any value above 150. You can use a safety factor of 10% to 20%, as follows:

    maxConnect = 150 + 150 * 0.2 = 180

  5. Set the HTTP timeout value (applicable to AS only).

    The HTTP timeout value should be set based on the time required to run the longest report in the system. If longest-running report takes 20 minutes to run, HTTP timeout should be more than 20 minutes. Otherwise, an HTTP timeout error will display when the report is still running in the server. This parameter can be set in the ORACLE_INSTANCE/config/OHS/ohs1/httpd.conf file.

    Alternatively, you can set the timeout value in Oracle Enterprise Manager.

PK''?''PK0;wEOEBPS/pbr_strt005.htm+ Starting, Stopping, and Restarting Oracle Reports Components Using Oracle Enterprise Manager

6.5 Starting, Stopping, and Restarting Oracle Reports Components Using Oracle Enterprise Manager

All start and stop operations on Oracle Reports components can be performed using Oracle Enterprise Manager. Refer to Section 7.4, "Starting, Stopping, and Restarting Oracle Reports Components".

PK)0+PK0;wEOEBPS/pbr_adminem011.htma Managing Log Files

7.11 Managing Log Files

Oracle Reports 11g Release 1 (11.1.1) provides improved diagnosability through logging and tracing enhancements.

All Oracle Reports log files follow Oracle Diagnostic Logging (ODL) format, the standard across Oracle Fusion Middleware, for log format, message types, and log management directives. The log file entries are in Text format (default) or XML format. For detailed information, refer to Oracle Fusion Middleware Administrator's Guide.

For information about log file enhancements, see Section 24.3.2, "Log Files"


Note:

If you change the log path for the in-process server engine (that is, oracle.reports.engine logger), ensure that you make similar changes in the logmetadata.xml file. This file resides in the same directory as logging.xml.


7.11.1 Viewing and Searching Log Files

To view and search log files in Oracle Enterprise Manager:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the desired component's home page (see Section 7.3, "Viewing the Component Topology"): Reports Server, Reports Application, Reports Bridge, or Reports Tools.

  3. From the Reports menu, select Logs > View Log Messages.

    The Oracle Enterprise Manager Log Messages page is displayed.

  4. View the trend metrics; that is, how many errors of each type (Incident Error, Error, Warning, Notification, Trace) have been logged in the log files for the component.

  5. Use the search options available in the page to search inside log files with various parameters, such as specific message type or time duration.

To modify the information logged in log files to diagnose issues, see Section 7.18.1, "Specifying Logging Information".

7.11.2 Configuring Log Levels

To configure Log Levels in Oracle Enterprise Manager:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the component's home page (see Section 7.3, "Viewing the Component Topology").

  3. From the Reports menu, select Logs > Log Configuration.

    The Log Configuration page is displayed.

  4. Select the Log Levels tab

  5. Select the appropriate log level for each Logger Name from the ODL Level drop-down list.

  6. Click Apply

7.11.3 Editing Log Files

To edit the log files in Oracle Enterprise Manager:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to the component's home page

  3. From the Reports menu, select Logs > Log Configuration

    The Log Configuration page is displayed

  4. Select the Log Files tab

  5. From the list of log files that is displayed, select the file which you want to edit

  6. Click Edit Configuration...

    The Edit Log File pop-up window is displayed

  7. Edit the required parameters.

  8. Click OK


Note:

If you change the Log File Format in the Edit Log File window, you must change the file extension in the *Log Path field, or manually delete the existing content from the log file. Therefore, the same diagnostic log file does not contain messages of different formats.


PK9faPK0;wEOEBPS/pbr_font004.htmAf Font Aliasing

9.4 Font Aliasing

Font aliasing is a mechanism in Oracle Reports that allows a font or its associated attributes like style, weight, width, size and character set to be mapped to another desired font or its associated attributes. Its primary use is when applications are ported from one platform to another and the font associated with some or all of the objects in the layout on the source platform do not exist on the target platform. In such cases font aliasing will be helpful as the nonexistent fonts can be mapped to another available one producing the required results. For example, when moving from Windows to Motif one would use font aliasing to map the Windows Arial to a font available on Motif, such as Helvetica.

The font enhancements introduced in Oracle Reports 11g Release 1 (11.1.1) make font aliasing unnecessary in almost all cases. In prior releases, a report may have been created with fonts that are readily available on Windows, but not on UNIX (for example, Arial font). In such cases, it was necessary to alias the Windows fonts to other fonts with a similar style available on UNIX (for example, Helvetica). Now, with support for TTF and TTC files on UNIX, a font such as Arial is supported on both Windows and UNIX, eliminating the need for aliasing.

This section includes the following topics:

9.4.1 Specifying Aliasing Information

If font aliasing is necessary, use Oracle Enterprise Manager to define the aliasing, instead of directly editing the uifont.ali file as in prior releases. For information about using Oracle Enterprise Manager for font configuration, see Section 7.9.1, "Configuring Fonts".

9.4.2 Font Aliasing Mechanism

For font aliasing, Oracle Reports searches for entries under the related section in the alias file that matches the original font attributes given in the report. Refer to Section 9.4.3, "Font Alias File Sections" for more information about the sections of the font alias file. If an exact match is found, Oracle Reports maps the original font on the left to the target font on the right.

For example:

Arial.8.Italic.Medium.Normal.WE8ISO8859P1=
Helvetica.12.Plain.Light.Normal.WE8ISO8859P1

If an Arial font with all of the attributes listed on the left is found, it will be mapped to a Helvetica font with all of the attributes listed on the right.

Any field can have a blank entry, which means it will be matched regardless. For instance:

Arial..... = Helvetica.12.Plain.Light.Normal.WE8ISO8859P1

In this case, all of the Arial fonts, irrespective of size and other attributes, are mapped to Helvetica with size 12, style Plain, weight Light, having Normal width under character set WE8ISO8859P1.

Another way to specify an aliasing rule is:

Arial = "OCR B"

This method will preserve the other attributes of the present font but will change the font name to OCR B. You must be certain in such cases about the availability of mapped fonts with the attributes of other fonts. For example, in this rule the Arial font with style Italic might be mapped to the OCR B font with Plain style because the OCR B font does not have the Italic style present.

After a mapped font is read from the uifont.ali file, Oracle Reports looks for the font following the font lookup procedure, which is described in Section 9.1.2.1, "Font lookup". If the mapped font is found on the system, then Oracle Reports uses this font. Otherwise, it looks for the original font in the system.

Font attributes are searched for with the font face, size, style, weight, and width under the specified character set.

In Oracle Reports, fonts for the Web Source view and PL/SQL editor can be mapped by providing a mapping specification in the [rwbuilder] section. This feature is mainly intended for supporting Unicode fonts in these editors.

9.4.3 Font Alias File Sections

The uifont.ali file consists of various sections which contains font mapping instructions for a particular area, as shown in Table 9-5. Since Oracle Reports looks in specific sections for specific purposes, it is crucial that you place your mapping entries in the appropriate section for what you are trying to accomplish.

Table 9-5 Font Mapping File Sections

Section NameDescription

Global

Applies everywhere.

Printer

Only applies to printer output.

Printer:PostScript1

Applies to PostScript Level 1 printers.

Printer:PostScript2

Applies to PostScript Level 2 printers.

Printer:PCL5

Applies to PCL 5 printers.

Display

Only applies to the display (the screen).

Display:Motif

Applies only to the Motif display.

Display:CM

Applies only to character-mode display.

PDF

Used for font aliasing (from Oracle Reports 6i) and multibyte language support (from Oracle Reports).

PDF:Embed

(Oracle Reports only) Used for Type 1 font embedding.

PDF:Subset

(Oracle Reports only) Used for True Type font subsetting.

RWBUILDER

(Oracle Reports only) Fonts for the Web source and PL/SQL editor can be mapped in this section.

printer_name

A section for a specific printer, such as:

[Printer:PostScript1:2op813a]


If you want to look at the uifont.ali file, it is located in the following directory on Windows and UNIX:

On Windows: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

On UNIX: ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

The section for font aliasing in the uifont.ali file is [PDF], which defines font mappings using the following formats:

  • Single byte fonts:

    [PDF]
    "font_name"="font_name"
    
  • Multibyte fonts:

    [PDF]
    character_set = "font_name" 
    

    or

    "font_name".....character_set="font_name"
    

Here is an example of a font aliasing entry in the uifont.ali file:

[ PDF ]
/*Alias TrueType to available Type1 font */
"Kino MT" = UtopiaBold
/*Alias multibyte to available CID font */
.....SJIS = "HeiseiKakuGo-W5-Acro"

where:

  • "Kino MT" = UtopiaBold substitutes every Kino MT character found with the UtopiaBold equivalent.

  • .....SJIS = "HeiseiKakuGo-W5-Acro" substitutes every multibyte character set found with the HeiseiKakuGo-W5-Acro (CID) equivalent.

Order of precedence

When aliasing a particular font, only one section is read based upon the context in which the font is used. Hence, if three sections apply, only one is read. For example, suppose you have three sections: [Printer], [Printer:PostScript], and [Printer:PostScript:2op813a]. When generating output, if the printer is 2op813a, only the mapping rules in section [Printer:PostScript:2op813a] are read. For printers other than 2op813a, Oracle Reports would use the [Printer:PostScript] section.

The more specific sections of the alias file take precedence over the more general sections. For example, a specific printer section, such as [Printer:PostScript1:2op813a] would take precedence over the [Printer:PostScript1] section, which would take precedence over the [Printer] section, which would take precedence over the [Global] section.

The uifont.ali file is the configuration file controlling all of the Oracle Reports PDF font enhancements. The uifont.ali file is text readable; that is, you can edit it with a standard text editor. Exercise caution when editing the file. The uifont.ali file should be saved as a text file with no formatting or special characters that may corrupt the file.


Note:

Although you can manually edit the uifont.ali file, it is recommended that you use Oracle Enterprise Manager for all font-related configuration tasks.


9.4.4 Font Aliasing File Verification

To verify whether the uifont.ali file is correct, you can run the font check utility, which can be found in the ORACLE_HOME/bin directory. It is always advisable to run this utility on the modified uifont.ali file to catch any errors:

On Windows:

fnchk.exe filename

On UNIX:

mfontchk filename

where filename is the name of the modified uifont.ali file. If you don't specify any file name, it will check the default file based on the environment variables.

If the alias file has errors, the utility returns an error message along with the file on which the error was found. For example:

Parsing font alias file "$ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/uifont.ali"
Ms san serif      

Error at line 85: Invalid font specification
Parse of font alias file failed

The above error indicates that there is a syntax error in uifont.ali in the mapping rule for MS San Serif font on line 85.

PK}aAAPK0;wEOEBPS/pbr_nls007.htmy3 Troubleshooting Globalization Issues

23.7 Troubleshooting Globalization Issues

To help resolve globalization issues that may occur in your multilingual applications, this section provides the following troubleshooting information:

Embedding a Character Set in a JSP file Dynamically

In Oracle Reports, Web report templates are configured for Western European character encoding by default. However, for other languages, you can specify the character encoding for every 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. Edit the rw*.html files and the blank_template.jsp file:

    1. Modify the page directive to read

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

      where:

      yourIANAencoding is the IANA-defined character set name that corresponds to the NLS_CHARACTERSET portion of the NLS_LANG variable.

    2. Modify the <Meta> tag inside the <Head> tag to read:

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

      Note:

      The template files; that is, rw*.html, and blank_template.jsp, are located in the ORACLE_HOME/reports/templates/ directory.


  2. Edit the template.xsl (ORACLE_HOME/reports/templates/) file:

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

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

      where

      yourIANAencoding is the IANA-defined character set name that corresponds to the NLS_CHARACTERSET portion of the NLS_LANG variable.

    2. Add the page directive to the file:

      <%@ 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-defined character set name that corresponds to the NLS_CHARACTERSET portion of the NLS_LANG variable.

Setting Globalization Support Environment Variables

The 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_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/languag, 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_INSTANCE/config/FRComponent/frcommon/guicommon/tk/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 Oracle Reports generates an error.

For example, if you have set NLS_LANG=AMERICAN_AMERICA.JA16EUC, then Oracle Reports locates Tk2Motif.rgb in the directory ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/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, Oracle Reports generates the error REP-3000.

To work around this problem, set the value of the environment variable TK_UNKNOWN to the location of your character set-specific Tk2Motif.rgb file.

For example, if NLS_LANG=AMERICAN_AMERICA.JA16EUC, then set TK_UNKNOWN=ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/JA. Even though your language is set to AMERICAN, Oracle Reports will use the Tk2Motif.rgb file in the JA language subdirectory.

Repairing Garbled Fonts When Using the WE8ISO8859P15 Character Set

You may see garbled output when you run a multibyte report on UNIX with we8iso8859p15 character set.

To work around this issue, you must do the following:

  1. Make an entry for the fonts used in your default printer's .ppd file. This file is located in the following directory:

    $ORACLE_HOME/guicommon/tk/admin
    

    Note:

    The entries are for the fonts that appears garbled in the report output.


  2. Set the encoding scheme in the font's AFM file to FontSpecific if it is AdobeStandardEncoding. Thus, the following entry in the AFM file:

    EncodingScheme AdobeStandardEncoding
    

    must change to:

    EncodingScheme FontSpecific
    

Opening or Running an Encoded JSP Report

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 Oracle Reports Builder:

    REP-0069 Internal Error or REP-6106
    

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

For example:

JSP Report encoding:

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

This JSP file needs to be encoded in the character set (EUC-JP).

Oracle Reports encoding:

NLS_LANG=JAPANESE_JAPAN.JA16EUC

In this example, the JSP report's encoding (EUC-JP) matches Oracle Reports' character set portion of NLS_LANG; that is, JA16EUC.

Resolving ERR-063001 xxx.dtd null

When you create a report against an XML data source, you must ensure that the encoding of both the XML file (data source) as well as the DTD matches the encoding of Oracle Reports.

When you create an XML report against a table -- for example, a Japanese table-- the group element name is in the table's language that is Japanese. To match the data source, you should set the group's element name in the DTD to Japanese. The XML and DTD files can be in any encoding that supports Japanese, for example, Shift_JIS, EUC-JP, or UTF-8. However, when the encoding of the XML data source as well as the DTD differs from Oracle Reports, you will see the following error:

ERR-063001 xxx.dtd null

Note:

This error is not displayed if you use an XML schema to define the rules.


To work around this issue, you must ensure that both the data source XML files as well as the DTD file for an XML report is encoded in the character set portion of Reports Runtime NLS_LANG.

For example, if your NLS_LANG=JAPANESE_JAPAN.JA16SJIS, then both your data source XML file as well as your DTD file should be encoded in Shift_JIS.

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 must modify the appropriate Tk2Motif.rgb file before using Oracle Reports because this file contains EUC encoded Japanese resources.

Convert the Tk2Motif.rgb file to Shift-JIS encoding, or remove the last seven entries from this file. Otherwise, Oracle Reports may fail.


Note:

The Tk2Motif.rgb file for the Japanese environment is:

ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/JA.


PK-~3y3PK0;wEOEBPS/pbr_nls005.htmO Unicode

23.5 Unicode

Unicode is a global character set that allows multilingual text to be displayed in a single application. This enables multinational corporations to develop a single multilingual application and deploy it worldwide.

Global markets require a character set that:

  • Allows a single implementation of a product for all languages, yet is simple enough to be implemented everywhere.

  • Contains all major living scripts.

  • Supports multilingual users and organizations.

  • Enables worldwide interchange of data through the Internet.

This section discusses the following aspects of Unicode in Oracle Reports:

23.5.1 Unicode Support

Oracle Reports Services provides Unicode support. On UNIX platforms, Unicode support has certain limitations; for example:

  • Unicode is not supported in PostScript output format on UNIX.

  • In other bitmap output formats, such as PDF and RTF, you may observe font issues such as character misalignment on UNIX.

For information on how to resolve such issues, refer to Section 12.3.2, "Fixing Font-Related Issues".

If you use Unicode, you are able to display multiple languages, both single-byte languages such as Western European, Eastern European, Bidirectional Middle Eastern, and multibyte Asian languages such as Chinese, Japanese, and Korean (CJK) in the same application.

Use of a single character set that encompasses all languages eliminates the need to have various character sets for various languages. For example, to display a multibyte language such as Japanese, the NLS_LANG environment variable must be set to the following:

NLS_LANG=JAPANESE_JAPAN.JA16SJIS

To display a single-byte language such as German, NLS_LANG must be set to the following:

NLS_LANG=GERMAN_GERMANY.WE8ISO8859P1

The obvious disadvantage of this scheme is that applications can only display characters from one character set at a time. Mixed character set data is not possible.

With the Unicode character set, you can set the character set portion of NLS_LANG to UTF8 instead of a specific language character set. This allows characters from different languages and character sets to be displayed simultaneously. For example, to display Japanese and German together on the screen, the character set portion of the NLS_LANG environment variable must be set to UTF8, along with the appropriate language_territory setting. For example:

NLS_LANG=JAPANESE_JAPAN.UTF8
NLS_LANG=GERMAN_GERMANY.UTF8
NLS_LANG=AMERICAN_AMERICA.UTF8

Unicode capability gives the application developer and end user the ability to display multilingual text in a report. This includes text from a database containing Unicode characters, multilingual boilerplate text, text in graphical user interface (GUI) objects, text input from the keyboard, and text from the clipboard.


Note:

If you develop applications for the Web, then you can use Unicode because of the Unicode support provided by Java through the browser.


23.5.2 Unicode Font Support

To enter text in a particular language, you must be running a version of the operating system that supports that language. Also, depending on the output format type, Oracle Reports Services relies on the operating system for the font for different languages, as described in Chapter 9, "Managing Fonts in Oracle Reports".

Windows provides True Type Big Fonts. These fonts contain the characters necessary to display or print text from more than one language. For example, if you try to type, display, or print Western European, Central European, and Arabic text on a field and see unexpected characters, then you are probably not using a Big Font. Big Fonts for single-byte languages provided by Microsoft Windows are Arial, Courier New, and Times New Roman. For more information, go to Microsoft's Web site: http://www.microsoft.com/typography/fonts/default.aspx.

Oracle provides two Unicode fonts for Western European, Central European, Cyrillic, Greek, Turkish, Hebrew, Arabic, Baltic, Vietnamese, Thai, Simplified Chinese, Japanese, Korean, and Traditional Chinese:

  • Albany WT fonts (proportional width) are available in Oracle Fusion Middleware 11g Release 1 (11.1.1) MRUA CD.

  • Andale Duospace WT fonts (fixed width) can be downloaded from Oracle Metalink (http://metalink.oracle.com). The ARU number is 2638552.

Third-party Unicode fonts are also available.

23.5.3 Enabling Unicode Support

To enable Unicode support, set the NLS_LANG environment variable as follows:

NLS_LANG=language_territory.UTF8

Refer to Section 23.2, "Globalization Support Environment Variables" for more information about environment variables.

PKV7YTOPK0;wEOEBPS/pbr_arch003.htm Oracle Reports Services

2.3 Oracle Reports Services

Oracle Reports Services is the reports publishing component of Oracle Fusion Middleware. It is an enterprise reporting service for producing high quality production reports that dynamically retrieve, format, and distribute any data, in any format, anywhere. You can use Oracle Reports Services to publish in both Web-based and non-Web-based environments.

Read this section to learn more about Oracle Reports Services:

2.3.1 Overview

Oracle Reports Services provides a scalable, flexible architecture for the distribution and automated management of report generation engines on the same server and across multiple servers. Additionally, it caches report output for reuse on similar requests. It integrates into standard Web environments with JSPs, Java servlets, and Web Services. It enables you to run reports on both local and remote application servers and to implement a multitiered architecture for running your reports.

When used in conjunction with JSPs, Java servlets, or Web Services, Oracle Reports Services enables you to run reports on any platform from a Web browser using a standard URL syntax. For Oracle Reports Servlet (rwservlet) implementations, the in-process Reports Server is available for faster response and easier administration. The in-process Reports Server cuts down on the communication expense between processes and consequently shortens response times.

Oracle Reports Services handles client requests to run reports by entering all requests into a job queue. When one of the server's engines becomes available, the next job in the queue is dispatched to run. As the number of jobs in the queue increases, the server can start more engines until it reaches the maximum limit specified in your server configuration. Similarly, engines are shut down automatically after having been idle for a period of time that you specify (see Chapter 8, "Configuring Oracle Reports Services").

Oracle Reports Services keeps track of all jobs submitted to the server, including jobs that are running, scheduled to run, finished, or failed. The showjobs Web command (through rwservlet), the Web Services interface, the Oracle Reports Services pages in Oracle Enterprise Manager, the Reports Queue Manager (Windows), and the Reports Queue Viewer (UNIX) enable you to view information on when jobs are scheduled, queued, started, finished, and failed, as well as the job output and the final status of the report.

With Oracle Reports Services, job information is persistent. This means that if the Reports Server is shut down then restarted, all jobs are recovered,Foot 1  not just scheduled jobs.

When used in a Web environment, the Oracle Reports Services architecture consists of four tiers:


Note:

The term tier refers to the logical location of the components that comprise the Oracle Reports Services architecture. Each of the tiers, though, can reside on the same machine or on different machines.


  • The client tier (a Web browser)

  • The Web server tier

  • The Oracle Reports Services tier

  • The data tier, including databases and all other data sources

When used in a non-Web environment, there are three tiers (a Web server being unnecessary):

  • The client tier

  • Oracle Reports Services tier

  • The data tier, including databases and pluggable data sources

The client software could be:

  • A rwclient

  • A browser

The way you set up the tiers can range from having all of them on one machine to having each of them on a separate machine. Additionally, you can have multiple Web servers on multiple machines as well as multiple application servers on multiple machines. Refer to the Oracle Fusion Middleware Installation Planning Guide for more information on sample topologies.

If you choose to have your Web server on multiple machines, you can cluster and load balance multiple Oracle Fusion Middleware instances for a highly available, fail-safe environment.


Note:

Do not use "server=clustername" statements while calling jobs from an HA Reports Sever. For calling jobs from an HA Reports server, you must use a load balancer.

Refer to the Oracle Fusion Middleware Installation Planning Guide for information on load balancing. Refer to the Oracle Fusion Middleware Enterprise Deployment Guide for Java EE and Oracle Fusion Middleware High Availability Guide for information on enterprise deployment architectures and high availability.


Oracle Reports Services provides event-based reporting. This uses database events to trigger the generation of a report. For example, you can define an event that signals a change in revenue levels above or below a particular watermark. If the change occurs in the database (the event), a report is automatically generated. This feature is discussed in detail in Chapter 21, "Using Event-Driven Publishing".

Oracle Reports Services includes a distribution module that uses XML to define unique configurations for the distribution of reports. Call the desired XML file from the runtime command line or URL to generate one report, and let the server handle diverse outputs and destinations. Processing time is significantly reduced and configuration changes can all be handled within the XML file. This feature is discussed in detail in Chapter 20, "Creating Advanced Distributions".

2.3.2 Oracle Reports Services Components

Figure 2-1 Oracle Reports Services Components

Description of Figure 2-1 follows

Figure 2-1 illustrates the components of a working Oracle Reports Services environment. This includes:

  1. The Oracle HTTP Server, a Web server provided by Oracle Fusion Middleware. It incorporates an OpenSSL module to provide support for Secure Sockets Layer (SSL) and HTTP Secure Sockets Layer (HTTPS). It also provides a servlet engine to support the running of Java servlet applications.

  2. The module mod_weblogic, used by the Oracle HTTP Server to redirect requests from servlets and JSPs to Oracle WebLogic Server. WebLogic Server provides a complete Java EE environment that includes a JSP translator, a JSP servlet engine (OJSP), and an Enterprise JavaBeans (EJB) container. It provides a fast, lightweight, highly scalable, easy-to-use, complete Java EE environment. It is written entirely in Java and executes on the standard Java Development Kit (JDK) Virtual Machine (JVM).

  3. The module mod_osso, used by the Oracle HTTP Server to connect to Single Sign-On Server. The Single Sign-On Server, in turn, uses Oracle Internet Directory.

  4. Oracle Reports Servlet (rwservlet), a component of Oracle Reports Services that runs inside the Web server's servlet engine. Oracle Reports Servlet (rwservlet) translates and delivers information between HTTP and Reports Server. It uses Single Sign-On Server for authentication. Oracle Reports Servlet includes:

    • The in-process Reports Server, which reduces the maintenance and administration of the Reports Server by providing a means for starting the server automatically, whenever it receives the first request from the client through rwservlet or a Reports JSP.

  5. The Custom Tag Handler, which processes custom Oracle Reports tags included in a JSP file. In a JSP file, Oracle Reports-related custom tags are identified by the prefix rw:; other custom tags using other prefixes may also be present.

  6. The Reports Server (rwserver), which processes client requests, including ushering them through its various services, such as security (authentication and authorization, job scheduling, caching, publishing, and bursting and distribution (including distribution to custom—or pluggable—output destinations).

    The security service offers authentication based on the following methods:

    • Oracle Internet Directory

    • Java Platform Security (JPS) Oracle Internet Directory

    • Any LDAP-based ID Store using Java Platform Security (JPS)

    The security service offers authorization based on the following methods:

    • Java Platform Security (JPS) Oracle Internet Directory

    • XML file-based

    • Portal-based

    The bursting and distribution service enables the distribution of reports to multiple destinations, such as wireless, printer, FTP server, Portal, WebDAV, browser, and e-mail. The publishing service publishes Reports into multiple output formats, such as PDF, HTML, XML, and spreadsheet.

    The Reports Server also spawns runtime engines for generating requested reports, fetches completed reports from the Reports Server cache, and notifies the client that the job is ready. Reports output can be stored in the Reports cache or on a physical disk.

  7. The Reports Server Cache, which securely stores completed job outputs.

  8. The Reports Engine, which includes components for running SQL-based and pluggable data source-based reports. It fetches requested data from the data source, formats the report, sends the output to cache, and notifies the Reports Server that the job is complete. The Reports engine also includes pluggable data sources, which are custom data sources like text, database, JDBC, OLAP, XML, and web services.

  9. The pluggable data sources, a set of design-time and runtime Java APIs that provide openness to Reports by enabling data input from numerous sources through the implementation of the PDS Java Interface. The PDS feature enables developers to leverage Reports' aggregation, summarization, formatting, and scheduling capabilities not only on data that is accessed through SQL, but also on data that is available elsewhere.

  10. The pluggable engines, which are custom engines that use Java APIs to pass jobs to the Reports Server, as well as leverage the server's other features, such as scheduling, distribution, notification, and caching. Oracle Reports Services provides an out-of-the-box pluggable engine called the URL engine. The URL engine enables you to distribute content from any publicly available URL to destinations such as e-mail, Oracle Portal, and WebDAV.

    In addition to the Reports Services components, Figure 2-1 depicts the following:

    • Integration of Oracle Reports with Service Oriented Architecture (SOA) through the web services module of the Reports J2EE application.

    • Communication between Oracle Forms and Oracle Reports.

    • Reports-specific modules in Enterprise Manager that enable you to administer and manage tasks, such as monitoring, scheduling, security policies, font setup, and configuration.

Additionally, the Oracle Reports Bridge provides functionality for discovering a Reports Server across Farms. The Oracle Reports Bridge acts as a gateway for packets that are broadcast by Reports Server/Reports Client across Farms. The Oracle Reports Bridge mechanism is not shown in Figure 2-1; for more information, see Section 2.3.4.1.2, "Server Discovery Across Subnets".

2.3.3 Oracle Reports Services Runtime Process

The various components of Oracle Reports Services contribute to the process of running a report as follows:

  1. The client requests a report by contacting a server through either a URL (Web) or a non-Web, Oracle Reports-related command, such as rwclient.

    • The URL goes to JSP or rwservlet, both associated with the Oracle HTTP Server. The requests go to mod_weblogic. (For jobs that run as JSPs, mod_weblogic uses OJSP to translate the JSP into a servlet.)

      The URL may contain runtime parameters or a keyword that refers to a runtime parameter configuration section within the cgicmd.dat key map file file (for more information, see Section 18.13, "Using a Key Map File"), or it may contain both, though parameters explicitly named in the URL must not also be present in the relevant keyword section of cgicmd.dat.

    • rwclient goes directly to the Reports Server.

      The command line may contain runtime parameters. If you have a lot of runtime parameters, you can create a batch file or shell script that contains the rwclient command along with a string of parameters.

  2. The rwservlet component translates and delivers information between either a Web server or a Java EE Container (for example, Oracle WebLogic Server) and the Reports Server:

    Server requests from Reports JSP or rwservlet can be run by the in-process Reports Server or as a standalone Reports Server process (recommended), whichever is specified in the Oracle Reports Servlet (rwservlet) configuration file (DOMAIN_HOME/config/fmwconfig/servers/<WLS_SERVER_NAME>/applications/reports_<version>/configuration//rwservlet.properties). An in-process Reports Server requires less maintenance than a standalone Reports Server because, unlike the standalone Reports Server, it starts automatically in response to requests from the client. An in-process Reports Server cuts down on the communication between processes. A standalone server, on other hand, provides better control outside the rwservlet process with the ability to separate out server process from the WebLogic Server instance. For information about specifying an in-process Reports Server and default naming, see Section 8.3, "Oracle Reports Servlet Configuration File".

  3. The Reports Server processes the request:

    If the request includes a TOLERANCE option, then the Reports Server checks its cache to determine whether it already has output that satisfies the request. If it finds acceptable output in its cache, then it immediately returns that output rather than rerunning the report.


    Note:

    For any job request that you send to the Reports Server, you can include a TOLERANCE option. TOLERANCE defines the oldest output that the requester would consider acceptable. For example, if the requester specified five minutes as the TOLERANCE, the Reports Server would check its cache for the last duplicate report output that had been generated within the last five minutes. An EXPIRATION option defines the point in time when the report output should be deleted from the cache (for example, EXPIRATION might equal a specific date and time for when the output should expire). For more information, see Section A.8.22, "TOLERANCE" and Section A.6.6, "EXPIRATION".


    If the request is the same as a currently running job, then the request will reuse the output from the current job rather than rerunning the report.

    If neither of these conditions is met, then:

    1. If Oracle Reports Servlet (rwservlet) is SSO-enabled, it checks for authentication. A secure Reports Server then authorizes the user using Oracle Internet Directory. If Oracle Reports Servlet (rwservlet) is not SSO-enabled, a secure Reports Server authorizes and authenticates the user.

    2. If the report is scheduled, the Reports Server stores the request in the scheduled job queue, and the report is run according to schedule. If the report is not scheduled, it is queued in the current job queue for execution when a Reports Engine becomes available.


      Note:

      When you configure the Reports Server (in rwserver.conf), you can specify the maximum number of the Report Engines it can use. If the Reports Server is under this maximum, then it can send the job to an idle engine or start a new engine to handle the request. Otherwise, the request must wait until one of the current Oracle Reports Engines completes its current job.


    3. At runtime, the Reports Server spawns a Reports Engine and sends the request to that engine to be run.

  4. The Reports Engine retrieves and formats the data.

  5. The Reports Engine populates the Reports Server cache.

  6. The Reports Engine notifies the Reports Server that the report is ready.

  7. The Reports Server accesses the cache and sends the report to output according to the runtime parameters specified in either the URL, the command line, or the keyword section in the cgicmd.dat file (URL requests only).

Another way to create a report is through event-driven publishing. With event-driven publishing, the client is the database (rather than the end user). Events are defined through the Event-Driven Publishing API. The event invokes a database trigger, an advanced queuing application, or a PL/SQL package that calls the Event-Driven Publishing API to submit jobs to the Reports Server. Event-driven publishing is discussed in detail in Chapter 21, "Using Event-Driven Publishing".

For information about running reports with Oracle BPEL Process Manager, refer to Section 8.10, "Configuring Oracle Reports to Communicate with Oracle BPEL Process Manager".

2.3.4 Oracle Reports Services Communication Architecture

Oracle Reports replaces the use of Borland's VisiBroker with Sun Microsystems' industry-standard Java Developer's Kit Object Request Broker (JDK ORB), providing support for Reports Server requests from clients across subnets, and using the broadcast mechanism for dynamic Reports Server discovery both within a subnet and across subnets.

With Oracle Reports 11g Release 1 (11.1.1), you can use the built-in broadcast mechanism, available out-of-the-box, for dynamic discovery of Reports Servers. You can also choose to use the Common Object Service (COS) naming service orbd, provided by Sun Microsystem's JDK ORB, for Reports Server discovery.


Note:

It is recommended that you use the built-in broadcast mechanism for dynamic discovery of Reports Servers. Use the Common Object Service (COS) naming service for Reports Server discovery only when the built-in broadcast mechanism is not suitable for your environment, as in the following scenarios:

  • You plan to install Oracle Reports on a machine that is connected to a network using VPN.

  • You want to avoid broadcast traffic on your network.


This section discusses the two methods of Reports Server discovery


Note:

Oracle Reports 11g Release 1 (11.1.1) contains rwdiag executable to provide diagnosis for the JDK ORB implementation. Using rwdiag, you can replace the functionality of osfind available in the prior VisiBroker implementation, providing information about which ORB applications are running and options for logging ORB-related network traffic


2.3.4.1 Server Discovery Using the Broadcast Mechanism

With the broadcast mechanism, Reports Server discovery can occur within a subnet or across subnets:


Note:

The Oracle Reports built-in broadcast mechanism requires the host machine to be inside a network. Thus, following are two scenarios in which the broadcast mechanism may not work, including the solutions for each scenario:

  1. If the host machine is not in a network (that is, it is a standalone machine).

    Solution for Windows platform: Install the MS loopback adapter, as described on the Microsoft Web site (http:\\microsoft.support.com). Then, specify an IP address for your machine (either XP or Windows 2000), as follows:

    1. On your desktop, right-click My Network Places, and choose Properties.

    2. Right-click the MS loopback adapter, and choose Properties.

    3. In the Properties dialog box, select Internet Protocol (TCP/IP), and click Properties.

    4. Select Use the following IP address, and enter a valid IP address. The subnet mask field will automatically populate. Do not use the local host IP (that is, 127.0.0.1). For example, enter: 198.162.1.1.

    5. Click OK, and follow the instructions displayed.

    Solution for UNIX platform: Configure the discovery mechanism to disable the built-in broadcast mechanism and enable the COS naming service instead, by replacing the multicast element with the namingService element in the network configuration file (rwnetwork.conf).

  2. If the host machine is connected to a network through VPN.

    Solution for both Windows and UNIX platform: Configure the discovery mechanism to disable the built-in broadcast mechanism and enable the COS naming service instead, by replacing the multicast element with the namingService element in the network configuration file (rwnetwork.conf), as described in Section 2.3.4.1, "Server Discovery Using the Broadcast Mechanism".


2.3.4.1.1 Server Discovery within a Subnet

Within a subnet, the client broadcasts a packet with the name of the Reports Server to which it wants to connect. A Reports Server with that name will respond if it exists in the network. The client then connects to the Reports Server to run the report request.

Figure 2-2 Server Discovery within a Subnet

Description of Figure 2-2 follows

Using the example of running a report request with server=rep_server, the following numbered steps map to the numbers in Figure 2-2:

  1. getServerRef

    • The Oracle Reports client (for example, rwclient, rwservlet, or rwrqm) broadcasts a packet containing the name of the server to which it wants to connect. In this case, the packet contains the name rep_server.

    • The server with name rep_server in the network responds back with its Interoperable Object Reference (IOR).

    • The client converts the IOR to an object reference.

  2. runReport

    • The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).

  3. executeReport

    • Reports Server executes the report and returns either report or status.

2.3.4.1.2 Server Discovery Across Subnets

Oracle Reports provides the Oracle Reports Bridge mechanism for connecting two or more non-secured subnets. An Oracle Reports Bridge running in one subnet will contact Oracle Reports Bridge running in another subnet to obtain Reports Server references. For configuration details, refer to Oracle Reports Bridge Configuration Elements.

Figure 2-3 Server Discovery Across Subnets

Description of Figure 2-3 follows

Using the example of running a report request with server=rep_server, the following numbered steps map to the numbers in Figure 2-3:

  1. getServerRef

    • The Oracle Reports client (for example, rwclient, rwservlet, or rwrqm) broadcasts a packet containing the name of the server to which it wants to connect. In this case, the packet contains the name rep_server.

  2. bridge1 intercepts the packet and passes it to bridge2.

  3. registerServerRef

    • bridge2 broadcasts the packet in dom2, and rep_server in dom2 responds back with the Interoperable Object Reference (IOR).

    • bridge2 passes the IOR back to bridge1, and bridge1 passes it to the client using the broadcast mechanism.

    • The Oracle Reports client converts the IOR to an object reference.

  4. runReport

    • The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).

  5. executeReport

    • Reports Server executes the report and returns either report or status.

      s

Note:

Numbers in blue color in Figure 2-3 are shown for the case where the Oracle Reports client is in dom2 and Reports Server is in dom1.


2.3.4.2 Server Discovery Using the COS Naming Service

Alternatively, you can use the JDK-provided Common Object Service (COS) naming service to access a Reports Server in the same subnet, as well as across a non-secured subnet. To configure the naming service, refer to Section 8.5.1, "Network Configuration Elements".


Note:

It is recommended that you use the built-in broadcast mechanism for dynamic discovery of Reports Servers. Use the Common Object Service (COS) naming service for Reports Server discovery only when the built-in broadcast mechanism is not suitable for your environment, as in the following scenarios:

  • You plan to install OracleAS Reports Services on a machine that is connected to a network using VPN.

  • You want to avoid broadcast traffic on your network.


To control the COS naming service through OPMN, refer to Section 8.8.1.4, "COS Naming Service Specification"

Figure 2-4 Server Discovery Using the COS Naming Service

Description of Figure 2-4 follows

Using the example of running a report request with server=rep_server, the following numbered steps map to the numbers in Figure 2-4

  1. registerServer

    • When rep_server is started, it registers itself with the naming service, which must be up and running for the server to start. Now a request is run with server=rep_server.

  2. getServerRef

    • The Oracle Reports client contacts the naming service and requests a reference to server rep_server.

    • The naming service returns the reference to server rep_server.

  3. runReport

    • The Oracle Reports client sends a request to the remote object reference to run the report (IIOP call).

  4. executeReport

    • Reports Server executes the report and returns either report or status.


Note:

Numbers in blue color in Figure 2-4 are shown for the case where the Oracle Reports client is in dom2 and Reports Server is in dom1.




Footnote Legend

Footnote 1: Only synchronous jobs and jobs that are currently running are lost in this case.
PK6ԻPK0;wEOEBPS/pbr_xplat005.htmF Generating Single-Byte PDF Output

12.5 Generating Single-Byte PDF Output

Table 12-4 shows the cross-platform deployment scenario where the destination format is single-byte PDF created using PDF font subsetting. For more information on PDF font features, refer to Chapter 11, "Using PDF in Oracle Reports".

Table 12-4 Cross Platform Deployment - Scenario 2

Development PlatformDeployment PlatformDestination Format

Windows

UNIX

PDF (single byte)


This section discusses designing and deploying a report for single-byte PDF output in the following subsections:

12.5.1 Designing Your Report

To prepare your report before you deploy it on a UNIX platform:

  1. Create a new report.

  2. Use only those fonts in your report that:

    • Are available on UNIX. All font files that are available on Windows (TTF files) may not be available on UNIX (AFM or TFM files). If you have the correct AFM or TFM font file available on the UNIX platform, you can continue to use it (AFM for PostScript and TFM for PCL).


      Note:

      AFM support is extended only to single-byte PostScript file generation, with the exception of Japanese encoding.

      The encoding schemes supported for the AFM files are:

      • AdobeStandardEncoding

      • ExtJIS12-88-CFEncoding

      • FontSpecific

      • HRoman

      • ISOLatinHebrew

      • JIS12-88-CFEncoding

      • JIS12e-88-CFEncoding


    • Can scale well. For example, MS Sans Serif does not scale well to a different size, whereas Tahoma does. The reason is that the MS Sans Serif font is a raster font that does not scale well to any size and usually has rounding issues. On the other hand, Tahoma font is a TrueType font that is very similar in visual appearance to the MS Sans Serif font. Additionally, Tahoma is a vector font that can be scaled to any size and rotated to any angle.

12.5.2 Deploying Your Report in Pre-11g Version That Uses Motif Tool Kit Mechanism

For fonts with AFM files not readily available on UNIX, or if you encounter any font issues in the report output such as text misalignment, you can convert and generate an AFM file from the Windows TTF file using freely available third party utilities, such as ttf2pt1. Do not attempt to convert to a TFM file, as this may not produce reliable results.

To deploy your report on a UNIX platform using PDF font subsetting:

  1. Locate the TTF files corresponding to the fonts used in your report. Convert these TTF files to AFM to ensure that you will have the AFM files for the fonts used in your report.

    Use a True Type to Type 1 font converter utility to convert the TTF files to AFM files. For example, ttf2pt1.

  2. Post-conversion, remove the .afm extension in the AFM file name. For example:

    Table 12-5 Post Conversion Font File Names

    Before ConvertingAfter ConvertingAfter Renaming

    arial.ttf

    arial.afm

    Arial

    cour.ttf

    cour.afm

    CourierNew


  3. Copy the Windows TTF files that you have used in your report to the fonts directory on your UNIX machine. For example, $ORACLE_HOME/reports/fonts.

  4. Add the path to the TTF files in the REPORTS_PATH environment variable. This ensures that the font files can be referenced by Reports Runtime.

  5. Edit the screenprinter.ppd file with any text editor.


    Note:

    If you have defined a default printer by including an entry in ORACLE_HOME/guicommon/tk/admin/uiprint.txt, you must add the appropriate entries in the printer's PPD file for a PostScript printer or in the HPD file for a PCL printer.

    Beginning with Oracle Reports 10g Release 1 (9.0.4), if you have not set up a default printer:

    • A default printer surface that mimics the screen (screenprinter.ppd) is used for formatting.

    • You must add the necessary font and resolution entries in the screenprinter.ppd file.

    The PPD and HPD files are located at:

    • $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

    • $ORACLE_HOME/guicommon/tk/admin

    Oracle Reports searches for HPD or PPD files initially in the Oracle Instance location and then in the Oracle Home location.

    Refer to Section 10.8.1, "ScreenPrinter" for more information on the screenprinter.ppd file.


    Ensure that the PPD/HPD file used contains an entry for each AFM or TFM file that you use in your report. PPD/HPD files are configuration files containing printer driver settings and the list of all the fonts supported by the printer.

    Navigate to the to the Font Information section in the PPD file and add the necessary entries for the font files in the following format:

    *FONTNAME:ENCODING:VERSION:LOCATION
    

    For example:

    *Font Arial: Standard "(Version 2.76)" Standard ROM
    *Font CourierNew: Standard "(Version 2.76)" Standard ROM
    

    Ensure that the AFM file name exactly matches the font name specified in the PPD file as Oracle Reports searches for this file based on the font name in the PPD file.

  6. Copy the converted AFM files to the $ORACLE_HOME/guicommon/tk/admin/AFM directory.

  7. Ensure that the uiprint.txt has the entry for the appropriate PPD file:

    printer name:PostScript:2:test:ppd file
    

    For example:

    printer1:PostScript:2:test:hpljet42.ppd
    
  8. Edit the hpljet42.ppd file with any text editor.


    Note:

    Copy the PPD file from ORALCE_HOME/guicommon/tk/admin /PPD to the following location:

    $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD


  9. Ensure that the PPD/HPD file used contains an entry for each AFM or TFM file that you use in your report.

    Navigate to the Font Information section and add the necessary entries for the new AFM files in the following format:

    *FONTNAME:ENCODING:VERSION:LOCATION
    

    For example:

    *Font Arial: Standard "(Version 2.76)" Standard ROM
    *Font CourierNew: Standard "(Version 2.76)" Standard ROM
    

    Ensure that the AFM file name is the same as the font name given in the PPD file. Oracle Reports searches for this file based on the font name in the PPD file.

  10. Ensure that the fonts used in your report are not aliased.

    For example, edit the uifont.ali and comment the entries in the [Global] section where Arial and Courier New are aliased, by default, to Helvetica and Courier respectively.

    [ Global ] # Put mappings for all surfaces here.
    # Mapping from MS Windows
    #Arial = helvetica
    #"Courier New" = courier
    

    Note:

    The uifont.ali file is located in the following directory on Windows and UNIX:

    • On windows: ORACLE_INSTANCE\config\FRComponent\frcommon\tools\common

    • On UNIX: $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

    Use font aliasing only if you are unable to generate the AFM file for a particular font. You can then alias the missing font to the closest match. The fonts must be made available on the machine displaying the report output and not necessarily on the machine generating the report output.


  11. Add the appropriate entries in the [PDF:Subset] section to subset the fonts used in your report.

    For example:

    [ PDF:Subset ]
    "arial" = "arial.ttf"
    "courier new" = "cour.ttf"
    

    For PDF file portability, you can use either font subsetting or font embedding. File portability ensures that the PDF report does not depend on the machine where it is viewed to have the fonts installed.

  12. Run the report to PDF and view it. The PDF should contain the fonts used in your report. For example, Arial and Courier New fonts.

    To verify the fonts used, do the following:

    • In Acrobat Reader 6.0, choose File >Document Properties > Fonts.

    • In Acrobat Reader 3.0 and above, choose File >Document Info > Fonts.

    The Original Font column displays the Arial and Tahoma fonts. The PDF document should not contain any font alignment issues.

12.5.2.1 Troubleshooting Information

If you encounter deployment issues, review the following troubleshooting information:

  • If you do not get the correct fonts in the PDF output, set the environment variable DEBUG_SLFIND to a log file name (for example, debug.txt) and run the report. The font files that are looked up while parsing the PPD file as well as the fonts used will be written to the specified file. Specifically, check for the following:

    1. The PPD file that you modified should be picked up. If it is not picked up it is a configuration issue. Refer to Chapter 9, "Managing Fonts in Oracle Reports".

    2. The AFM files that you have copied to AFM directory should be picked up next.

    See Chapter 10, "Printing on UNIX with Oracle Reports" for more information on DEBUG_SLFIND.

12.5.3 Frequently Asked Questions

This section contains frequently asked questions (FAQs) pertaining to deploying a report to single-byte PDF output.

Question

My PDF report page count varies when it is deployed in Windows and UNIX platforms. What must I do to fix it?

Answer

Your report uses the default printer for formatting. Ensure that the same resolution and the same fonts used are made available to both the printers. One way of achieving this would be to generate AFM files from Windows TTF font files and then copy the Windows TTF files and AFM files to UNIX in the appropriate folders. Also set the same resolution as Windows in PPD/HPD files. Follow the process specified in the prior steps.

Question

The page count of my report varies when run on different installations of UNIX. How can I ensure that the page count of my report is the same regardless of the installation?

Answer

In UNIX, Oracle Reports uses the PPD/HPD file of the default printer in the installation for formatting. The resolution and list of fonts will be picked up from this PPD/HPD files. Beginning with Oracle Reports 10g Release 1 (9.0.4), if there is no default printer setup in the installation, then screenprinter.ppd will be used. This PPD file emulates the screen. Earlier versions of Oracle Reports used the DISPLAY environment variable instead. Ensure that the two installations use the same AFM/TFM files and font files, so that the number of pages of PDF output will be the same.

PKv5FFPK0;wEOEBPS/pbr_dist002.htm What's New In This Release?

20.2 What's New In This Release?

Oracle Reports 11g Release 1 (11.1.1) expands bursting and distribution to all output formats, as well as other new features, as described in Table 20-1 (a subset of Table 1-1, "11g Functionality vs. 10g Functionality"):

Table 20-1 11g Distribution and Bursting Features vs. 10g Functionality

11g New FeaturesEquivalent 10g Functionality

Full support for bursting and distribution to all destinations and output formats, including:

  • all out-of-the-box and pluggable destinations

  • data-driven formats such as XML and DELIMITEDDATA, as well as layout-based formats such as the new ENHANCEDSPREADSHEET format

Limited destinations and output formats for bursting and distribution.

System parameters in report definition honored for distribution. Distributed output honors the DESTYPE, DESFORMAT, and DESNAME system parameters specified in the report definition.

For example, if you define system parameters in the report:

DESTYPE=FILE, DESFORMAT=PDF, and DESNAME=/tmp/a.pdf

the report output is generated and distributed using these values without the parameter values needing to be specified in the distribution XML file or on the command line.

Additionally, if users change the values of DESTYPE, DESFORMAT, or DESNAME on the Runtime Parameter Form during runtime, or if Oracle Reports sets the value of these system parameter based on a runtime calculation, the parameter values are honored when the report is distributed.

Values for system parameters DESTYPE, DESFORMAT, and DESNAME specified in the report definition are not honored for distributed output; to change the default values of these system parameters for distributed reports, they must be specified in the distribution file or on the command line.

Security check for distribution destinations. Ability to define security policies for distribution jobs. For example, you can define a security policy that specifies report output may not be burst to ENHANCEDSPREADSHEET format; if the distribution XML file specifies ENHANCEDSPREADSHEET format, the attempt to generate a report to this output format displays an error.

No security check performed for destinations specified in the distribution XML file.

Other improvements such as tolerance support for burst jobs and improved diagnostics.

N/A


PKԲxPK0;wEOEBPS/pbr_verify001.htm: What's New In This Release?

3.1 What's New In This Release?

Oracle Reports 11g Release 1 (11.1.1) provides the installation and upgrade enhancements listed in Table 3-1 (a subset of Table 1-1, "11g Functionality vs. 10g Functionality"):

Table 3-1 11g Install Features vs. 10g Functionality

11g New FeaturesEquivalent 10g Functionality

Flexible install types. In Oracle Fusion Middleware 11g, install type contains Oracle Reports, Forms, Portal, and Discoverer. In the installer, you can selectively install any one of these products or all of them.

Predefined install types only. For example, you can not install Oracle Reports alone or Oracle Reports and Oracle Portal alone.

Separate installation of binaries from configuration, allowing shared binaries across servers. Oracle Installer allows for install only and then configuration only as two separate steps.

For more information, see Section 3.2, "Understanding the Oracle Fusion Middleware Installation Structure".

Single ORACLE_HOME installation including both binaries and configuration.

New and improved management screens in Oracle Enterprise Manager. Oracle Enterprise Manager provides enhanced usability for all the administration, monitoring, and diagnosability operations. For more information, see Chapter 7, "Administering Oracle Reports Services Using Oracle Enterprise Manager".

Oracle Enterprise Manager Application Server (AS) Control, and modifying configuration files.

Fully automated upgrade from 10g Release 2 (10.1.2).

For more information, see Section 3.6, "Upgrading from the Prior Release".

Not Applicable (N/A)


PKsxF>PK0;wEOEBPS/pbr_conf013.htmr Configuring Reports Managed Server

8.13 Configuring Reports Managed Server

By default, the Oracle Reports application is deployed on a Managed Server.

You can modify the start-up properties of a Reports Managed Server through the SetDomainEnv.sh file or the WebLogic Server Administration Console. However, some properties like -Xmx and -Xms, which are already defined in the setDomainEnv.sh file would take precedence and the changes made through the WebLogic Server Administration Console do not take effect. Also, the start-up properties of WLS_REPORTS that are modified using the WebLogic Server Administration Console do not take effect when WLS_REPORTS is started using startManagedServer.sh. Hence it is recommended that you use SetDomainEnv.sh (for UNIX) or SetDomainEnv.bat (for Windows) to modify the start-up properties for Managed Servers.

You can modify the system or runtime properties for a Managed Server using the SetDomainEnv.sh (for UNIX) or SetDomainEnv.bat (for Windows) which is located in $DOMAIN_HOME/bin.

You can modify the runtime properties using the EXTRA_JAVA_PROPERTIES variable inside the [ "${SERVER_NAME}" = "WLS_REPORTS" ] block.

You must add any new environment variable for WLS_REPORTS Managed Server inside the if[ "${SERVER_NAME}" = "WLS_REPORTS" ] block in the SetDomainEnv.sh script.

As the default setting is done for all components that use setDomainEnv.sh, the -Xmx and -Xms settings are added multiple times to the command line of a Managed Server. Hence you must add the -Xmx and -Xms settings at the end of EXTRA_JAVA_PROPERTIES variable in the [ "${SERVER_NAME}" = "WLS_REPORTS" ] block.

For example, consider the following snippet:

if [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then     EXTRA_JAVA_PROPERTIES="-Xms256m Xmx512m ... -Doracle.home=/fmwhome/as1 ... ${EXTRA_JAVA_PROPERTIES}"

If you want to add the -Djobid=random property and change the -Xmx and -Xms settings for WLS_REPORTS to 512m and 1024m, you must modify the snippet as follows:

if [ "${SERVER_NAME}" = "WLS_REPORTS" ] ; then     EXTRA_JAVA_PROPERTIES=" -Doracle.home=/fmwhome/as1 ... ${EXTRA_JAVA_PROPERTIES} -Xms512m -Xmx1024m -Djobid=random"

Note:

WLS_REPORTS is the name of the Managed Server where the Reports application is deployed during installation. For expand cluster cases, Managed Servers can be named as WLS_REPORTS1, WLS_REPORTS2, and so on.


PKoIwrPK0;wEOEBPS/pbr_webservice003.htmE7 Oracle Reports Web Service Operations

19.3 Oracle Reports Web Service Operations

Oracle Reports exposes the RWWebService servlet as a Web service with its public interfaces and bindings defined and described using XML. These public interfaces and bindings are published across the network through the WSDL.

19.3.1 Using Oracle Enterprise Manager to Test RWWebService

To test the RWWebservice through Oracle Enterprise Manager, complete the following steps:

  1. Log in to Oracle Enterprise Manager.

  2. Navigate to your WebLogic Domain.

  3. From the WebLogic Domain menu, select Web Services > Test Web Service

    The Test Web Service page is displayed.

  4. Enter the URL of a WSDL and click Parse WSDL.

  5. Select the webservice operation that you want to invoke.

  6. Enter valid values in appropriate fields.

  7. Click Test Web Service.

    The Webservice Response is displayed.

  8. In case you want to edit the values, click the Request tab and complete the step 6 and 7.

The operations supported by the RWWebService endpoint are:

19.3.1.1 getAPIVersion

The getAPIVersion() operation returns the version details of the Reports Server in XML format. This operation takes no parameters.


Note:

getAPIVersion is the only operation that returns the entire SOAP response along with the result (in a string). The other operations, for example, runJob return the response as an XML block embedded within the SOAP response.


To view the getAPIVersion response:

  1. Navigate to the Test Web Service page in Oracle Enterprise Manager. See steps 1-3 in Section 19.3.1, "Using Oracle Enterprise Manager to Test RWWebService".

  2. From the Operation drop-down list, select getAPIVersion.

    The Test page does not display any parameters.

  3. Click Test Web Service.

    The SOAP response is displayed in the Response tab.

The following is a sample response of a getAPIVersion operation:

<?xml version="1.0" encoding="UTF-8" ?> 
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"   
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <SOAP-ENV:Body>
    <ns1:getAPIVersionResponse
      xmlns:ns1="http://oracle.reports.rwclient/RWWebService.wsdl"
      SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <return xsi:type="xsd:string">11.1.1.1.0</return> 
    </ns1:getAPIVersionResponse>
  </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

19.3.1.2 getServerInfo

The getServerInfo(String serverName, String authId) operation takes two parameters and returns the Reports Server information in an XML format.

The valid parameters are :

  • serverName: A valid non-null server name. This operation returns an error if the specified server is not running in the network.

  • authId: A string in the form of username/password, must be specified for a secured server. This parameter is ignored for a non-secure server.

To view the getServerInfo response:

  1. Navigate to the Test Web Service page in Oracle Enterprise Manager. See steps 1-3 in Section 19.3.1, "Using Oracle Enterprise Manager to Test RWWebService".

  2. From the Operation drop-down list, select getServerInfo.

    The Test page displays the relevant parameter fields in the Input Arguments section.

  3. Enter the Reports Server name (arg0) and authId (arg1).

  4. Click Test Web Service.

    The SOAP response is displayed in the Response tab.

The following is a sample output of the getServerInfo operation:

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverInfo name="repserv" version="11.1.1.1.0">
   <host>incq246bc</host>
   <processId>2588</processId>
   <startTime>27-May-2003 10:09:34</startTime>
   <queue maxQueueSize="1000"/>
   <engine id="rwEng" activeEngine="1" runningEngine="0"/>
   <engine id="rwURLEng" activeEngine="1" runningEngine="0"/>
   <performance>
      <property name="successfulJobs" value="6"/>
      <property name="currentJobs" value="0"/>
      <property name="futureJobs" value="0"/>
      <property name="transferredJobs" value="0"/>
      <property name="failedJobs" value="0"/>
      <property name="AverageResponseTime" value="2124"/>
      <property name="executionTimeToDate" value=""/>
   </performance>
</serverInfo>

19.3.1.3 getJobInfo

The getJobInfo(Integer jobId, String serverName, String authId) operation returns the job information in XML format.

The valid parameters are:

  • jobId: JobId of the job for which information is required.

  • serverName: A valid non-null Server name value must be supplied. This operation returns an error if the specified server is not running in the network.

  • authId: A string in the form of username/password, must be specified for a secured server. For a non-secure server this parameter is ignored.

To view the getJobInfo response:

  1. Navigate to the Test Web Service page in Oracle Enterprise Manager. See steps 1-3 in Section 19.3.1, "Using Oracle Enterprise Manager to Test RWWebService".

  2. From the Operation drop-down list, select getJobInfo.

    The Test page displays the relevant parameter fields in the Input Arguments section.

  3. Enter the jobId (arg0), Reports Server name (argm1), and authId (arg2).

  4. Click Test Web Service.

    The SOAP response is displayed in the Response tab.

The following is a sample output of a getJobInfo operation for job id=3:

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverQueues>
   <job id="3" queueType="past">
      <name>test.rdf</name>
      <type>report</type>
      <status code="4">Finished successfully</status>
      <owner>RWUser</owner>
      <server>repserv</server>
      <destination>
         <desType>cache</desType>
         <desFormat>html</desFormat>
         <file>21748116.htm</file>
         <file>217481161.jpg</file>
         <file>217481160.jpg</file>
      </destination>
      <timingInfo>
         <queued>27-May-2003 10:21:50</queued>
         <started>27-May-2003 10:21:50</started>
         <finished>27-May-2003 10:21:51</finished>
      </timingInfo>
   </job>
 </serverQueues>

19.3.1.4 killJob

The killJob(Integer jobId, String serverName, String authId) operation kills the job based on the job id specified and returns the status of the operation in XML format.

The valid parameters are:

  • jobId: JobId of the job for which information is required.

  • serverName: A valid non-null Server name value must be supplied. This operation returns an error if the specified server is not running in the network.

  • authId: A string in the form of username/password, must be specified for a secured server. For a non-secure server this parameter is ignored.

To view the killJob response:

  1. Navigate to the Test Web Service page in Oracle Enterprise Manager. See steps 1-3 in Section 19.3.1, "Using Oracle Enterprise Manager to Test RWWebService".

  2. From the Operation drop-down list, select killJob.

    The Test page displays the relevant parameter fields.

  3. Enter the jobId (arg0), Reports Server name (arg1), and authId (arg2).

  4. Click Test Web Service.

    The SOAP response is displayed in the Response tab.

The following is a sample output of a killJob operation for Job ID=3:

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverQueues>
   <job id="3" queueType="past">
      <name>test.rdf</name>
      <type>report</type>
      <status code="7">Canceled upon user request</status>
      <owner>RWUser</owner>
      <server>repserv</server>
      <destination>
         <desType>cache</desType>
         <desFormat>html</desFormat>
      </destination>
      <timingInfo>
         <queued>27-May-2003 10:21:50</queued>
         <started>27-May-2003 10:21:50</started>
         <finished>27-May-2003 10:22:00</finished>
      </timingInfo>
   </job>
</serverQueues>

19.3.1.5 runJob

The runJob(String commandLine, Boolean synchronous) operation runs a job to the Reports Server specified as part of the commandLine parameter.


Note:

Oracle Reports Web service does not return the job output or the actual report.


The valid parameters are:

  • commandLine: The complete command line syntax for submitting a job. For example:

    server=repserv report=test.rdf destype=file desname=output.pdf desformat=pdf         userid=scott/tiger@oraDB
    

    Note:

    The command line parameter cannot include paramform=yes. You have to pass the actual values for the parameter as part of the commandLine argument.


  • synchronous: A Boolean object to indicate if the job should be run synchronously.

To view the runJob response:

  1. Navigate to the Test Web Service page in Oracle Enterprise Manager. See steps 1-3 in Section 19.3.1, "Using Oracle Enterprise Manager to Test RWWebService".

  2. From the Operation drop-down list, select runJob.

    The Test page displays the relevant parameter fields.

  3. Enter the command line syntax (arg0), whether the job should run synchronously (T/F, Y/N) (arg1).

  4. Click Test Web Service.

    The SOAP response is displayed in the Response tab.

The following is a sample output of a runJob operation:

<?xml version = '1.0' encoding = 'ISO-8859-1' standalone = 'yes'?>
<serverQueues>
   <job id="7" queueType="current">
      <name>test.rdf</name>
      <type>report</type>
      <status code="1">Waiting in the queue</status>
      <owner>RWUser</owner>
      <server>repserv</server>
      <destination>
         <desType>file</desType>
         <desName>output.pdf</desName>
         <desFormat>pdf</desFormat>
      </destination>
      <timingInfo>
         <queued>27-May-2003 10:22:00</queued>
         <started>27-May-2003 10:22:00</started>
         <finished>27-May-2003 10:22:00</finished>
      </timingInfo>
   </job>
</serverQueues>
PK-EEPK0;wEOEBPS/pbr_adminem016.htm] Modifying Reports Configuration Settings Using the System MBean Browser

7.17 Modifying Reports Configuration Settings Using the System MBean Browser

To modify Oracle Reports configuration settings using the System MBean Browser:

  1. Start Oracle Enterprise Manager Fusion Middleware Control and display the Farm Home page.

  2. Select Fusion Middleware > ReportsDomain > WLS_REPORTS. The WLS_REPORTS page is displayed.

  3. From the WebLogic Server menu, choose System MBean Browser. Fusion Middleware Control displays the System MBean Browser page.

  4. Click the plus (+) symbol in the left column to expand a node in the navigation tree and drill down to the MBean you wish to access. The navigation tree expands to display links for viewing or updating settings. Each node in the navigation tree represents settings in a configuration file.

  5. Click a node in the navigation tree, and click the Attributes tab to display the details for a group of attributes. Attribute details include name, description of each attribute, access details and its current value.

  6. Update an attribute value in one of the following ways:

    • Using the current page:

      • Enter a new attribute value into the Value field for the appropriate row.

      • Click Apply to apply the changes.

    • Displaying a page to view or update the setting:

      • Click the link in the Name column to display a new page.

      • Enter a new attribute value in the Value field.

      • Click Apply to apply the changes.

      • Click Return to close the page and display the navigation tree.

  7. Repeat the previous steps to view or update another attribute value.


Note:

Only attribute values with write or read-write permissions can be modified.


PKvb]PK0;wEOEBPS/pbr_dist.htm y Creating Advanced Distributions

20 Creating Advanced Distributions

When you wish to define an advanced distribution for your report, you can design the distribution by developing a distribution XML filer. In this file, you can specify the destination and format of output for each section of a report. In one distribution XML file, you can specify many different destinations, including custom (pluggable) destinations that you design (see Section 20.4.9, "destype").


Note:

An example distribution XML file (distribution.xml) is shipped with Oracle Reports in the $ORACLE_HOME/reports/samples/demo directory. You can reuse this file for your own purposes so that you do not have to create one from scratch.


This chapter provides information on creating a distribution XML file and some example use cases. It includes the following main sections:

PKvsC PK0;wE OEBPS/lof.htmT List of Figures PKePK0;wEOEBPS/pbr_webservice.htmY Using the Oracle Reports Web Service

19 Using the Oracle Reports Web Service

A Web service is an application that is built on standard Internet and XML technologies and has the following characteristics :

  • Includes public interfaces and bindings defined and described using XML.

  • Publishes these public interfaces and bindings across the network for use by other programs.

A Web service accepts a request, performs its function based on the request, and returns a response. The request and the response can be part of the same operation, or they can occur separately, in which case the consumer need not wait for a response. Both the request and the response usually take the form of XML, a portable data-interchange format, and are delivered over a wire protocol, such as HTTP.

Web service transactions are usually conducted between businesses. A business that is a provider of one service can also be a consumer of another service. A Web service consumer can also be a client device, such as a thin client connecting to the Web service provider over a lightweight protocol.

This chapter discusses the Oracle Reports Web service and contains the following sections:

PK[Z~^ Y PK0;wEOEBPS/pbr_strt006.htmZ Starting and Stopping the In-process Reports Server Using Oracle Reports Servlet

6.6 Starting and Stopping the In-process Reports Server Using Oracle Reports Servlet

If you are using Reports Server as an in-process Reports Server (the default configuration), sending a run report request starts the in-process Reports Server. However, if you are sending a request through a command line, Oracle Reports Servlet (rwservlet) must be started first using either the run report URL or the Web command URL. When you have successfully started rwservlet, you have successfully started the in-process Reports Server.

You can also start an In-process Reports server through Enterprise Manager:

  1. Navigate to the Reports application page in Oracle Enterprise Manager

  2. From the Reports menu, select Monitoring > Start Reports Application.

    The Reports application is started.

  3. From the Reports menu, select Administration > Start In-process Reports Server.

    The In-process Reports server is started.

To directly start or stop the in-process Reports Server using a URL, enter the following in your Web browser:

http://machine_name:port/reports/rwservlet/startserver
http://machine_name:port/reports/rwservlet/stopserver
PK@h_ Z PK0;wEOEBPS/pbr_conf008.htmlW Configuring Reports Server with the Oracle Process Manager and Notification Server and Oracle Enterprise Manager

8.8 Configuring Reports Server with the Oracle Process Manager and Notification Server and Oracle Enterprise Manager

The best way to start, shut down, monitor, and manage Reports Server is through the Oracle Process Manager and Notification Server (OPMN) and Oracle Enterprise Manager.

OPMN provides a centralized mechanism for initializing, maintaining, and shutting down your Oracle Fusion Middleware components, including Reports Server. Out-of-the-box, Oracle Reports components are managed with OPMN for death detection and recovery, providing an enhanced health check mechanism in Oracle Reports 11g Release 1 (11.1.1).

You can conveniently monitor your Reports Servers through Oracle Enterprise Manager and, if the process fails for any reason, OPMN restarts Reports Server for you automatically.

During installation of Oracle Fusion Middleware, Reports Servers are automatically configured in OPMN and registered with Oracle Enterprise Manager.

8.8.1 opmn.xml

Components are configured with OPMN in the opmn.xml file located in INSTANCE_HOME/config/OPMN/opmn/opmn.xml This section describes how to configure the following components through OPMN:


See Also:

For a detailed description of OPMNconfiguration and the contents of opmn.xml:


8.8.1.1 Module Specification

The module tag is included by default in opmn.xml and tells OPMN to load a particular module. In the case of Reports Server, the OracleAS Reports Services module must be loaded. This module is loaded with the following information, by default, in opmn.xml:

<module path="/private/oraclehome/opmn/lib/libopmnreports"><module-id id="ReportsServices"/></module>

8.8.1.2 Standalone Reports Server Specification

In the case of the standalone Reports Server, the Reports Server is running in its own component. Therefore, you must specify a separate component for Reports Server to control the server through OPMN. For example:

<ias-component id="<ServerName>">
 <process-type id="ReportsServerComponent" module-id="ReportsServices">
   <process-set id="<ServerName>" restart-on-death="true" numprocs="1">
      <environment>
         <variable id="PATH" value="<PATH environment variable> "/>
      </environment>
      <module-data>
         <category id="general-parameters">
            <data id="batch" value="yes"/>
         </category>
         <category id="restart-parameters">
            <data id="reverseping-timeout" value="120"/>
         </category>
      </module-data>
      <start timeout="75" retry="2"/>
      <stop timeout="120"/>
      <restart timeout="75"/>
      <ping timeout="30" interval="30"/>
   </process-set>
 </process-type>
</ias-component>

Note:

The timeout values in the preceding example are all in number of seconds.


The key segments of this specification for Oracle Reports are described below.

<ias-component id="<RSName>" ...>

This tag specifies the name of Reports Server. It must match the Reports Server internal name from targets.xml


See Also:

Chapter 19, "Managing and Monitoring OracleAS Reports Services" for more information on targets.xml.


<process-type id="ReportsServer" module-id="ReportsServices">

This tag defines the process for the named Reports Server and associates it with the OracleAS Reports Services process module.

<process-set id="<RSName>" restart-on-death="true" numprocs="1">

This tag defines the process characteristics for the named Reports Server. It indicates whether Reports Server should be restarted when it fails. It also specifies the number of Reports Servers started for this process set, which has to be 1 because the process-set id identifies a single Reports Server name.

<variable id="PATH" value="your_shell_path"/>

The first tag specifies the value for the PATH environment variable for the process. This variable must be set for the start script to find uname. This environment element is not needed on the Microsoft Windows platform.

<category id="general-parameters"><data id="batch" value="yes"/></category>

This group of tags gathers together all of the data (parameters) common to the process. In this particular example, it provides a way to specify that the BATCH parameter be sent to Reports Server. batch=yes|no is an option to the start and stop commands of Reports Server. If it is not configured, this option is not passed in to Reports Server.

<category id="restart-parameters"><data id="reverseping-timeout" value="120"/></category>

This group of tags indicates the restart parameters category, which defines parameters to be used in detecting whether the process has failed and needs to be restarted. If a notification is not received within the specified reverseping-timeout period, then the process is considered failed and will be restarted.


See Also:

For more information on opmn.xml and its contents:

  • Oracle Application Server Administrator's Guide


8.8.1.3 Oracle Reports Bridge Specification

The Oracle Reports bridge runs within its own component. Therefore, you must specify a separate ias-component tag for the Oracle Reports bridge to control the bridge through OPMN.For troubleshooting scenarios and diagnosis, see Section D.8, "Diagnosing Oracle Reports Bridge Problems"

The following are examples for a minimum bridge configuration as well as a full bridge configuration.

Example 8-1 Minimum Configuration for Oracle Reports Bridge

<ias-component id="your_bridge_name" status="enabled" id-matching="false"
xmlns="http://www.oracle.com/ias-instance">
 <process-type id="ReportsBridge" module-id="ReportsBridgeServices">
   <process-set id="your_bridge_name" restart-on-death="true" numprocs="1">
      <environment>
         <variable id="PATH" value="your_oracle_home_directory/jdk/jre/bin" append="true"/>
         <variable id="PATH" value="your_shell_path" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/jlib/zrclient.jar" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/reports/jlib/rwrun.jar" append="true"/>
      </environment>
   </process-set>
 </process-type>
</ias-component>

Example 8-2 Full Configuration for Oracle Reports Bridge

<ias-component id="your_bridge_name" status="enabled" id-matching="false">
 <process-type id="ReportsBridge"module-id="ReportsBridgeServices">
   <process-set id="your_bridge_name" restart-on-death="true" numprocs="1">
      <environment>
         <variable id="PATH" value="your_shell_path" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/jlib/zrclient.jar" append="true"/>
         <variable id="CLASSPATH" value="your_oracle_home_directory/reports/jlib/rwrun.jar" append="true"/>
      </environment>
      <module-data>
         <category id="restart-parameters">
            <data id="reverseping-timeout" value="120"/>
         </category>
         <category id="start-parameters">>
            <data id="jvm-options" value="="-Xms128mb -Xmx256mb"/>
            <data id="bridge-options" value="start_options_if_any"/>      
         </category>
        <category id="stop-parameters">
            <data id="jvm-options" value="-Xms128mb -Xmx256mb"/>
            <data id="bridge-options" value="stop_options_if_any"/>
        </category>
      </module-data>
      <start timeout="120" retry="3"/>
      <stop timeout="120"/>
      <restart timeout="120" retry="0"/>
   </process-set>
 </process-type>
</ias-component>

8.8.1.4 COS Naming Service Specification

By default, Oracle Reports uses the built-in broadcast mechanism for Reports Server discovery. Alternatively, Oracle Reports clients can use the Common Object Service (COS) naming service for Reports Server discovery to submit report requests when the built-in broadcast mechanism is not suitable for your environment, as in the following scenarios:

  • Oracle Reports is installed on a machine that is connected to a network using VPN.

  • You want to avoid broadcast traffic on your network.

For more information, see Section 2.3.4.2, "Server Discovery Using the COS Naming Service".To control the COS naming service through OPMN, the opmn.xml file must include a custom ias-component tag, as follows:

<ias-component id="namingservice">
<process-type id="namingservice" module-id="CUSTOM">
      <environment>
         <variable id="PATH" value="ORACLE_HOME\jdk\bin"/>
      </environment>
   <process-set id="namingservice" numprocs="1">
      <module-data>
         <category id="start-parameters">
            <data id="start-executable" value="ORACLE_HOME\jdk\bin\orbd"/>
            <data id="start-args" value="-ORBInitialPort port"/>>
         </category>
      </module-data>
   </process-set>
 </process-type>
</ias-component>

Where,

ORACLE_HOME is your Oracle Home directory.

port is the port on which you want to start the COS naming service. This port must be specified in your rwnetwork.conf file as specified in Section 8.5.1.3, "namingService".

Additionally, to make sure that OPMN starts the COS naming service before it attempts to start Reports Server, opmn.xml must include the following dependency:

<ias-component id="<reports_server_name>" status="enabled" id-matching="false">
<process-type id="ReportsServer" module-id="ReportsServices">
...
<managed-process ias-component="namingservice" process-type="namingservice"
process-set="namingservice" autostart="true"/>
...
</process-type>
</ias-component>

To use OPMN to control the COS naming service, perform the following steps:

  1. Stop Reports Server and WLS_REPORTS.

  2. Edit the opmn.xml file and add an ias-component tag. For example:

    ...
    <ias-component id="namingservice">
    <process-type id="namingservice" module-id="CUSTOM">
       <environment>
        <variable id="PATH" value="G:\FRHome_2\jdk\bin"/>
       </environment>
      <process-set id="namingservice" numprocs="1">
       <module-data>
        <category id="start-parameters">
         <data id="start-executable" value="G:\FRHome_2\jdk\bin\orbd"/>
         <data id="start-args" value="-ORBInitialPort 8988"/>
        </category>
       </module-data>
      </process-set>
     </process-type>
    </ias-component>
    ...
    
  3. Add a dependency to the Reports Server ias-component tag. For example:

    <category id="general-parameters">
      <data id="batch" value="yes"/>
    </category>
    <category id="restart-parameters">
              <data id="reverseping-timeout" value="120"/>
    </category>
      </module-data>
       <dependencies>
                <managed-process ias-component="namingservice"
                process-type="namingservice" process-set="namingservice"
                autostart="true"/>
       </dependencies>
    <stop timeout="120"/>
    <restart timeout="600"/>
    <ping timeout="30" interval="30"/>
    </process-set>
    </process-type>
    </ias-component>
    ...
    

    Note:

    In Reports 11g Release 1 (11.1.1), you cannot add a dependency on WLS_REPORTS because the in-process server and WLS_REPORTS are not managed by OPMN.


  4. Navigate to your ORACLE_INSTANCE/opmn/bin directory.

  5. Run one of the following commands:

    • If OPMN is up and running, to reload the changes made to the opmn.xml file: opmnctl reload

    • If OPMN is not running: opmnctl start

  6. Start the COS naming service using either of the following commands:

    opmnctl startproc ias-component=namingservice

    or

    opmnctl startproc process-type=namingservice

  7. Modify the rwnetwork.conf file to use the COS naming service instead of the default broadcast mechanism, as described in Section 8.5.1.3, "namingService".

  8. Start WLS_REPORTS and Reports Servers.

    To stop the COS naming service, use the following command:

    opmnctl stopproc ias-component=namingservice

    To restart the COS naming service, use the following command:

    opmnctl restartproc ias-component=namingservice

    Troubleshooting: If a COMM_FAILURE error displays when Reports Server is started, either the naming service is not started properly or the port is not specified properly. To resolve this error, check whether the naming service process orbd is running. If not, start it. If the orbd process is running, check the port specified for namingService in the rwnetwork.conf file. It should be same as the port on which orbd is started.

    When you execute the command opmnctl stopall, Reports Server may not stop gracefully, and may be killed by OPMN. This is because OPMN does not check the dependency while stopping the process. If OPMN stops the COS naming service before stopping Reports Server, Reports Server will not shut down gracefully. This is harmless, and can be ignored.

8.8.2 Creating a New Reports Server

You can use the following OPMN commands to create new Reports Server.

ORACLE_INSTANCE/bin/opmnctl createcomponent  
       -adminUsername weblogic  
       -adminHost ${ADMIN_HOST} 
       -adminPort ${ADMIN_PORT}   
       -oracleHome ${ORACLE_HOME} 
       -oracleInstance ${ORACLE_INSTANCE} 
       -instanceName  $INSTANCE_NAME 
       -componentName  <servername> 
       -componentType  ReportsServerComponent 

For example, to create a new Server named test_server, run the following commands on the commandline:

ORACLE_INSTANCE/bin/opmnctl createcomponent 
  -adminUsername weblogic  
  -adminHost host.domain.com   
  -adminPort 7001  
  -oracleHome /path/oracle_home 
  -oracleInstance /path/instance_home 
  -instanceName  myinst 
  -componentName  test_server 
  -componentType  ReportsServerComponent

After creating the Reports Server, restart the WLS_REPORTS managed server by stopping it and and start it again. This is necessary for completing registration of the new Reports Server configuration MBeans.

8.8.3 Creating a New Bridge Component Type

You can use the following OPMN commands to create new Bridge Component Type.

ORACLE_INSTANCE/bin/opmnctl createcomponent  
       -adminUsername weblogic  
       -adminHost ${ADMIN_HOST} 
       -adminPort ${ADMIN_PORT}   
       -oracleHome ${ORACLE_HOME} 
       -oracleInstance ${ORACLE_INSTANCE} 
       -instanceName  $INSTANCE_NAME 
       -componentName  <Bridgename> 
       -componentType  ReportsBridgeComponent

For example, to create a new Bridge Component Type named test_bridge, run the following commands on the commandline:

ORACLE_INSTANCE/bin/opmnctl createcomponent
  -adminUsername weblogic
  -adminHost host.domain.com
  -adminPort 7001
  -oracleHome /path/oracle_home    
  -oracleInstance /path/instance_home 
  -instanceName  myinst -componentName  test_bridge   
  -componentType  ReportsBridgeComponent

Note:

After running the command the new server / bridge will be automatically registered with OPMN.


PK7CqWlWPK0;wEOEBPS/pbr_sso005.htm Changing the Reports Servlet Port to Be Protected by Single Sign-On

17.5 Changing the Reports Servlet Port to Be Protected by Single Sign-On

After you install Oracle Reports 11g Release 1 (11.1.1), the following ports are registered, by default:

  • If WebCache is installed, the WebCache port is registered.

  • If only Oracle HTTP Server (no webcache) is installed, the Oracle HTTP Server port is registered.

To change the Reports Servlet port that must be protected by Single Sign-On:

  1. Navigate to the OracleAS Single Sign-On Partner Application Administration page: http://oidhost:oidport/pls/orasso

  2. In the Oracle Single Sign-On Server Administration home page, click Single Sign-On Server Administration. The Single Sign-On Server Administration page is displayed.

  3. Click Administer Partner Applications. The Administer Partner Applications home page is displayed.

  4. Select the host and port related to Reports Servlet, and click Edit. The Partner Application Login page is displayed.

  5. Enter new parameters in Name, Home URL, Success URL, Logout URL fields.

  6. Click Apply.


Note:

If you are using an SSL port, specify HTTPS instead of HTTP. For more information, see Section 8.14, "Enabling HTTPS for Oracle Reports".


PKE#  PK0;wEOEBPS/pbr_xplat007.htm< Generating Unicode PDF Output

12.7 Generating Unicode PDF Output

Table 12-8 shows the cross-platform deployment scenario where the destination format is Unicode PDF created using PDF font subsetting. For more information on PDF font features, refer to Chapter 11, "Using PDF in Oracle Reports".

Table 12-8 Cross Platform Deployment - Scenario 5

Development PlatformDeployment PlatformDestination Format

Windows

UNIX

PDF (Unicode)


This section discusses designing and deploying a report for Unicode PDF output in the following subsections:

12.7.1 Designing Your Report in Pre-11g Version That Uses Motif Tool Kit Mechanism

To prepare your report before you deploy it on a UNIX platform:

  1. Create a new report using a Unicode font. For example, Arial Unicode MS font.

  2. Use only those fonts in your report that:

    • Cover the entire Unicode range that your report uses.

    • Are available on UNIX. All font files that are available on Windows (TTF files) may not be available on UNIX (AFM or TFM files). If you have the correct AFM or TFM font file available on the UNIX platform, you can continue to use it (AFM for PostScript and TFM for PCL).


      Note:

      AFM support is extended only to single-byte PostScript file generation, with the exception of Japanese encoding.

      The encoding schemes supported for the AFM files are:

      • AdobeStandardEncoding

      • ExtJIS12-88-CFEncoding

      • FontSpecific

      • HRoman

      • ISOLatinHebrew

      • JIS12-88-CFEncoding

      • JIS12e-88-CFEncoding


    • Can scale well. For example, MS Sans Serif does not scale well to a different size, whereas Tahoma does. The reason is that the MS Sans Serif font is a raster font that does not scale well to any size and usually has rounding issues. On the other hand, Tahoma font is a TrueType font that is very similar in visual appearance to the MS Sans Serif font. Additionally, Tahoma is a vector font that can be scaled to any size and rotated to any angle.

12.7.2 Deploying Your Report in Pre-11g Version That Uses Motif Tool Kit Mechanism

For fonts with AFM files not readily available on UNIX, or if you encounter any font issues in the report output such as text misalignment, you can convert and generate an AFM file from the Windows TTF file using freely available third party utilities, such as ttf2pt1. Do not attempt to convert to a TFM file, as this may not produce reliable results.

To deploy your report on a UNIX platform:

  1. Locate the TTF files corresponding to the fonts used in your report. Convert these TTF files to AFM to ensure that you will have the AFM files for the fonts used in your report.

    Use a True Type to Type 1 font converter utility to convert the TTF files to AFM files. For example, ttf2pt1.

  2. Post-conversion, remove the .afm extension in the AFM file name. For example:

    Table 12-9 Post Conversion Font File Names

    Before ConvertingAfter ConvertingAfter Renaming

    ARIALUNI.TTF

    arialuni.afm

    ArialUnicodeMS


  3. Copy the Windows TTF file used in your report to the fonts directory on your UNIX machine. For example, $ORACLE_HOME/fonts.

  4. Add the path to the TTF file in the REPORTS_PATH environment variable. For example, ARIALUNI.TTF.

  5. Copy the AFM file to the $ORACLE_HOME/guicommon/tk/admin/AFM directory. For example, ArialUnicodeMS.

  6. Edit the screenprinter.ppd file with any text editor.


    Note:

    If you have defined a default printer by including an entry in ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/uiprint.txt, then you will have to make the appropriate entries in the printer's PPD file for a PostScript printer or in the HPD file for a PCL printer.

    Beginning with Oracle Reports 10g Release 1 (9.0.4), a default printer surface that mimics the screen (screenprinter.ppd) is used for formatting if you have not set up a default printer. You will also need to make the necessary font and resolution entries in the screenprinter.ppd file, if you have not set up a default printer.

    The PPD and HPD files are located at:

    • $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin

    • $ORACLE_HOME/guicommon/tk/admin

    Oracle Reports searches for HPD or PPD files initially in the Oracle Instance location and then in the Oracle Home location.

    Refer to Section 10.8.1, "ScreenPrinter" for more information on the screenprinter.ppd file.


    Ensure that the PPD/HPD file used contains an entry for each AFM or TFM file that you use in your report. PPD/HPD files are configuration files containing printer driver settings and the list of all the fonts supported by the printer.

    Navigate to the to the Font Information section in the PPD file and add the necessary entries for the font files in the following format:

    *FONTNAME:ENCODING:VERSION:LOCATION
    

    For example:

    *Font Arial: Standard "(Version 2.76)" Standard ROM
    *Font CourierNew: Standard "(Version 2.76)" Standard ROM
    

    Ensure that the AFM file name exactly matches the font name specified in the PPD file as Oracle Reports searches for this file based on the font name in the PPD file.

  7. Ensure that the uiprint.txt has the entry for the appropriate PPD file.

    printer name:PostScript:2:test:ppd file
    

    In this example:

    printer1:PostScript:2:test:hpljet42.ppd
    
  8. Edit the hpljet42.ppd file with any text editor.


    Note:

    Copy the PPD file from ORACLE_HOME/guicommon/tk/admin/PPD to the following location:

    $ORACLE_INSTANCE/config/FRComponent/frcommon/guicommon/tk/admin/PPD


  9. Ensure that the PPD/HPD file used contains an entry for each AFM or TFM file that you use in your report.

    Navigate to the Font Information section and add the necessary entries for the new AFM files in the following order:

    *FONTNAME:ENCODING:VERSION:LOCATION
    

    For example:

    *Font ArialUnicodeMS: Standard "(Version 2.76)" Standard ROM
    
  10. In the [PDF:Subset] section, add the following entries to subset the fonts used in your report.

    For example:

    [ PDF:Subset ]
    "Arial Unicode MS" = "ARIALUNI.TTF"
    

    Use the PDF subsetting feature to generate multibyte PDF output from your reports and to ensure your PDF report is portable. Thus, there is not dependency on the machine deploying the report to have the fonts installed.

  11. Run the report to PDF and view it.

    http://mywebserver.com:reports/rwservlet?server=myserver+report=
    "/home/myreports/test.rdf"+authid=hr/hr@mydb+desformat=PDF+destype=cache
    

    The PDF should contain the unicode font used in your report. For example, Arial Unicode MS.

12.7.2.1 Troubleshooting Information

If you encounter deployment issues, review the following troubleshooting information:

  • If you do not get the correct fonts in the PDF output, set the environment variable DEBUG_SLFIND to a log file name (for example, debug.txt) and run the report. The font files that are looked up while parsing the PPD file as well as the fonts used will be written to the log file debug.txt. Specifically, check for the following:

    1. The PPD file that you modified should be picked up. If it is not picked up it is a configuration issue. Refer to Chapter 9, "Managing Fonts in Oracle Reports".

    2. The AFM files that you have copied to AFM directory should be picked up next.

    See Chapter 11, "Using PDF in Oracle Reports" for more information on DEBUG_SLFIND.

12.7.3 Frequently Asked Questions

This section contains frequently asked questions (FAQs) pertaining to deploying a report to Unicode PDF output.

Question

Why is the formatting of my report not correct when using Unicode on UNIX, or why do I see misaligned text in the report?

Answer

If you have used ttf2pt1 to create the AFM file, ttf2pt1 has a limitation in that it creates AFM files with metrics information for only the first 256 characters of the font. So, if you are using multiple languages in the report with a Unicode font like Arial Unicode MS, when you create the AFM file for UNIX, there will not be metrics information for the characters beyond the first 256 characters. Oracle Reports uses default metrics information contained in the AFM file when it encounters characters in the report that are not in the AFM file. These default metrics may not match the exact metrics of the characters used in the report. For this reason, formatting will not be correct. To avoid formatting issues when you are using characters beyond the first 256 characters of the font, you can use fixed width fonts where all the characters have the same width.

PKg6<<PK0;wEOEBPS/pbr_run005.htm J Specifying a Report Request from a Web Browser

18.5 Specifying a Report Request from a Web Browser

You can provide the user with the URL syntax needed to make a report request, or you can add the URL syntax to a Web page as a hyperlink.

URL syntax can be presented in the following forms:

  • Full URL request, for example:

    http://your_webserver.domain_name:port/alias/rwservlet?report=myreport.rdf&userid=
    username/password@my_db&server=server_name&desformat=html&destype=cache
    

    If you require additional command line keywords, then refer to Appendix A, "Command-Line Keywords" for a list of valid rwservlet command line keywords.

  • Simplified URL request using key mapping, for example:

    http://your_webserver.domain_name:port/alias/rwservlet?key1
    
PK PK0;wEOEBPS/pbr_portal005.htm% Troubleshooting Information

16.5 Troubleshooting Information

This section contains information on the various steps that you can take to rectify issues that occur.

16.5.1 Resolving Reports-Portal Integration Error When Attempting Create Resource

In Oracle Portal, when configuring Oracle Reports Security settings for Reports Definition File Access, you may encounter an error when editing a report definition file, 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:

  • Running in 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.

  • Running Oracle Reports within Oracle Portal, using the SSOCONN parameter.

  • The connection resource specified in the SSOCONN parameter has not been created in the Oracle Internet Directory server.

To implement the workaround, perform the following steps:

  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 flag:

    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>
    
PK e* % PK0;wEOEBPS/pbr_upgrade006.htm- For More Information PK*e22-PK0;wEOEBPS/index.htm Index

Index

A  B  C  D  E  F  G  H  I  J  K  L  M  N  O  P  Q  R  S  T  U  V  W  X 

A

access controls, 16.2
availability calendar, combined, 16.2.4.2
availability calendar, simple, 16.2.4.1
printer, 16.2.3
report, 16.2.2
server, 16.2.1
accessible command keyword, A.5.1
Adobe Font Metrics (AFM) files
see AFM files, 9.3
Advanced Queuing, 21.1.1, 21.4, 21.4.1, 21.4.2, 21.4.2
dbms_AQadm package, 21.4.1
dbms_aq.dequeue, 21.4.3
DEQUEUE, 21.4
ENQUEUE, 21.4
MESSAGES, 21.4
AFM files, 9.3, 9.5.3, 10.4.4
allowhtmltags configuration element, 8.3.1.1.8
API
cache, 8.2.1.3
debugging events, 21.2
destinations, 8.2.1.6, 13.2
engine, 8.2.1.9
events, 8.2.1.10, 21
Notification, 8.2.1.15
pluggable destinations, 13.2
repository, 8.2.1.12
Security, 8.2.1.23
architecture
globalization support, 23.1, 23.1
arraysize command keyword, 24.8
attach distribution element, 20.4.5
format attribute, 20.4.5
instance attribute, 20.4.5
name attribute, 20.4.5
srcType attribute, 20.4.5
attributes, using variables with, 20.3.2
authid parameter, events, 21.1.4
autocommit command keyword, A.5.4
auxDatFiles attribute of jobRecovery element, 8.2.1.11
availability calendar, 16.2.4
combined, 16.2.4.2
simple, 16.2.4.1

B

background command keyword, A.5.5
barcode fonts, 9.5.6
batch command keyword, A.5.6
batch modifications, XML, 22.4.3
batch registering reports in OracleAS Portal, C
bcc attribute
mail, 20.4.3
bcc command keyword, A.5.7
bidirectional support, 23.4
blankpages command keyword, A.5.8
body, 24.7.2
body distribution element, 20.4.4
format attribute, 20.4.4
instance attribute, 20.4.4
srcType attribute, 20.4.4
break groups
ORDER BY, 24.5.5
bridge
see Oracle Reports Bridge, A.2.7
bridge configuration element, 8.4.1.1
port attribute, 8.4.1.1
timeout attribute, 8.4.1.1
version attribute, 8.4.1.1
bridgeconfig.xsd, 8.1
bridgeconf.xsd
bridge element, 8.4.1.1
identifier element, 8.4.1.2
remoteBridge element, 8.4.1.3
remoteBridges element, 8.4.1.4
browser destination, A.5.31
buffers command keyword, A.5.9
bursting, 20.4.2
and distribution, 24.7.2
bypassProxy configuration element, 8.2.1.26

C

CA_GPREFS, B.1.1
CA_UPREFS, B.1.2
cache configuration element, 8.2.1.3, 18.12.1
cacheSize property, 24.4, 24.8
class attribute, 8.2.1.3
cache destination, A.5.31
cache destype, 13.3.2.1
cache key, 18.12
cacheDir property of cache element, 8.2.1.3
cachelob command keyword, A.5.10
cacheSize property
tuning Reports Server configuration, 24.4, 24.8
cacheSize property of cache element, 8.2.1.3
caching, 18.12
calculations in reports, 24.5.3
callback timeout, 8.11
callBackTimeOut attribute of engine element, 8.2.1.9
cancelling a job, 21.1.6
cc attribute
mail, 20.4.3
cc command keyword, A.5.11
cell wrappers, 24.5.1
text data sources, 24.5.1
cellwrapper command keyword, A.5.12
cgicmd.dat, 18.13, A.5.13, A.8.25
adding entries, 18.13.3
using, 18.13.4
channel attribute of multicast element, 8.5.1.2
character set
unicode, 23.5
UTF8, 23.5.1
character sets, 9.5.1, 23, 23.2.1.3, 23.3
design considerations, 23.2.1.3.1
font aliasing, 23.2.1.3.2
CID Fonts, 9.5.7
class attribute of cache element, 8.2.1.3
class attribute of destination element, 8.2.1.6
class attribute of engine element, 8.2.1.9
class attribute of jobStatusRepository element, 8.2.1.12
class attribute of notification element, 8.2.1.15
class attribute of security element, 8.2.1.23
class, in JDBC configuration file, 14.1.1
classPath attribute of engine element, 8.2.1.9
cluster configuration element, 8.2.1.4
clustering, Reports Servers (deprecated), 8.2.1.4, 8.3.1.1.4
cmdfile command keyword, A.5.13
cmdkey command keyword, A.5.14
cmdkey parameter, events, 21.3
collate command keyword, A.5.15
command keywords
accessible, A.5.1
arraysize, 24.8
autocommit, A.5.4
background, A.5.5
batch, A.5.6
bcc, A.5.7
blankpages, A.5.8
buffers, A.5.9
cachelob, A.5.10
cc, A.5.11
cellwrapper, A.5.12
cmdfile, A.5.13
cmdkey, A.5.14
collate, A.5.15
compile_all, A.5.16
containshtmltags, A.5.17
containsole, A.5.18
contentarea, A.5.19
copies, 24.8, A.5.20
CUSTOMIZE, 22
customize, A.5.21
dateformatmask, A.5.23
delauth, A.5.24
delimited_hdr, A.5.25
delimiter, A.5.26
desformat, A.5.27
desname, A.5.28
dest, A.5.29
destination, A.5.30
destype, A.5.31
distribute, A.6.1
dtype, A.6.2
dunit, A.6.3
engineresponsetimeout, A.6.4
envid, A.6.5
EXPIRATION, 2.3.3, 24.4
expiration, 24.8, A.6.6
expiredays, A.6.7
formsize, A.6.8
from, A.6.9
getjobid, A.6.10
getserverinfo, A.6.11
help, A.6.12
itemtitle, A.6.13
jobname, A.6.14
jobretry, A.6.15
jobtype, A.6.16
jvmoptions, A.6.17
killengine, A.6.18
killjobid, A.6.19
longchunk, 24.8, A.6.20
mimetype, A.6.21
mode, A.6.22
module, A.6.23
name, A.6.24
nonblocksql, A.6.25
notifyfailure, A.6.26
notifysuccess, A.6.27
numberformatmask, A.6.28
onfailure, A.6.29
onsuccess, A.6.30
orientation, A.6.31
ourputpage,