Oracle® Business Intelligence
Oracle® Business Intelligence
Oracle® Business Intelligence
April 2008
Oracle Business Intelligence New Features Guide, Release 10.1.3.3.3 Part No. E10416-04 Copyright 2008 Oracle. All rights reserved. The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065. The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs. Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.
Contents
Preface ................................................................................................................................................................. ix
Audience....................................................................................................................................................... Documentation Accessibility ..................................................................................................................... Related Documents ..................................................................................................................................... Conventions ................................................................................................................................................. ix ix x x
Part I 1
5 6
iii
7 8
Drag and Drop XMLA Metadata Objects Feature General New Features in Release 10.1.3.3.1
8.1 8.1.1 8.2 8.2.1 8.2.1.1 8.2.1.2 8.2.1.3 8.3 8.3.1 8.3.2 8.3.2.1 8.3.2.2 8.3.3 8.3.4 8.3.5 8.3.6 Oracle Business Intelligence Installer Now Deploys BI Components into One OC4J Container ....................................................................................................... 8-1 Upgrading to Version 10.1.3.3.1 from a BIEE 10.1.3.x Release Prior to 10.1.3.3.1 ...... 8-1 DataDirect Connect ODBC Drivers for Linux and UNIX Operating Systems Bundled with Oracle BI EE 10.1.3.3.1 ........................................................................................... 8-2 Using the DataDirect Connect ODBC Drivers ................................................................ 8-2 For connectivity to Microsoft SQL Server database ................................................ 8-2 For connectivity to Sybase ASE Database................................................................. 8-3 For connectivity to Informix Database ...................................................................... 8-4 Support for Charts in Oracle BI EE for Arabic, Thai, and Hebrew...................................... 8-5 Prerequisites ......................................................................................................................... 8-5 Integrate the Data Sources.................................................................................................. 8-5 Adding the Oracle BI Server as a Data Source ......................................................... 8-6 Integrating with Oracle Presentation Services ......................................................... 8-6 Create a Report and Layout in BI Publisher .................................................................... 8-6 Embed the BI Publisher Report in a Dashboard ............................................................. 8-8 Supported Graph Types ..................................................................................................... 8-8 Known Limitations .............................................................................................................. 8-8
iv
10
General New Features in Release 10.1.3.3.3 New Features for Oracle BI Publisher
Part II 11
12
13
14
14.1.3
Step 3: Configure Discoverer to Use Oracle Application Server Identity Management ............................................................................................. 14-2 14.1.4 Step 4: Set Up a Dedicated User to Access the Discoverer Web Service from Oracle BI Publisher ........................................................................................ 14-2 14.1.5 Step 5: Configure Oracle BI Publisher to Use the Discoverer Web Service.............. 14-3 14.1.6 Discoverer Web Service Configuration Settings .......................................................... 14-4 14.2 Creating Reports Based on Discoverer Worksheets ........................................................... 14-4 14.2.1 About Creating a Report Based on a Discoverer Worksheet ..................................... 14-4 14.2.2 Creating a Report Directly Through the Oracle BI Publisher Web Interface........... 14-5 14.2.3 Creating a Report Indirectly Through Oracle BI Publisher Template Builder ....... 14-8 14.2.3.1 About Creating Layout Templates........................................................................ 14-11 14.2.3.2 Creating a Layout Template Offline ..................................................................... 14-11 14.2.3.3 Creating a Layout Template Online .................................................................... 14-18 14.2.3.4 Viewing and Scheduling Reports.......................................................................... 14-20 14.2.4 Prerequisites, Limitations, and Known Issues ........................................................... 14-20 14.2.4.1 Prerequisites ............................................................................................................. 14-20 14.2.4.2 Limitations................................................................................................................ 14-21 14.2.4.3 Known Issues ........................................................................................................... 14-21
15
16
17
vi
17.4.3 17.4.4
Running and Signing Reports with the Digital Signature .......................................... 17-7 Additional PDF Security Features.................................................................................. 17-8
18
20
vii
23
Part III 24
25 26
27
viii
Preface
This guide describes the new features in Releases 10.1.3.3, 10.1.3.3.1, 10.1.3.3.2, and 10.1.3.3.3 of Oracle Business Intelligence Enterprise Edition (Oracle BI Enterprise Edition) and Oracle Business Intelligence Publisher (Oracle BI Publisher). This preface contains the following sections:
Audience
This document is intended for:
Oracle BI Enterprise Edition report and dashboard creators Oracle BI Enterprise Edition administrators Oracle Business Intelligence Publisher administrators, report authors, and end users
Documentation Accessibility
Our goal is to make Oracle products, services, and supporting documentation accessible, with good usability, to the disabled community. To that end, our documentation includes features that make information available to users of assistive technology. This documentation is available in HTML format, and contains markup to facilitate access by the disabled community. Accessibility standards will continue to evolve over time, and Oracle is actively engaged with other market-leading technology vendors to address technical obstacles so that our documentation can be accessible to all of our customers. For more information, visit the Oracle Accessibility Program Web site at http://www.oracle.com/accessibility/. Accessibility of Code Examples in Documentation Screen readers may not always correctly read the code examples in this document. The conventions for writing code require that closing braces should appear on an otherwise empty line; however, some screen readers may not always read a line of text that consists solely of a bracket or brace.
ix
Accessibility of Links to External Web Sites in Documentation This documentation may contain links to Web sites of other companies or organizations that Oracle does not own or control. Oracle neither evaluates nor makes any representations regarding the accessibility of these Web sites. TTY Access to Oracle Support Services Oracle provides dedicated Text Telephone (TTY) access to Oracle Support Services within the United States of America 24 hours a day, 7 days a week. For TTY support, call 800.446.2398. Outside the United States, call +1.407.458.2479.
Related Documents
In addition to this new features guide, Oracle BI Enterprise Edition has the following documentation:
Oracle BI Enterprise Edition component-level Online Help (for example, Oracle BI Answers Help, Oracle BI Administration Tool Help)
The latest information on supported versions is on the Certify application at: http://metalink.oracle.com
The Oracle BI Enterprise Edition Release Notes are available on SupportWeb at http://supportweb.siebel.com. The Oracle Business Intelligence Publisher Documentation pages: http://www.oracle.com/technology/products/xml-publisher/xmlpdocs.html
Conventions
The following text conventions are used in this document:
Convention boldface italic monospace Meaning Boldface type indicates graphical user interface elements associated with an action, or terms defined in text or the glossary. Italic type indicates book titles, emphasis, or placeholder variables for which you supply particular values. Monospace type indicates commands within a paragraph, URLs, code in examples, text that appears on the screen, or text that you enter.
Part I
Part I
Chapter 1, "Oracle BI Answers-Based Metadata Dictionary Feature" Chapter 2, "Multi-Select Dashboard Prompts Feature" Chapter 3, "Office Integration with BI Dashboard Feature" Chapter 4, "Dashboard Link Types Feature" Chapter 5, "Import Oracle Catalog Feature" Chapter 6, "Embedded Database Functions Feature" Chapter 7, "Drag and Drop XMLA Metadata Objects Feature" Chapter 8, "General New Features in Release 10.1.3.3.1" Chapter 9, "General New Features in Release 10.1.3.3.2" Chapter 10, "General New Features in Release 10.1.3.3.3"
1
1
This new feature enables administrators to analyze metadata repository statistics in Oracle BI Answers. The Oracle BI Server can generate a Metadata Dictionary that describes the metrics contained within the repository as well as the attributes of repository objects. The Metadata Dictionary output is a static set of XML documents. For more information about the Metadata Dictionary, see Oracle Business Intelligence Server Administration Guide. In this release, this Metadata Dictionary can now be accessed directly from the Oracle BI Answers selection pane where specific metadata information will be shown to guide report construction. Once this Oracle BI Answers-based functionality has been enabled as described in this section, an icon will appear next to each Subject Area, Table name, and Column shown in the selection pane for that Subject Area. The Subject Area icon is always displayed, whereas the Table name and Column name icons are only displayed on mouse-over. Clicking on the icon will open up a specific Metadata Dictionary page to show information for that element and links to related repository information.
On the machine where Oracle BI is installed, launch the Oracle BI Administration Tool. Log in to the desired repository in "Offline" mode. Create the dictionary using: Tools -> Utilities -> Generate Metadata Dictionary.
Once the newly-generated Metadata Dictionary has been saved, it should then be packaged and deployed to the application server as appropriate for your installation. If you are using IIS as a web server, placing the Metadata Dictionary in the "OracleBIData" directory is a recommended practice - for example, within OracleBIData\web\res\dictionary. Any http-based location will also work. The following "SubjectAreaMetadata" node will need to be added to the Presentation Services instanceconfig.xml file to specify this selected location. It should be added
1-1
under the "ServerInstance" node. Please see the "Making Oracle BI Presentation Services Configuration Changes" section within the Oracle Business Intelligence Presentation Services Administration Guide for more information on editing the instanceconfig.xml configuration file. Here is an example showing a relative reference to the IIS location previously mentioned. For any other application server this path would point to where the WAR file had been deployed.
<SubjectAreaMetadata> <DictionaryURLPrefix>/analyticsres/dictionary/</DictionaryURLPrefix> </SubjectAreaMetadata>
Generate the Metadata Dictionary, make this configuration change, then restart Presentation Services to use this feature. Best practices include keeping repository names to less than 156 characters in order to prevent truncated URLs. Access to the Metadata Dictionary through Oracle BI Answers can also be administered using a new Access to Metadata Dictionary privilege. Finally, some versions of browsers (like IE6 or Firefox 1.6) might have problems showing these XML-based files if they are not configured to access data sources across domains. This setting should be enabled.
2
2
Please see the "Making Oracle BI Presentation Services Configuration Changes" section within the Oracle Business Intelligence Presentation Services Administration Guide for more information on editing the instanceconfig.xml configuration file.
3
3
4
4
This new feature enables users to users to share reports and collaborate more easily by providing shortcut links to them, including prompts. Two new types of Dashboard links can be generated using this release. Intended for collaboration, these are the:
API for generating and customizing Dashboard content. Unlike the Bookmark Link, this link is dynamic, which maps to no saved catalog content. When configured to show this feature, the Dashboard Page Options menu will show a "Create Prompted Link" option. Selecting this option will generate the Prompted Link and the user will see a message indicating, "A Prompted link capturing the prompts and values of this page has been created." This is the Prompted Link syntax:
<Content Path>, Action=Navigate, Column1 (col1), Operator1 (op1), Values1(val1), Column2 (col2), Operator2 (op2), Values2 (val2) ...
Values are separated by pluses and to further simplify this syntax the operator parameter is not needed for equal (eq). Double quotes are also optional if there are no white spaces inside the values. These are Prompted Link examples:
...Action=Navigate&col1=Products.Color&val1=Armory ...Action=Navigate&col1=Products.Color&val1=Armory+Clear ...Action=Navigate&col1=Products.Color&op1=bet&val1=Armory+Clear ...Action=Navigate&col1=Products.Color&val1="Armory"+"Clear"&col2=Periods."Month"& val2="04/01/1998%2012:00:00%20AM" ...Action=Navigate&col1=Products.Color&val1="Armory"+"Clear"&col2=Periods."Month"& op2=gt&val2="05/01/1998%2012:00:00%20AM"
As these links are extensions of the existing Go URL, a full list of operators can be found in the "Using the Oracle BI Presentation Services Go URL to Issue SQL and Pass Filters" section found in the Oracle Business Intelligence Presentation Services Administration Guide.
"EnableBookmarkURL" controls whether or not the "Create Bookmark Link" is shown in the "Page Options" menu while "EnablePromptedURL" controls the appearance of the "Create Prompted Link." The Bookmark Link refers to a stub saved in the Presentation Services catalog and "BookmarkExpirationDays" allows an administrator to set a lifespan for how long these should persist. Please see the "Making Oracle BI Presentation Services Configuration Changes" section within the Oracle Business Intelligence Presentation Services Administration Guide for more information on editing the instanceconfig.xml configuration file.
For advanced applications, and for both the "Create Bookmark Link" and "Create Prompted Link" functionality, two Javascript functions can be called to retrieve these values from custom scripts embedded on the originating Dashboard Page. Note, for Javascript functions to work a HardenXSSconfiguration must be set to false in instanceconfig,xml. For the Bookmark Link, the function linkToPage(bInlineDrill,bGetBookmarkOnly) can be called. If the second argument is omitted or set to "false," the browser address bar will be updated with the bookmark URL. If the second argument is set to "true," the browser address bar won't be refreshed. In either case, the bookmark URL is retrieved asynchronously and put into variable saw.bookmarkURL. Polling the value of saw.bookmarkURL will give the link. This variable is set to empty string when the function is invoked. As for the first argument, if you see the "Page Options" menu on the page, set it to true, otherwise, set it to false. For the Prompted Link, the function GetPURL( ) returns the Prompted Link as a string.
5
5
This new feature enables administrators to import Database objects through a native Oracle OCI connection. The Oracle BI Administration Tool now supports importing of physical Database objects through a native Oracle OCI connection and reuses the same OCI connection for queries. This feature mitigates the need to setup an ODBC connection to an Oracle Database purely for importing metadata objects into the Administration Tool.
6
6
6-1
EVALUATE_PREDICATE Function
7
7
7-1
8
8
Section 8.1, "Oracle Business Intelligence Installer Now Deploys BI Components into One OC4J Container" Section 8.2, "DataDirect Connect ODBC Drivers for Linux and UNIX Operating Systems Bundled with Oracle BI EE 10.1.3.3.1" Section 8.3, "Support for Charts in Oracle BI EE for Arabic, Thai, and Hebrew"
8.1 Oracle Business Intelligence Installer Now Deploys BI Components into One OC4J Container
In 10.1.3.x releases prior to version 10.1.3.3.1, during an Advanced installation, the Oracle BI Installer created the following OC4J containers and deployed BI components in them:
bianalytics - for BI Presentation Services Plug-in component bipublisher - for BI Publisher component bijmx - for BI Systems Management component bioffice - for BI Office server component (in Oracle BI EE version 10.1.3.3)
With Oracle BI EE 10.1.3.3.1, during an Advanced installation, the Oracle BI Installer deploys the BI components into one OC4J container called "home". The memory footprint for the OC4J instance will be between 512 -1024 MB.
8.1.1 Upgrading to Version 10.1.3.3.1 from a BIEE 10.1.3.x Release Prior to 10.1.3.3.1
On upgrade to Oracle BI EE 10.1.3.3.1, if the "Keep User Modified Configurations" upgrade option is selected on the BI Installer screen, the old OC4J containers for BI will be deleted and the BI components will be deployed into the OC4J container named "home". The configuration files for the BI component applications deployed in the individual BI OC4J containers are migrated into the deployed application in the OC4J instance named "home". The configuration files that are migrated are:
$ORACLE_HOME/j2ee/bianalytics/applications/analytics/analytics/WEB-INF/web.xml
to
$ORACLE_HOME/j2ee/home/applications/analytics/analytics/WEB-INF/web.xml
and
8-1
DataDirect Connect ODBC Drivers for Linux and UNIX Operating Systems Bundled with Oracle BI EE 10.1.3.3.1
ORACLE_HOME/j2ee/bibioffice/applications/analytics/analytics/WEB-INF/bioffice.xml
to
$ORACLE_HOME/j2ee/home/applications/analytics/analytics/WEB-INF/bioffice.xml
On upgrade to Oracle BI EE 10.1.3.3.1, the old OC4J containers for BI will be deleted if the "Reset Configurations" upgrade option is selected on the BI Installer screen. The BI components will be deployed in the OC4J instance named "home". The configuration files web.xml for bianalytics and bioffice.xml from the previous release will not be preserved.
Note:
If you have deployed any custom applications on any of the BI OC4J containers, you must make a backup of your custom applications and redeploy them into a different OC4J container before performing an upgrade to Oracle BI EE 10.1.3.3.1.
8.2 DataDirect Connect ODBC Drivers for Linux and UNIX Operating Systems Bundled with Oracle BI EE 10.1.3.3.1
Oracle BI EE 10.1.3.3.1 provides DataDirect Connect ODBC drivers and driver managers version 5.3 for Linux and UNIX operating systems for connectivity to Informix, MS SQL Server, and Sybase ASE databases. 32-bit and 64-bit DataDirect 5.3 drivers are available on AIX, Solaris, and HP-UX Intanium. 32-bit drivers are available for Linux and HP-UX PA-RISC. The Oracle BI EE Installer 10.1.3.3.1 installer installs the DataDirect Connect ODBC drivers in the following location: $OracleBI/odbc The 32-bit drivers are installed in $OracleBI/odbc/lib and 64-bit drivers are installed in $OracleBI/odbc/lib64.
Note:
Communication between database clients and servers is typically independent of the widths and data paths. In other words, the 32-bit database drivers will communicate with 64-bit database servers, and vice versa.
Refer to the Systems Requirements and Supported Platforms Guide for Oracle Business Intelligence 10.1.3.3 for further information on supported operating systems and databases for the DataDirect Connect ODBC drivers.
DataDirect Connect ODBC Drivers for Linux and UNIX Operating Systems Bundled with Oracle BI EE 10.1.3.3.1
On Linux, AIX, Solaris, HP-UX PA-RISC and HP-UX Intanium operating systems, the 32-bit driver is located in $OracleBI/odbc/lib. On AIX, Solaris and HP-UX Itanium operating systems, the 64-bit driver is located in $OracleBI/odbc/lib64. To use the DataDirect ODBC Driver to connect to MS SQL Server:
1.
Make the following entries in the odbc.ini file. This file is located in $OracleBI/setup. Set the Driver parameter to the file name and location of the DataDirect driver for MS SQL Server. In the following example, the Driver parameter is set to the 64-bit DataDirect driver.
Example 81 Sample File for Microsoft SQL Server [SQLSERVER_DB Driver=/usr/OracleBI/odbc/lib64/SEmsss23.so Description=DataDirect 5.1 SQL Server Wire Protocol Address=111.111.111.111,1433 AlternateServers= AnsiNPW=Yes ConnectionRetryCount=0 ConnectionRetryDelay=3 Database= LoadBalancing=0 LogonID= Password= QuoteID=No ReportCodePageConversionErrors=0 2.
In the $OracleBI/server/Config/DBFeatures.INI file, for the appropriate SQL Server sections, turn the IDENTIFIER_QUOTE_CHAR parameter off by setting the following: IDENTIFIER_QUOTE_CHAR = ''; The default is: IDENTIFIER_QUOTE_CHAR = "";
8-3
DataDirect Connect ODBC Drivers for Linux and UNIX Operating Systems Bundled with Oracle BI EE 10.1.3.3.1
AuthenticationMethod=0 Charset= ConnectionRetryCount=0 ConnectionRetryDelay=3 CursorCacheSize=1 Database=Northwind DefaultLongDataBuffLen=1024 EnableDescribeParam=0 EnableQuotedIdentifiers=0 EncryptionMethod=0 GSSClient=native HostNameInCertificate= InitializationString= Language= LoadBalancing=0 LogonID= NetworkAddress=111.111.111.111,5005 OptimizePrepare=1 PacketSize=0 Password= RaiseErrorPositionBehavior=0 ReportCodePageConversionErrors=0 SelectMethod=0 ServicePrincipalName= TruncateTimeTypeFractions=0 TrustStore= TrustStorePassword= ValidateServerCertificate=1 WorkStationID=
8.3 Support for Charts in Oracle BI EE for Arabic, Thai, and Hebrew
Oracle Business Intelligence Enterprise Edition version 10.1.3.3.1 offers support for Arabic , Thai, and Hebrew. Due to a limitation in the charting engine that is used in Oracle BI EE, bidirectional and Thai language characters do not render properly in charts. To overcome this limitation and enable charting in Oracle BI EE for Arabic, Thai and Hebrew, you can use Oracle BI Publisher charting capabilities. BI Publisher charts are based on the Oracle BI Beans technology. A BI Publisher report containing a chart may be embedded in an Oracle BI Interactive Dashboard in order to meet charting requirements. To implement this solution, perform the following steps described below:
Integrate the Data Sources Create a Report and Layout in BI Publisher Embed the BI Publisher Report in a Dashboard
8.3.1 Prerequisites
This procedure assumes that you have already performed the following:
Set up users in Oracle BI EE and Oracle BI Publisher with appropriate privileges. You must integrate the user security between Oracle Business Intelligence and Oracle BI Publisher using one of the security models available. Within Oracle BI Presentation Services the user must have privileges to update Dashboards. Within Oracle BI Publisher users must be granted the BI Publisher Developer Role. For more information on setting up security in Oracle BI, refer to "Security in Oracle BI" in the Oracle Business Intelligence Server Administration Guide and "Managing Oracle Presentation Services Security" in the Oracle Business Intelligence Presentation Services Administration Guide. For information on setting up security in Oracle BI Publisher, refer to "Defining a Security Model" in the Oracle Business Intelligence Publisher User's Guide.
Created an Answers request that contains the data you wish to display in a chart. Installed the BI Publisher Template Builder for Microsoft Word. The Oracle BI Publisher Template Builder for Microsoft Word Add-in can be installed from the BI Publisher application for users with the appropriate roles assigned (that is, BI Publisher Administrator, BI Publisher Developer, or BI Publisher Template Designer). The download link appears on the Developer Tools region. See the topic "Installing Oracle BI Publisher Desktop" in the Oracle Business Intelligence Infrastructure Installation and Configuration Guide.
8-5
From the Oracle BI Publisher menu, select Log On and enter appropriate credentials (the user must have either the Administrator, Report Designer, or Developer role assigned). From the Open Template dialog, select Oracle BI from the Workspace list. Navigate to your Answers request and double-click the request name.
3. 4.
5.
You will be prompted to Save as Oracle BI Publisher Report. BI Publisher will create a report definition that uses the Answers request as the data source. The template you design will be saved as part of this BI Publisher report definition. Select the folder from the BI Publisher report repository. After you save, the Template Builder loads the data and returns you to a blank Microsoft Word page.
6.
To insert a chart, launch the Chart dialog from the Oracle BI Publisher menu by selecting Insert, then Chart. The following figure shows the Oracle BI Publisher Template Builder chart dialog:
8-7
7.
After inserting the chart, upload the template to the BI Publisher report repository. From the Oracle BI Publisher menu select Upload Template As. Enter a name for the template. The report is now available as a BI Publisher object that can be added to a dashboard.
In release 10.1.3.3.1, there is no longer a limitation of one BI Publisher Report per dashboard.
1. 2. 3. 4. 5.
In the dashboard page, click the Page Options button, and click Edit Dashboard. From the selection pane, drag and drop the BI Publisher Report object from the Dashboard Objects area into a section on the dashboard page. Click the newly placed BI Publisher report objects Properties button. In the BI Publisher Report Properties dialog, browse for and select the Oracle BI Publisher report. Click Save to return to the dashboard and view your added report.
Area Horizontal Bar Bubble Vertical Bar Line Line Bar Combo Pareto Pie Radar Scatter Step
9
9
Section 9.1, "Support for Hyperion Essbase as a Data Source" Section 9.2, "Using BI EE OC4J Components with IIS via the IIS Plug-in"
Define ARBORPATH = <Essbase Client installation folder> For example: export ARBORPATH=/export/home/Hyperion/AnalyticServicesClient
General New Features in Release 10.1.3.3.2 9-1
export ARBORPATH
2.
Add the Essbase Client Libraries folder to LD_LIBRARY_PATH: LD_LIBRARY_PATH_64=$LD_LIBRARY_PATH_64:<Essbase Client Libraries folder> For example: LD_LIBRARY_PATH_64=$LD_LIBRARY_PATH_64:$ARBORPATH/bin export LD_LIBRARY_PATH_64
9.1.2.2.2
1.
Define ARBORPATH = <Essbase Client installation folder> For example: ARBORPATH=/export/home/Hyperion/AnalyticServicesClient export ARBORPATH
2.
Add the Essbase Client Libraries folder to LD_LIBRARY_PATH: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Essbase Client Libraries folder> For example: LD_LIBRARY_PATH=$LD_LIBRARY_PATH$ARBORPATH/bin export LD_LIBRARY_PATH
9.1.2.2.3
1.
Define ARBORPATH = <Essbase Client installation folder> For example: ARBORPATH=/export/home/Hyperion/AnalyticServicesClient export ARBORPATH
2.
Add the Essbase Client Libraries folder to SHLIB_PATH: SHLIB_PATH=$SHLIB_PATH:<Essbase Client Libraries folder> For example: SHLIB_PATH=$SHLIB_PATH$ARBORPATH/bin export SHLIB_PATH
9.1.2.2.4
1.
Define ARBORPATH = <Essbase Client installation folder> For example: ARBORPATH=/export/home/Hyperion/AnalyticServicesClient export ARBORPATH
2.
Add the Essbase Client Libraries folder to SHLIB_PATH: SHLIB_PATH=$SHLIB_PATH:<Essbase Client Libraries folder> For example: SHLIB_PATH=$SHLIB_PATH:$ARBORPATH/bin
export SHLIB_PATH
3.
Define ESSLANG and LANG For example: ESSLANG=English_UnitedStates.UTF-8@Binary export ESSLANG LANG=en_US.utf8 export LANG
4.
Comment out the following three lines from the NQSConfig.ini file: [ GENERAL ] // Localization/Internationalization parameters. LOCALE="English-usa"; SORT_ORDER_LOCALE="English-usa"; SORT_TYPE="binary";
9.1.2.2.5
1.
Define ARBORPATH = <Essbase Client installation folder> For example: ARBORPATH=/export/home/Hyperion/AnalyticServicesClient export ARBORPATH
2.
Add the Essbase Client Libraries folder to LIBPATH: LIBPATH=$LIBPATH:<Essbase Client Libraries folder> For example: LIBPATH=$LIBPATH:$ARBORPATH/bin export LIBPATH
9.1.2.2.6
1.
Define ARBORPATH = <Essbase Client installation folder> For example: ARBORPATH=/export/home/Hyperion/AnalyticServicesClient export ARBORPATH
2.
Add the Essbase Client Libraries folder to LD_LIBRARY_PATH: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<Essbase Client Libraries folder> For example: LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ARBORPATH/bin export LD_LIBRARY_PATH
In the "Import from Multi-Dimensional" dialog, select Essbase as the provider type. Input the server and authentication information.
After selecting "OK", the list of Applications and Cubes available on the Essbase Server will be presented as shown in the following figure:
Select the Applications or Cubes to import. Note that Applications will be mapped as Physical Catalogs. The following figure shows an example of the physical layer representation:
Once the physical cubes are imported, they can be dragged to the Business Model and Mapping Layer to automatically create a Business Model that includes associated dimensions. The Business Model can now be customized to take advantage of Oracle BI Server capabilities such as aggregate and fragment navigation.
9.1.3.1 Measures
The default Aggregation Rule for imported measures will be set to Aggr_External. It is recommended that you change this setting to an explicit Aggregation Rule if the rule is known for the given measure and a corresponding rule is available for the BI Server. This will allow the BI Server to compute the aggregate when necessary. Essbase supports the concept of measure hierarchies. This enables end users to drill from a measure to components that make up the measure, for example, profit drills to revenue and costs. At this time Oracle BI EE does not support measure hierarchies. Oracle BI EE will import measures as a flat list of children to the cube itself independent of the measure hierarchy.
9-5
The import process will not be able to identify that member names are unique for a given hierarchy, so it is the responsibility of the Administrator to confirm uniqueness. Note that query errors may result if a hierarchy is specified as having unique members when it does not.
The Oracle BI Server will generate the following expression for the custom aggregation:
member [Measures].[MS1] as 'SUM(Topcount([Product].Generations(6).members,3,[Measures].[Profit]),[Measures].[
Profit])'
Similarly, use the EVALUATE function to implement scalar functions that are computed post-aggregation. EVALUATE will change the grain of the query, if its definition makes explicit references to dimensions (or attributes) that are not in the query. For example, if you would like to see the Profits for the top five products ranked by Sales sold in a Region, after creating the applicable measure, the resulting Logical SQL statement is as follows
Select Region, EVALUATE('TopCount(%1.members, 5, %2)' as VARCHAR(20), Products, Sales), Profits From SampleBasic
The Oracle BI Server will generate the following expression to retrieve the top five products:
set [Evaluate0] as '{Topcount([Product].Generations(6).members,5,[Measures].[Sales]) }'
The Oracle BI Server will generate the following expression for the custom column:
set [Evaluate0] as '{FILTER([Customer].Generations(3).members,isUDA([Customer].Generations(3).Dimensi on,"Major Market")) }'
9-7
Map the member attribute to the appropriate Logical Table in the Business Model Layer Include the attribute in the appropriate Presentation Table in the Presentation Layer
Now add "State" to the query. We know that for "Central America," Regions do not have States. The resulting Answers request is shown in the following image:
Note that for the unbalanced branch, for columns below the leaf level, nulls will be displayed.
9.2 Using BI EE OC4J Components with IIS via the IIS Plug-in
There are two components of the BI EE installation that require Oracle Containers for Java (OC4J) and will not run natively on Microsoft's Internet Information Server (IIS), those components are:
IIS can be configured as a listener for OC4J. This is accomplished via an IIS proxy plug-in that is provided with the BI EE installation files. When configured, the requests are routed from IIS to OC4J so that it appears to the user that everything is being executed by IIS.
9.2.1 Prerequisites
Following are the prerequisites to use the IIS plug-in:
Certified Windows Operating System as documented in the System Requirements and Supported Platforms for Oracle Business Intelligence Suite Enterprise Edition (SRSP). Certified version of IIS as documented in the SRSP.
9-9
Oracle BI EE version 10.1.3.3.1 or later, installed and running with default configuration.
From your BI EE install files, locate oracle_proxy.dll. The navigation path is as follows: <CD-Drive>\Server\Oracle_Business_ Intelligence\oc4jproxy\oracle_proxy.dll
2. 3.
Create a folder on an accessible drive, for example: c:\proxy. Copy oracle_ proxy.dll to this folder. In the same folder, create a configuration file called "proxy.conf ". This configuration file is for the OracleAS Proxy Plug-in which will be used to define the proxy server behavior. Following is a sample configuration file:
# Server names that the proxy plug-in will recognize. oproxy.serverlist=ias1 # Hostname to use when communicating with a specific server. oproxy.ias1.hostname=hostname.domain # Port to use when communicating with a specific server. oproxy.ias1.port=9704 # Description of URL(s) that will be redirected to this server. oproxy.ias1.urlrule=/xmlpserver/* oproxy.ias1.urlrule=/xmlpserver oproxy.ias1.urlrule=/bioffice/* oproxy.ias1.urlrule=/bioffice
When you complete this Step, there will be two files (oracle_proxy.dll and proxy.conf) in the folder that you created in Step 2.
4.
Edit your registry to create a new registry key named HKEY_LOCAL_ MACHINE\SOFTWARE\Oracle\IIS Proxy Adapter. Specify the exact location of your configuration file with the name server_defs, and a value pointing to the location of your configuration file, for example: c:\proxy\proxy.conf. (Optional) Specify a log_file and log_level: Add a string value with the name log_file, and the desired location of the log file, for example, c:\proxy\plugin.log. Add a string value with the name log_level, and a value for the desired log level. Valid values are "debug", "inform", "error", and "emerg".
3.
5.
Using the IIS management console, add a new virtual directory to your IIS Web site with the same physical path as that of oracle_proxy.dll. Name the directory "oproxy" and give it execute access. Using the IIS management console, add oracle_proxy.dll as a filter in your IIS Web site. The name of the filter should be "oproxy" and its executable must
2.
Restart IIS (stop and then start the IIS server), ensuring that the filter is marked with a green arrow pointing up.
Check the following configuration files to remove the port 9704 because now IIS is routing all the calls to OC4J.
\oracleBIData\web\Config\instanceconfig.xml \oracleBI\xmlp\Admin\configutation\xmlp-server-config.xml \OracleBI\oc4j_bi\j2ee\home\applications\bioffice\bioffice\WEB-INF\bioffice.xml 7. To access BI Servlets from the IIS / OracleAS Proxy Plug-in, you must specify the complete URL for example: http://localhost/xmlpserver/login.jsp or http://localhost/bioffice/about.jsp and http://localhost/analytics/saw.dll?Answers.
9-11
10
10
10-1
Part II
Part II
Chapter 11, "Oracle BI Publisher Template Builder Enhancements" Chapter 12, "Flash Templates for Oracle BI Publisher" Chapter 13, "Oracle BI Publisher PowerPoint Output" Chapter 14, "Oracle BI Publisher Integration with Oracle BI Discoverer" Chapter 15, "Performance Improvements for Oracle BI Publisher" Chapter 16, "Converting Reports from Oracle Reports to Oracle BI Publisher" Chapter 17, "Support for Digital Signature in PDF Documents" Chapter 18, "Support for Postscript Printers" Chapter 19, "Additional New Features in Release 10.1.3.3" Chapter 20, "New Features in Release 10.1.3.3.1" Chapter 21, "New Features in Release 10.1.3.3.2" Chapter 22, "New Features in Release 10.1.3.3.3" Chapter 23, "Oracle Business Intelligence Publisher Web Services"
11
11
There are many new and exciting enhancements to the Oracle BI Publisher Template Builder. These new features enable users to use Discoverer worksheets as data sources, generate reports in MS PowerPoint format, and to use more powerful formatting facilities and charts. The Oracle Business Intelligence Publisher version 10.1.3.3 introduces the following new features for the Oracle BI Publisher Template Builder:
Integration with Discoverer Support for Microsoft PowerPoint Output Advanced Form Field Support Enhanced Chart Builder Features
For information on these menu items, see Section 11.4, "Advanced Form Field Support". Added to the Preview menu: PowerPoint For information on this menu item, see Section 11.3, "Microsoft PowerPoint Output Support". In addition, two menu items have been changed:
Update Layout Template is now Upload Template Publish Template As is now Upload Template As
From the Oracle BI Publisher menu, select Log On. Enter your credentials for Oracle BI Publisher. After successfully logging on, the Open Template dialog will launch. From the Workspace list, select Discoverer. The Select Data Connection dialog will launch. From the Select Data Connection dialog, select your connection to Discoverer. Browse the Discoverer folders to locate the worksheet you want to open in the Template Builder. Double click the worksheet. A dialog prompts you to save As Oracle BI Publisher Report. From the dialog, select the folder on the BI Publisher server where you want to save your BI Publisher report that will use this Discoverer worksheet as the data source. Click OK to create a report in the folder. This also loads the report structure and data to the Template Builder. You can now design the template using the full range of Template Builder features on your Discoverer data source. When finished designing your layout template, save your template to the BI Publisher server by selecting Upload Template from the Oracle BI Publisher menu.
6.
7. 8. 9.
and Help Key tabs of the Form Field Help Text Dialog. This made it challenging if you wanted to edit this code. With this release, you can now edit code in the form fields in a single window in the BI Publisher Properties dialog. Further, several additional dialogs have been added to enable you to insert common format constructs in your template and the Template Builder generates the code for you. The new dialogs simplify the insertion and editing of the following report elements:
To open the Properties dialog for a field, perform one of the following:
Double-click the form field in your template. Right-click the form field, from the menu select BI Publisher and then select Properties.
For recognized code patterns (for example: data value, for-each, for-each-group, conditional formatting) the dialog displays a Properties tab and an Advanced tab (the Repeating Group dialog also displays a Sorting tab). The Properties tab displays modifiable properties for the field. The Advanced tab displays the underlying code. If the code pattern is not recognized, the Properties dialog displays only the Advanced tab with the code from the form field. Note that each dialog includes a Properties button that enables you to access the Microsoft Word Form Field Help Text dialog.
Data Field Select the data field from the list of available fields from the loaded data source. Text to Display Enter the display text for the form field in the template. This text will be replaced at runtime by the value in the data.
Type Select the type of data. Options are Regular Text, Number, Date, Current Date, Current Time. The selection in this field will determine the format options. Format For any data type except Regular Text, you can select from several number or date display formatting masks or enter your own. Force LTR (Force Left-to-Right) This checkbox is only needed if you are using the template in a language that prints the characters from right to left, such as Arabic or Hebrew. In these languages you may want to force left-to-right printing for fields such as phone numbers, addresses, postal/zip codes, or bank account number. Function This feature enables you to perform aggregation functions (Sum, Average, Count, Minimum, Maximum) on data fields. For example, if you select sum for a data field, the field will show the sum of all occurring values for this data field depending on the scope (see below). Scope (informational only) This field has two possible values: Group Item Indicates that the data field is inside a group. If you choose to perform a function on the field, only the occurrences of the field within the current group will be included in the aggregation. Normal Indicates that the field is not inside a group. Aggregation functions will be performed on all occurrences of the field in the data.
The Advanced tab displays the underlying code. If the code pattern within the form field is not recognized, the Properties dialog will display this tab only. Use this tab to edit or add code to the form field. Select OK to update the template. The Properties button opens the Microsoft Word Text Form Field Options dialog.
Select the section of the template that contains the elements you want repeated. From the Oracle BI Publisher menu, select Insert, then Repeating Group. Enter the appropriate fields in the Field Properties dialog:
For Each Select the repeating element to create the loop. When you select the For Each data field you are telling BI Publisher that for each occurrence of the field in the data you want the elements and processing instructions contained within the loop to be repeated. Please note the following about creating repeating groups: For loops and groupings not inside another group (that is, outer groups or loops) you must select the repeating XML element to be used. For example if the data set is flat, the only repeatable element is /DATA/ROWSET/ROW. In cases with multiple data sources or hierarchical XML you can choose the data set. If you are creating nested groups (inserting a loop or group inside of another loop in the template), the For Each field is not updateable because it is already defined by the preexisting outer loop. The For Each field will display "Group Item" to inform you that an outer group is already defined.
Absolute Path Select this check box to use the Absolute Path to the element in the XML structure. This is important if your data contains the same element name grouped under different parent elements. Group By Select a field from the list by which you want to group the data. If you just want to create a simple loop, do not select a group by element. Section break Select this box if you wish to create a section break between each loop. It is important to note the following characteristics of this feature: The section break can be created only on outer loops that surround the whole document. As a section break, the page numbering is reset, headers and footers are reset, and any running calculations will be reset.
4.
To sort the grouped data, select the Sorting tab. You can select up to four sort-by fields. For each sort by field, select the following:
Data type Select Number or Date/Text. It is important that you select the correct data type to achieve the expected sort order.
Note that if you are sorting by four criteria and your XML data element names are long, you may exceed the character length limitation (393 characters) of the Microsoft Word form field. The following figure shows the Sort tab of the Repeating Group Field Properties dialog:
5.
To change the text display or edit the code directly, select the Advanced tab. The following figure shows the Advanced tab of the Repeating Group Field Properties dialog:
6.
When you have completed the dialog options, click OK. This will insert the form fields in your template. By default, the beginning for-each form field will display the text "F" and will be inserted at the beginning of the selected template section. At the end of the selection, an "E" form field will be inserted to denote the end of the repeating group.
Select the block of text. For example, a table row. Note that if any already inserted BI Publisher tags are included in the block, you must be sure to include the beginning and ending tags. For example, if your block contains any opening for-each, if, or for-each-group tags, you must include the end for-each, end-if, and end for-each-group tags in your selection.
2.
From the Oracle BI Publisher menu bar select Insert, then Repeating Group.
3. 4.
In the Field Properties dialog, enter the fields to define the group as described in Section 11.4.3.1, "Creating Repeating Groups". Click OK to insert the grouping fields around the block. For example, if the block is a table row, the begin field will be inserted at the beginning of the first cell and the end field will put at the end of the last field.
Place the cursor in the table cell of the data element for which you want to define the condition. From the Oracle BI Publisher toolbar, select Insert, then Conditional Format. Enter the following in the Conditional Format dialog:
Data Field Select the element to test for the condition and the data type of the element (Number or Date/Text). Apply to Entire Table Row If you want the format applied to the entire table row, not just the cell of the selected element, select this box. (Condition 1) Data field Select the comparison operator. The options are: Equal to Not equal to Greater than Less than Greater than or equal to Less than or equal to
Select the value to meet the condition. Note that you may enter an integer, enter text, or select another data element to define a comparison based on the incoming values. Click Format to define the format you want to apply when the condition is met. Options are background color, font color, and font style (regular, bold, italic, bold italic). Select the box and format of each option you want to apply. After you select the format, the Preview region will display the format chosen. The following figure shows the Format dialog from the Conditional Format dialog:
4.
Select OK. The conditional format field will be inserted as a form field with the display text "C".
To edit the conditional format, double-click the inserted form field to launch the dialog for editing; or, right-click the form field and select BI Publisher, then Properties.
Select the region that you want to apply the condition to. For example, if you want to display a table only for a certain condition, select the region that contains the table. Note that the region must be inside a loop. From the BI Publisher toolbar select Insert, then Conditional Region. The following figure shows the Conditional Region dialog:
2.
3.
Data field - Select the field to test for the condition. Select the data type of the field: Number or Date/Text. Select the comparison operator for the data field. Options are: Equal to Not equal to Greater than Less than Greater than or equal to Less than or equal to Enter the value to define the condition, or select from the list of data elements to define a conditional relationship based on the value of another data element.
4.
Click OK. The form fields containing the conditional logic are inserted around the region. The beginning form field will display the text "C" and the form field closing the region will display the text "EC".
To edit the conditional region, double-click the inserted form field to launch the dialog for editing; or, right-click the form field and select BI Publisher, then Properties.
Support for charts inside a grouping Support for new chart types Support for new chart subtypes
Using this feature, you can easily insert charts within groups to display the data for each grouping. For example: Your report contains sales data. Your template groups the data by year than by month to report the month's sales by industry. To insert a chart to display each month's data, simply insert the chart within the grouping tags and select the Chart is inside group box. This enables you to create reports as shown in the following figure of a sample report with chart inside grouping:
Radar Plots the same information as a bar graph, but displays the data radiating from the center of the graph. The following figure shows a sample radar chart:
Pareto Displays criteria in descending order to summarize the relative importance of the differences between groups of data. In this graph type, a line shows a cumulative total of the percentages. When using this type of chart, ensure that you sort the data numerically, descending by value (not label). The following figure shows a sample pareto chart:
Bar - Vertical - Percent Bar - Vertical - Stacked Bar - Horizontal - Percent Bar - Horizontal - Stacked Line - Percent Line - Stacked Area - Percent Area - Stacked
11-11
12
12
On the Edit Report page, under Layouts, General Settings, the Template Type list now includes the option Flash Template. On the View Report page, the output selection list will now include the option Flash when a Flash Template is selected as the Template Type. Flash templates only support the output types: Flash, PDF, and data. A new set of "Flash" properties have been added to the Runtime Configuration page.
12.2 Prerequisites
The prerequisites are as follows:
For viewing output: To view the report output from the Flash Template, you must have Adobe Flash Player 9 installed on your computer.
For building templates: The FlexBuilder IDE from Adobe. Oracle BI Publisher is currently certified with version 2.0.1. The tool can be downloaded and purchased from the Adobe Web site - http://www.adobe.com/products/flex/.
Building Templates
Please note that the charting functionality is available for an additional license fee. A report data model set up in BI Publisher that generates flat XML.
Generate a sample data file from your report data model. From the BI Publisher Report Editor or from the Reports page, select View. If no layouts are defined for your report, then the output type will default to xml. Otherwise, choose Data for the output type. Select Export and save the results as an XML file to a local directory. This example is based on the following data:
<ROWSET> <ROW> <NAME>Neena Kochhar</NAME> <FIRST_NAME>Neena</FIRST_NAME> <LAST_NAME>Kochhar</LAST_NAME> <SALARY>17000</SALARY> <ANNUAL_SALARY>204000</ANNUAL_SALARY> <FED_WITHHELD>57120</FED_WITHHELD> <JOB_TITLE>Administration Vice President</JOB_TITLE> <DEPARTMENT_NAME>Executive</DEPARTMENT_NAME> <MANAGER>Steven King</MANAGER> </ROW> <ROW> ... </ROWSET>
Open the Flex IDE and create a new Flex Project, select the "Basic" data access method.
Building Templates
On the next screen give the project a name. The name you use here will be assigned to the template file name you are going to create.
Click Finish. The IDE creates an MXML file; this is the Flex template definition file. It is in an XML format as follows:
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> </mx:Application>
Connect the XML you downloaded from your report data model. We will use the XML data services that Flex supports. We will embed the sample data into the MXML file.
<?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"> <mx:Script> <![CDATA[ [Bindable] public var dataXML:XML = <ROWSET> <ROW>
Building Templates
<NAME>Neena Kochhar</NAME> <FIRST_NAME>Neena</FIRST_NAME> <LAST_NAME>Kochhar</LAST_NAME> <SALARY>17000</SALARY> <ANNUAL_SALARY>204000</ANNUAL_SALARY> <FED_WITHHELD>57120</FED_WITHHELD> <JOB_TITLE>Administration Vice President</JOB_TITLE> <DEPARTMENT_NAME>Executive</DEPARTMENT_NAME> <MANAGER>Steven King</MANAGER> </ROW> <ROW> ... </ROWSET>; ]]> </mx:Script> </mx:Application>
The XML portion should look familiar as the data you downloaded. The important components to note are:
<mx:Script> This denotes the start of the template scripting code. There is also a closing </mx:Script> statement. [Bindable] This denotes that the following variable is bindable to a layout component. public var dataXML:XML This is the data variable declaration: public The value of the variable is available to the whole template. var Declares there is a variable in the report. dataXML The name of the variable. Note this is a compulsory name. You must use this name to use the template with BI Publisher. :XML Declares that the variable is an XML type.
; Notice the semicolon after the end of XML data you provided.
At runtime the BI Publisher server will generate the runtime data from the report and inject it into the Flex template replacing the sample data held within the dataXML variable. This feature allows the Flex report to be distributed to users without needing to connect to the server.
Building Templates
The Flex IDE creates a default canvas for you to drop objects onto. You can modify the canvas as required. IMPORTANT: If you intend to embed the Flash output in a PDF document, you must set the Width and Height of the template in the Size region of the Layout properties. Even if you wish to accept the default size, you must explicitly enter values in these fields.
2.
Start by dragging a Panel object from under the Layout node to the design palette. Notice as you drag the panel around the edge of the palette, you will see guidelines displayed in blue. Use these guides to aid you in aligning objects. Drop the panel onto the top left hand corner of the palette. Now drag the bottom right edge of the panel across to the right hand side of the palette. Then drag it down to about half the height of the palette. Alternatively, use the property palette on the right hand side to set the size of the panel. Now pick up a Datagrid object. This is the object to render the data in a tabular format. Drop it onto the panel you created in Step 2. The Datagrid is now a child of the panel; you can resize it as needed. The end result is shown in the following figure:
3. 4. 5. 6.
Building Templates
By default three columns are generated. In the next section you will override the default in the MXML code.
First make some room for the chart in your layout. Highlight the Datagrid object and pull the top edge down to about half the height of the hosting panel. For the purposes of this guide we will demonstrate a Column Chart. Select and drag a Column Chart from the design palette and drop it onto the hosting panel. Use the guidelines to get it aligned. Once you drop it you will notice the default size will overlap the Datagrid and the chart legend is in the top left-hand corner. Resize the chart and move the legend to the left to look similar to the following figure:
3.
This is a sample chart. You will bind it to the data in the next section.
Building Templates
binding, but not enough to complete the task. Therefore we are going to update the MXML directly using the "Source" editor.
Start by highlighting the Datagrid in the design palette, and then click the Source tab to bring up the MXML source. You will see that the first line of the Datagrid code has been highlighted for you. This is a useful feature if you have built complex Flex templates and need to locate the code easily. The Datagrid code is as follows:
<mx:DataGrid x="10" y="160" width="476" height="152"> <mx:columns> <mx:DataGridColumn headerText="Column 1" dataField="col1"/> <mx:DataGridColumn headerText="Column 2" dataField="col2"/> <mx:DataGridColumn headerText="Column 3" dataField="col3"/> </mx:columns> </mx:DataGrid>
Notice that it defines the relative x,y position of the grid within its parent container and its width and height. The next element defines the columns with attributes for the header label and the data fields. The goal is to achieve a table that looks like the following figure:
2.
Make the Datagrid aware of the datasource. To do that, add an attribute to the <mx:DataGrid> element as follows:
dataProvider="{dataXML.ROW}"
This attribute defines the data object to be used at runtime to populate the grid. Remember that we initially defined the XML data variable as "dataXML"; we now use that followed by "ROW". ROW is the repeating group in the data set. Don't forget the curly braces to let the Flex engine know we are defining a datasource.
3.
Bind the columns. We already have the basic structure, so it is just a case of replacing values thus:
<mx:columns> <mx:DataGridColumn <mx:DataGridColumn <mx:DataGridColumn <mx:DataGridColumn </mx:columns> headerText="Employee" dataField="NAME" /> headerText="Title" dataField="JOB_TITLE"/> headerText="Monthly Salary" dataField="SALARY"/> headerText="Annual Salary" dataField="ANNUAL_SALARY"/>
4.
With this update we now have the following definition for the datagrid:
<mx:DataGrid x="10" y="160" width="476" height="152" dataProvider="{dataXML.ROW}"> <mx:columns> <mx:DataGridColumn headerText="Employee" dataField="NAME" />
Building Templates
<mx:DataGridColumn headerText="Title" dataField="JOB_TITLE"/> <mx:DataGridColumn headerText="Monthly Salary" dataField="SALARY"/> <mx:DataGridColumn headerText="Annual Salary" dataField="ANNUAL_SALARY"/> </mx:columns> </mx:DataGrid> 5.
You can now try the template with your sample data. Use the Run > Run EmployeeReport. This will open a new browser window and render the table with your sample data as seen in Step 1.
Start by bringing up the Design tab and highlight the Chart, then flip back to the Source view to find the chart code:
<mx:ColumnChart x="10" y="10" id="columnchart1" width="476" height="142"> <mx:series> <mx:ColumnSeries displayName="Series 1" yField=""/> </mx:series> </mx:ColumnChart> <mx:Legend dataProvider="{columnchart1}" x="383" y="10"/>
2.
To bind the data source to the chart object, add the dataProvider attribute to the <mx:ColumnChart> as follows:
dataProvider="{dataXML.ROW}"
3.
Next add in the binding for the horizontal axis and the column series. This requires a little more effort. Check the Flex help files for more details. We want to create a chart showing salaries by employees, similar to the following:
To achieve this format, modify the <series> group and add a <horizontalAxis> element thus:
<mx:ColumnChart x="10" y="10" id="columnchart1" width="476" height="142" dataProvider="{dataXML.ROW}"> <mx:horizontalAxis> <mx:CategoryAxis categoryField="NAME" /> </mx:horizontalAxis> <mx:series > <mx:ColumnSeries xField="NAME" yField="SALARY" displayName="Salary"/> </mx:series> </mx:ColumnChart> <mx:Legend dataProvider="{columnchart1}" x="383" y="10"/>
The <mx:horizontalAxis> element has been added and the categoryField attribute has the NAME data element assigned. This element is required to render the chart.
The <mx:series> element has been updated binding the SALARY value to each of the employee NAMEs to create a bar for each employee. The legend code does not need updating. Notice the "id" attribute on the ColumnChart matches the dataProvider attribute value on the <mx:Legend> element.
4.
You can now run the template using your sample data. You should get an output showing the chart above the tabulated data as shown in the following figure:
Using the Admin or Developer role, navigate to the Edit Report page. Highlight the Layouts node and use the Upload Template field to upload the Flex template to the server. To locate the correct file, use the Browse button and navigate to the Flex project directory. Under this directory open the bin directory and select the EmployeeReport.swf file. Use the Upload button to load the template. With the Layouts node still highlighted click New at the top of the report structure tree. Enter the name, template and template type fields as below.
3.
4.
Save your report. The template will now be available for users to select to either run in real time or to schedule.
Summary
Using the Administrator or Developer role, navigate to the report that will use the Flash template and click Configure. On the Runtime Configuration page you will see a new set of properties under the Flash heading. These properties control the placement and sizing of the Flash object in your output PDF document. The properties are shown in the following screenshot:
2.
Enter values for the properties. Note that no properties are required. If you do not enter any values, the default values assume an 11 inch by 8.5 inch document (standard landscape), with a quarter inch inset from the upper left corner of the page as the insertion point of the Flash object. The default area in the document will be the size of the SWF object.
Page width of wrapper document specify in points the width of the output PDF document. The default is 792, or 11 inches. Page height of wrapper document specify in points the height of the output PDF document. The default is 612, or 8.5 inches. Start x position of Flash area in PDF using the left edge of the document as the 0 axis point, specify in points the beginning horizontal position of the Flash object in the PDF document. The default is 18, or .25 inch. Start y position of Flash area in PDF using the upper left corner of the document as the 0 axis point, specify in points the beginning vertical position of the Flash object in the PDF document. The default is 18, or .25 inch. Width of Flash area enter in points the width of the area in the document for the Flash object to occupy. The default is the width of the SWF object. Height of Flash area enter in points the height of the area in the document for the Flash object to occupy. The default is the height of the SWF object.
12.6 Summary
This section has covered the basics of adding and organizing layout objects, binding the objects to BI Publisher data sources to create Flex templates, and then loading the templates to the BI Publisher server to make them available to report users. This has been a basic introduction to Flex templates but Adobe Flex allows you to build far more complex interactive reports for your users. The animation, "wiring" together and formatting of layout objects can be achieved with Flex. You can also summarize and create calculated fields on the incoming data. Please reference the Flex documentation for these more advanced features.
13
Oracle BI Publisher 10.1.3.3 adds support for PowerPoint output. This enables you to get report data into your key business presentations. In this initial version of this functionality, the PowerPoint document generated is a simple export of the formatted data and charts to PowerPoint. In a future release, there will be more sophisticated integration that allows for direct embedding and refreshing from within PowerPoint.
13
13-1
To summarize if you are using a font that is not defined in xdo.cfg it might not display correctly in the generated Microsoft Office PowerPoint file. To correct this situation:
1. 2. 3.
Add these font items into xdo.cfg, and specify the absolute path of the font files locations. Save the xdo.cfg in UTF-8 format. Make sure all the fonts used in the template file are defined correctly in xdo.cfg.
Page breaks will be treated as new slides. Background color of generated PowerPoint file is always white. Table border type must be single line (double border, dash, etc. are not supported). Hyperlinks are not supported. Charts and Graphs will be generated as PNG images (SVG is not supported). Shapes are not supported. Text position may be slightly incorrect if you use right-align. PowerPoint output will preserve the page orientation (portrait or landscape) defined in the RTF template. Most presentations are oriented in landscape so this is the recommended orientation of your RTF template. Paper size must be the same on all pages of the RTF template. You cannot have mixed paper sizes in the same document. All Unicode languages, except bi-directional languages, are supported. Text position may be slightly incorrect for Chinese, Japanese, and Korean fonts when using bold or italic effects on characters. This is because Microsoft has bold/italic emulation when there is no bold/italic font.
Once you have uploaded an RTF template to a report, you will have the option to determine if PowerPoint is a suitable output format for the template by selecting the
Limit Output Format to radio button choice and checking or un-checking the box next to Powerpoint. See figure below.
Users will then have the option to then set the output to PowerPoint when viewing the report.
13-3
14
Oracle BI Publisher Integration with Oracle BI Discoverer
Oracle BI Publisher uses a modern report architecture that separates the report data model from the report layout. By doing so, it allows users to create multiple layouts for a single data model. Oracle BI Publisher also supports many types of data sources such as SQL query against a database using JDBC, file data, HTTP feed, and web service. Using the new Discoverer web service, you can create reports based on the data that is returned from Discoverer worksheets. Once you install the Discoverer web service and configure Oracle BI Publisher to use it, the web service will return data from selected worksheets that provide the data for Oracle BI Publisher reports. Oracle BI Publisher 10.1.3.3 includes the ability to use Oracle BI Discoverer worksheets as the data set for a report. This provides three key benefits to Discoverer users. Discoverer users can now:
14
Create highly formatted reports Schedule execution and delivery of reports to a wide range of destinations Generate reports in a greater range of formats
Configure Discoverer and Oracle BI Publisher to work with each other Create reports and layouts based on Discoverer worksheets
14.1.3 Step 3: Configure Discoverer to Use Oracle Application Server Identity Management
To configure Discoverer to use Oracle Application Server Identity Management, see the Oracle Business Intelligence Discoverer Configuration Guide, Section 14.7 "Using Discoverer with Oracle Identity Management Infrastructure," which is available from the Documentation pages on the Oracle Technology Network (OTN) or directly at: http://download.oracle.com/docs/html/B13918_ 03/security2.htm#i1021521
14.1.4 Step 4: Set Up a Dedicated User to Access the Discoverer Web Service from Oracle BI Publisher
The Discoverer web service is accessible only to trusted clients. The Administrator must set up the dedicated user that Oracle BI Publisher will use to access the web service. To set up the user:
1. 2. 3. 4. 5. 6. 7.
Log in to an Application Server Control instance that has access to the Discoverer middle tier machine. Select the Discoverer middle tier machine. Select OC4J_BI_FORMS. Select the Applications. Select the deployed application named 'discoverer'. Under the Administration section, choose Security. Click the Add User button.
8.
Map this user to security role sr_users by selecting the sr_users Security Role and clicking on the "Map Role to Principals" button. On the Role: sr_users page, check the box next to the newly created user in the "Map Role To Users" section and click Apply.
The role sr_users is pre-defined in the Discoverer web.xml. For more information, refer to "Security Role Mapping" in the Oracle Application Server Containers for J2EE Security Guide 10g Release 2 (10.1.2), which is available from the Documentation pages on the Oracle Technology Network (OTN) or directly at: http://download.oracle.com/docs/cd/B14099_ 19/web.1012/b14013/jaas_integrate.htm#sthref270
14.1.5 Step 5: Configure Oracle BI Publisher to Use the Discoverer Web Service
Configure the Discoverer web service in Oracle BI Publisher Admin pages using the Discoverer web service URL from Step 1: Install the Discoverer Web Service (http://<1012AppServer>:<port>/discoverer/wsi) and the dedicated user that you defined in Step 4: Set Up a Dedicated User to Access the Discoverer Web Service from Oracle BI Publisher.
Note that in this release, any Oracle BI Publisher server or cluster of servers can be configured with only one Discoverer instance.
Restart the application server that is running Oracle BI Publisher to allow these changes to take effect.
Loglevel Can be set to any one of following: WARNING, DEBUG, FATAL, ERROR, TRACE, NOTIFICATION. MaxSessionPoolSize Determines the maximum number of Discoverer sessions that can be active and available at the same time.
Creating a report directly through the Oracle BI Publisher web interface gives you control over the naming of the report and affords you the option of creating sample data for layout development. This is helpful when the Discoverer Worksheet returns substantial amounts of data or has parameters with default values that return no data. In general, creating a report directly through the web interface is the preferred method of creating the report and data model. You may also create a report indirectly through the Oracle BI Publisher Template Builder add-in to Word. This method will create a report with a name that is of the form workbook.worksheet in the directory of your choosing in the Oracle BI Publisher report repository. This method does not allow you to change or set default parameter values or to limit the amount of data that is returned from the
Discoverer worksheet. This method is recommended only if the Discoverer worksheet returns a relatively small amount of data and does not have default parameter values that return no data. If the worksheet returns too much data, it will overwhelm the Template Builder. See Section 14.2.4, "Prerequisites, Limitations, and Known Issues." Conversely, if the worksheet has parameters with default values such that no data is returned, then no sample data will be available to build the layout template.
14.2.2 Creating a Report Directly Through the Oracle BI Publisher Web Interface
To create a report and data model based on a Discoverer worksheet through the web interface to the Oracle BI Publisher server:
1.
2.
Navigate to or make a directory to hold the report that you want to create.
3.
Click Create a new report in the Folder and Report Tasks frame on the left side of the browser page. Provide a name and click Create.
5.
Select Data Model from the Report tree and click the New button at the top of the tree to create a new data set.
6.
Under the General Settings section of the data set, optionally name the data set and select Oracle BI Discoverer in the Type field.
7.
Under the Details section of the data set, click the flashlight icon to the right of the Connection field. Navigate to and select the Discoverer connection that owns the worksheet that you want to use in the report.
8.
After you have selected a connection, click the flashlight icon to the right of the Worksheet field. Navigate to and select the workbook and then the worksheet that you want to use in the report.
The fully qualified path to the worksheet is entered in the Worksheet field. Regardless of whether the Discoverer worksheet is a tabular or crosstab layout, the Discoverer web service returns the data to Oracle BI Publisher as flat tabular data. This is by design so that you can take full advantage of the layout capabilities in BI Publisher. You can lay out this data as a crosstab in BI Publisher.
9.
Save the report by clicking the Save icon on the upper-left side of the page below the navigation links to the report.
10. Once the report is saved, click the View link in the upper-right corner of the screen
to the right of the navigation links to see that the Discoverer worksheet that you selected returns data to the report. If the worksheet contains parameters, then you might need to select values other than the default ones and click View to get the worksheet to return data.
You have successfully created a report with a data model based on a Discoverer worksheet. At this point, you can continue by creating a layout template by using either the online method or offline method. Continue with the section entitled Section 14.2.3.1, "About Creating Layout Templates".
Then run the BIPublisherDesktop.exe that is downloaded. This installs Oracle BI Publisher Template Builder. Note that you should exit all Microsoft Office products before installing and that you may also be prompted to download and install Microsoft .Net 2.0 if it is not already installed. After the installation is finished, continue with the following steps.
1.
Start Microsoft Office Word. Connect to the Oracle BI Publisher server by selecting Log On from the Oracle BI Publisher menu.
2.
In the Oracle BI Publisher Login dialog, supply your Oracle BI Publisher user name and password. Note that, if this is the first time that you are logging into the Oracle BI Publisher server, then you must supply the report server URL (for example, myserver.company.com:7779/xmlpserver).
After the first log in, you can select the Report Server from the drop-down list.
3.
Once connected, you see the Open Template dialog. Select Discoverer from the Workspace list.
4.
5.
Once you have selected a Discoverer connection, the Open Template dialog will show a list of workbooks on the left. As you select workbooks, the worksheets will show in the right pane. Navigate through the workbooks and select a worksheet by double-clicking the worksheet name.
6.
You are prompted to save the worksheet as an Oracle BI Publisher report. You can navigate through the Oracle BI Publisher report repository and choose the folder where the report will be created.
A report will be created that has a name of the form workbook.worksheet and it will use that worksheet as the data set. You cannot name or rename the report from this dialog or from the Template Builder. If a report already exists with that name, then a new report will not be created and the existing report will remain as it is. If you want to rename the report, then use the web interface to the Oracle BI Publisher report server. At this point you can proceed with creating a layout template by following the online method described below. Continue with the section entitled Section 14.2.3.1, "About Creating Layout Templates".
Offline - meaning not connected to the Oracle BI Publisher report server. Using the offline method, you will generate sample XML data for your report. This method has the advantage that you will be placing no load on the report server or underlying data source while creating your layout. It is also the preferred method if your report returns a large amount of data or has parameters that need to be set to limit the amount of data returned or to ensure that some data is returned. Online - meaning connected to the Oracle BI Publisher report server. The online method allows you to connect directly to the report server to download report data. This method is suitable if your report has been set up to provide a reasonable amount of data. This method also can be seamlessly integrated with the indirect method of creating a Discoverer report as described above.
Generate sample XML data. From the Oracle BI Publisher web interface, navigate to the report that you want to create a layout against, and select View to see the report output. If there are parameters that can be set to either reduce the amount of data or to ensure that some data is returned, then set the parameter values and click the View button.
Oracle BI Publisher Integration with Oracle BI Discoverer 14-11
Then select Data from the menu to the left of the View button and click the Export button.
A new browser or tab opens that contains the exported XML data.
Using the web browser File menu, save the file with an XML extension. If the size of the XML file is still excessive, then open it in a text editor and remove data from the file to get it to a smaller size. Ensure that you preserve the tag structure in the file. Ensure that you have enough data so that previewing the report shows how the actual report will be generated. For example, if you plan to group data by year, then ensure that you include some data from at least two years, so that you can confirm that the grouping displays as you want.
2.
Upload the sample XML data file to the Template Builder. After you generate the sample XML data file, move it to the machine where you are running the Template Builder. From the Oracle BI Publisher menu or the Template Builder toolbar, load the sample XML data.
3.
Create a layout template. Now that you have uploaded the sample XML data to the Template Builder, you can use the Template Builder Insert menu and toolbar to launch wizards and dialogs that help you create the layout template. You can also insert whatever boilerplate text you want as well as format fields and tables using standard Microsoft Office Word layout and formatting functionality. The following figure shows the Template Builder Insert Menu:
14-13
You can also manually include data field tags and other markup in the template using BI Publisher's simplified tags for XSL expressions. These tags associate the XML report data to the report layout. If you are familiar with XSL and prefer not to use the simplified tags, then Oracle BI Publisher also supports the use of pure XSL elements in the template. See the section "Creating an RTF Template" in the Oracle Business Intelligence Publisher User's Guide for more details, available from the Documentation pages on the Oracle Technology Network (OTN) or directly at: http://download.oracle.com/docs/cd/E10091_ 01/doc/bip.1013/b40017/T421739T481157.htm
4.
Save the layout template as an RTF file. From the File menu, select Save As. Ensure that you set the type to Rich Text Format (*.rtf).
5.
Preview the report output. After you have created and formatted the layout, you can preview it in the desired output format from the Template Builder to confirm that you have created the layout exactly as you want. Previewing will generate the output document, merging the layout template that you just created with the data that is loaded in the Template Builder.
Select the desired output format from the Preview menu item on the Template Builder toolbar or from the Oracle BI Publisher menu.
You will see the generated document in the application suitable for displaying the requested output format. The following figure shows an example of previewing PDF output in Adobe Reader.
14-15
6.
Upload the RTF template to the report. Once you have made the desired changes to the RTF template, save it to the file system. Return to the Oracle BI Publisher web interface and navigate to the report that is associated with this layout template. From within the report edit page of the Oracle BI Publisher web interface, select Layouts from the Report tree. In the Manage Template Files section of the Create Layouts frame, click the Browse button to select the RTF template. Once the RTF template is selected and the Upload Template field is populated with the full path to the RTF template, click the Upload button.
You will then see the uploaded template in the Manage Template Files section of the page.
7.
Create a named layout and associate it with the template file. From the report tree, with Layouts still selected, click the New button at the top of the report tree. This will create a new layout.
Provide a name for the layout and associate it with the template file that you uploaded. You can also optionally determine what output formats are available for this layout.
8.
Save the report. Ensure that you save the changes that you have made to the report by clicking the Save button below the path to the report.
9.
14-17
Connect to the Oracle BI Publisher report server through the Template Builder.
Note:
If you have followed the method above to create a report indirectly through the Oracle BI Publisher Template Builder, you will already be logged on to the Oracle BI Publisher Server and the report will already be open. Skip ahead to Step 3 Create a layout template.
If you have not already logged on to the Oracle BI Publisher server, then do so by following these steps:
a.
Start Microsoft Office Word. Connect to the Oracle BI Publisher server by selecting Log On from the Oracle BI Publisher menu.
b.
In the Oracle BI Publisher Login dialog, supply your Oracle BI Publisher user name and password. Note that if this is the first time that you are logging into the Oracle BI Publisher server, then you must supply the report server URL (for example, myserver.company.com:7779/xmlpserver).
2.
Create or open the desired report. The method for creating a report indirectly through the Template Builder is described above in the section entitled Section 14.2.3, "Creating a Report Indirectly Through Oracle BI Publisher Template Builder". To open a report that is already created, in the Open Template dialog, select BI Publisher as the Workspace. Navigate through the folder tree until the report that you want appears in the list of reports.
Select the report name and click Open Report. Alternatively, select the report and then select <New> or any one of the existing layout templates listed in the Layout Templates section and click Open Layout Template. Once you have opened an existing report or layout template or created a new report or new layout template, the data model definition and fields and data will be loaded into the Template Builder and you can start to create the layout template.
3.
Create a layout template. Now that you have opened or created a report based on a Discoverer worksheet, you can use the Template Builder Insert menu and toolbar to build the layout template. See Step 3 in Section 14.2.3.2, "Creating a Layout Template Offline" for guidance on creating a layout template.
4.
Save the layout template as an RTF file. From the File menu, select Save As. Ensure that you set the type to Rich Text Format (*.rtf). See Step 4 in Section 14.2.3.2, "Creating a Layout Template Offline".
5.
Preview the report output. See Step 5 in Section 14.2.3.2, "Creating a Layout Template Offline".
6.
Upload the RTF layout template to the Oracle BI Publisher server. Once you have completed the layout template, upload it to the BI server. Select Upload Template As from the Oracle BI Publisher menu.
14-19
If this is a new template, then you are prompted for a template name. Enter the template name and click OK.
Once the template is uploaded, you see a notification dialog. Click OK.
14.2.4.1 Prerequisites
The following are prerequisites for this release:
Oracle BI Publisher 10.1.3.3 Oracle BI Discoverer 10.1.2.3 or Discoverer 10.1.2.2 with a Discoverer one-off patch that includes the Discoverer Web Service Discoverer configured to use Oracle Application Server Identity Management
14.2.4.2 Limitations
The following are limitations with this release:
Only one Discoverer Web Service may be configured per Oracle BI Publisher server or cluster. An Oracle BI Publisher report may only contain one data set based on a Discoverer worksheet. Discoverer web service does not support Oracle Applications Single Sign On (SSO), Oracle Applications ICX and non-SSO modes.
Issue: Oracle BI Publisher cannot communicate with Discoverer web service when Discoverer is configured with Secure Socket Layer (SSL) (i.e. uses https://) Description: You might be unable to make any calls to the Discoverer web service. You might see errors such as "SSL received a record that exceeded the maximum permissible length." Workaround: When using a web service that is protected via SSL, you might need to export the certificate from the web server that is hosting the web service and import it into the Java keystore on the machine that is running BI Publisher. This step should not be required if the server certificate is linked to some certificate authority (such as Verisign); the default Java keystore can handle that. But if the web service server is using some self-generated certificate (e.g., in a testing environment), then you must perform the export and import.
Issue: Discoverer server CPU hits 100%. Description: If a report that is based on a Discoverer worksheet takes several minutes to return data and a user becomes impatient and repeatedly clicks the View or Export buttons, then this can overwhelm the Discoverer Server with requests and it might stop responding. Workaround: There is no workaround for this issue except to not repeatedly click on the View or Export buttons while waiting for a report to return data.
Issue: Oracle BI Publisher does not return values for a Discoverer worksheet parameter's list of values past the 1000th value. Description: Oracle BI Publisher limits the number of values in a list of values to 1000.
14-21
Workaround: Administrators can change this limit by setting the property DISCO_ LOV_LIMIT in the xmlp-server-config.xml file. Example:
<property name=" DISCO_LOV_LIMIT " value="2000"/>
Note that the larger the list of values, the slower it will render.
Issue: See the following error when trying to open a report in the Template Builder: "'Error occurred. Please check the settings and try again.'" Description: You might be loading a report that returns too much data for the Template Builder to handle. Workaround: Use the method described above for creating a layout template offline. Ensure that you reduce the amount of data in the generated XML file.
15
Performance Improvements for Oracle BI Publisher
Oracle BI Publisher 10.1.3.3 has added performance improvements to its already fast Formatting Objects Processor (FOP) and Bursting engine. If you are running BI Publisher on a multiprocessor machine or on multicore processors, you can take better advantage of your hardware. To enable these performance improvements, go to the Runtime Configuration page on either the Admin page or by following the Configure link for a specific report.
15
Leave these settings at the default if your system does not have multicore processors or more than one processor. Setting "Enable multithreading" to True and "Thread count" to some number greater than the number of cores on the machine will lead to higher CPU usage without any gain in performance.
The amount of performance gain seen by enabling this setting will depend on how much the current system resources are utilized. On a system that has numerous users running and relatively high CPU utilizations, you will likely only see minor improvements after setting "Enable multithreading" to True. If the system is used by only a few users, or reports are scheduled sequentially one at a time, or the number of CPUs is more than the number of concurrent reports, then turning on multiple threads will speed up report generation.
Note:
These properties can be set at the server and report level. See "Setting Runtime Properties" in the Oracle Business Intelligence Publisher User's Guide for more information on setting properties.
Note:
If you are running BI Publisher on a single-core, one processor machine, leave these multithreading configuration settings at the default value of False.
16
Converting Reports from Oracle Reports to Oracle BI Publisher
This chapter describes how to convert reports from Oracle Reports to Oracle BI Publisher.
16
16.1 Overview
Oracle BI Publisher provides a utility for converting reports from Oracle Reports to Oracle BI Publisher. In Oracle Reports, the data model (SQL query or extraction logic) and layout are contained in a single file. In Oracle BI Publisher the data model and the layout are separate objects. The conversion utility therefore generates several files that will make up your report in Oracle BI Publisher. In most cases this will include a PL/SQL specification and body that you will need to create in the database that contains the data for the report. The utility will also generate a report definition file and a layout template file that you will upload to the Oracle BI Publisher repository. Once uploaded, test the report to ensure that the output is as expected and make any changes to the report as needed. Some reports will contain structures that the utility cannot convert. These must be manually implemented in the converted reports. The overall flow for the conversion process is as follows:
1. 2. 3. 4.
Run the conversion utility. Load the PL/SQL package into the database. Upload the report to the Oracle BI Publisher repository. Test the report and check the conversion log files to identify any manual modifications needed to complete the conversion.
16.2 Prerequisites
This section describes the steps required before running the conversion utility.
Conversion Utility
later on the same machine where you will do the conversion so that the Oracle BI Publisher conversion utility can call the rwconverter executable to get the reports into Oracle Reports XML format. To get Oracle Reports Designer, download Oracle Developer Suite 10g (10.1.2.0.2) from: http://www.oracle.com/technology/software/products/ids/index.html and install Reports Designer. If your reports are already in Oracle Reports XML format, there is no need to install Oracle Reports.
For customers using Oracle Enterprise Business Suite (EBS), these libraries are available under JAVA_TOP. If these libraries are not there, the corresponding classes will be there under the JAVA_TOP. For customer using Oracle BI Publisher Enterprise (sometimes referred to as "standalone"), all these libraries are available under WEB-INF\lib. Example: C:\Oracle\bi\oc4j_ bi\j2ee\home\applications\xmlpserver\xmlpserver\WEB-INF\lib
-source (required) Source directory for Oracle Reports files. All reports must be in the same format - either RDF or XML. -target (required) Target directory to create Oracle BI Publisher report objects. This includes the Oracle BI Publisher Report file (.xdo), the layout template file (.rtf), the PL/SQL package, and log file. -oraclehome (optional) If your reports are in Oracle Reports XML format do not specify this parameter. If your reports are not in Oracle Reports XML format, specify the Oracle home path where Oracle Report Designer (9i or later version) is installed. BIPBatchMigration assumes that rwconverter is contained in the bin directory beneath the Oracle Home path. BIPBatchConversion requires rwconverter from Oracle Reports to convert the report from RDF format to XML format.
Conversion Utility
-debug (optional) To run the utility in debug mode and write debug statements to the log file.
Example 162
See the Oracle BI Publisher 10.1.3.3 Java API reference (Javadoc) for more details on this utility and other related conversion APIs in the rdfparser package.
Report definition file that includes the Data Model (for example: REPORT.xdo) (Note: This file is not needed for E-Business Suite users; see the following note under DataTemplate.)
DataTemplate (for example: REPORT_template.xml) (Note: this is not required for Oracle BI Publisher Enterprise users because the data template is embedded in REPORT.xdo.)
Default PL/SQL package specification (for example: REPORTS.pls) Default PL/SQL package body (for example: REPORTB.pls) RTF Layout Template (for example: REPORT.rtf) Log file (for example: REPORT.log)
For example, assume you have a report called raxinv.rdf located in D:\reports\pay. Running this command:
java.exe -classpath D:\Jdev\project\xdocore.jar;d:\Jdev\project\collections.zip;d:\Jdev\project\aolj.j ar;d:\Jdev\project\xmlparserv2-904.jar oracle.apps.xdo.rdfparser.BIPBatchConversion -source d:\reports\pay -target d:\reports\pay\output -oraclehome D:\oracle\BIToolsHome_1 -debug
PL/SQL Package Specification: C:\BIPublisher_reports\ raxinv\raxinvS.pls PL/SQL Package Body: C:\BIPublisher_reports\ raxinv\raxinvB.pls Report definition file: C:\BIPublisher_reports\ raxinv\raxinv.xdo DataTemplate: C:\BIPublisher_reports\ raxinv\raxinv_template.xml RTF Layout Template: C:\BIPublisher_reports\raxinv\raxinv.rtf Log file: C:\BIPublisher_reports\raxinv\raxinv.log
<report_name>S.pls <report_name>B.pls
Run the PL/SQL package files against your Oracle Database as follows. This will create the PL/SQL package specification and body.
SQL> @C:\BIPublisher_reports\ raxinv\raxinvS.pls SQL> @C:\BIPublisher_reports\ raxinv\raxinvB.pls
Copy the report folders into the repository. Refresh the repository metadata.
If you have a file-based repository, copy the report folder structure to the file system. For example, suppose your repository path was set to: C:\oracle\bi\xmlp\XMLP For the report in the previous example, simply copy the report directory and all its files to the desired folder structure in the existing report repository. For example:
> copy C:\BIPublisher_reports\raxinv C:\oracle\bi\xmlp\XMLP\Shared Folders\Converted reports
If you are using the XML DB functionality of the Oracle Database as your report repository, there are several ways you can upload content. One method is through WebDAV. For options and details on how to load reports into your XML DB based repository, please refer to the following topics in the Oracle XML DB Developer's Guide (http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14259/toc.htm):
"Loading XML Content into Oracle XML DB" "FTP, HTTP(S), and WebDAV Access to Repository Data"
Once you have loaded report directories into your repository, log on to Oracle BI Publisher with administrator privileges and select "Refresh Metadata" from the System
Maintenance Section of the Oracle BI Publisher Admin page. Now all reports should be available for testing and execution.
17
Support for Digital Signature in PDF Documents
This chapter describes Oracle BI Publisher support for Digital Signature in PDF Documents.
17
17.1 Introduction
Oracle BI Publisher now enables you to add a digital signature to PDF output documents. Digital signatures enable you to verify the authenticity of the documents you send and receive. Oracle BI Publisher can access your digital ID file from a central, secure location and at runtime sign the PDF output with the digital ID. The digital signature verifies the signer's identity and ensures that the document has not been altered after it was signed. For additional information on digital signatures, see the following sources:
17.2 Prerequisites
Before you can implement digital signatures with Oracle BI Publisher output documents, you need the following:
A digital ID obtained from a public certificate authority or from a private/internal certificate authority (if for internal use only). You must copy the digital ID file to a secure location of the file system on the server that is accessible by the BI Publisher server.
Limitations
17.3 Limitations
Use of digital signatures with Oracle BI Publisher output documents has the following limitations:
Only a single digital ID can be registered with BI Publisher in this release. Future releases will support multiple digital IDs. Only reports submitted through BI Publisher's Schedule Report interface can include the digital signature. The digital signature is enabled at the report level; therefore, multiple templates assigned to the same report share the digital signature properties.
Register the digital ID in the BI Publisher Admin interface. Specify the Roles that are authorized to sign documents. (Optional for PDF templates) Add a signature field to the PDF template in which to place the digital signature at runtime. Enable Digital Signature for the report in the Runtime Configuration properties and specify the position to place the digital signature on the completed document. This can be a signature field (for PDF templates), general location (top left, top center, or top right), or you can specify x and y coordinates. Log in to BI Publisher as a user with an authorized role and submit the report through the BI Publisher scheduler, choosing PDF output. When the report completes it will be signed with your digital ID in the specified location of the document.
5.
Log in to BI Publisher with Administrator credentials. Select the Admin tab, and then from the Security Center menu select Digital Signature. The following screenshot shows the new Digital Signature entry available from the Admin tab.
3. 4. 5.
On the Digital Signature sub-tab, enter the file path to the digital ID file and enter the password for the digital ID. Enable the Roles that will have the authority to sign documents with this digital ID. Use the shuttle buttons to move Available Roles to the Allowed Roles list. Click Apply. The following screenshot shows the Digital Signature sub-tab:
Open the template in Adobe Acrobat Professional. Select Sign from the toolbar and then select Create a Blank Signature Field. The following figure displays this selection from the Adobe Acrobat Professional toolbar.
3.
Draw the signature field in the desired location on the template. When you are finished drawing (that is, when you release the mouse button), the Digital Signature Properties dialog will display. Assign a name to your signature field. The following figure shows an inserted digital signature field called "My_Signature."
4.
5.
Now perform the following task to configure BI Publisher to insert the digital signature to this field. Upload the template and configure the report:
1. 2.
Log in to BI Publisher with Developer or Administrator credentials. Upload the template to the appropriate report definition.
a. b. c. d. e. f.
Navigate to the report. Select the Edit link. From the Report definition pane select Layouts. Select Browse to locate your template, then select Upload. After the template uploads successfully, with Layouts still selected on the Report definition pane, select New to add a layout. In the General Settings of the Layout definition, enter a Name for your layout, then select the uploaded template from the list. Select the appropriate Template Type and Output Formats. Click Save.
g. 3. 4. 5. 6.
Select the Configure link for the report. Scroll down to the PDF Digital Signature group of properties. Set Enable Digital Signature to True. Enter the field name from the PDF template for the property Existing signature field name. The following screenshot shows the "My_Signature" field name entered into the properties field.
7.
Select Apply. Note that the runtime properties that you have just set are at the report level and not the template level. Therefore any templates associated with the report will now include the digital signature as specified in the Runtime Configuration properties for the report. When an Existing signature field name is specified, the template must contain the field for the signature to be applied.
17.4.2.2 Specifying a Location in the Document to Insert the Digital Signature (for RTF and PDF Templates)
When you specify a location in the document to place the digital signature, you can either specify a general location (Top Left, Top Center, or Top Right) or you can specify x and y coordinates in the document. You can also specify the field height and width. This is done through properties on the Runtime Configuration page. Therefore you do not need to alter the template to include a digital signature.
1. 2. 3. 4. 5. 6.
Log in to BI Publisher with Developer or Administrator credentials. Navigate to the report you wish to allow authorized users to sign with the digital ID. Select the Configure link for the report. Scroll to the PDF Digital Signature group of properties. Set Enable Digital Signature to True. Specify the location in the document where you want the digital signature to appear by setting the appropriate properties as follows (note that the signature is inserted on the first page of the document only):
Existing signature field name does not apply to this method. Signature field location provides a list containing the following values: Top Left, Top Center, Top Right. Choose one of these general locations and BI Publisher will insert the digital signature to the output document sized and
positioned appropriately. If you set this property, do not enter X and Y coordinates or width and height properties.
Signature field X coordinate using the left edge of the document as the zero point of the X axis, enter the position in points that you want the digital signature to be placed from the left. For example, if you want the digital signature to be placed horizontally in the middle of an 8.5 inch by 11 inch document (that is, 612 points in width and 792 points in height), enter 306. Signature field Y coordinate using the bottom edge of the document as the zero point of the Y axis, enter the position in points that you want the digital signature to be placed from the bottom. For example, if you want the digital signature to be placed vertically in the middle of an 8.5 inch by 11 inch document (that is, 612 points in width and 792 points in height), enter 396. Signature field width enter in points the desired width of the inserted digital signature field. This applies only if you are setting the X and Y coordinates. Signature field height enter in points the desired height of the inserted digital signature field. This applies only if you are setting the X and Y coordinates.
The following screenshot shows a report configured to place the digital signature at specific x and y coordinates in the document.
Log in to BI Publisher as a user with a role granted digital signature privileges. Navigate to the report that has been enabled for digital signature and select Schedule. Complete the scheduler fields, selecting PDF output, and then submit the job.
4.
18
Support for Postscript Printers
This chapter describes Oracle BI Publisher support for postscript printers.
18
18.1 Introduction
PDF is a popular output format for business reports and is printable from viewer software such as Adobe Reader. However, some reports require printing directly from the report server. For example, paychecks and invoices are usually printed as scheduled batch jobs. Some newer printers with Postscript Level 3 compliant Raster Image Processing can natively support PDF documents, but there are still many printers in business use that only support Postscript Level 2 that cannot print PDF documents directly. This release introduces native support for PostScript Level printers. Previously, to enable printing from the BI Publisher server to a PostScript printer a filter had to be configured to invoke a third-party utility to perform the conversion. Now BI Publisher provides the utility to convert PDF to PostScript 2.0. If your printer supports PostScript 2.0, you will no longer be required to use a third-party utility to print directly from the server.
Log in to Oracle BI Publisher as an Administrator. From the Admin tab, under the Delivery heading, select Printer. Select an existing print server, or to add a new one, click Add Server. Under the General properties, select PDF to PostScript from the Filter field list. The following screenshot shows the Filter field list of the print server definition.
Limitations
For information on setting up the other fields in the Print Server definition page see the Oracle Business Intelligence Publisher User's Guide. After completing all other required fields for the print server, you will be able to schedule reports to print directly from the BI Publisher server to any printer in your system that supports PostScript Level 2.
18.3 Limitations
This release of the PDF to PostScript converter has the following limitations:
Only PDF version 1.4 or earlier is supported. This is also the currently supported version of the Oracle BI Publisher PDF output. CID fonts, which are used mainly to support languages with large sets of glyphs like Chinese, Japanese, and Korean, are only supported when embedded in the PDF. Transparent and half-tone renderings are not supported. DeviceN color space is not supported. Shading patterns are not fully supported. Vertical writing is not supported.
19
19
Section 19.1, "Support for CSV Output" Section 19.2, "Report Definition Features" Section 19.3, "Report Viewing Features" Section 19.4, "New Property for LDAP Security Model"
BI Publisher's data template data source now provides native support for BLOB, CLOB, long, and raw data types. When defining parameters for your report, if you select Menu as your parameter type, you now have the option under the "Can select all" check box to choose between "Null value passed" and "All values passed". Previously, selecting "all" passed a null value by default. Properties added to the Runtime Configuration page: RTF Output: Default Font - enter the default font name and size (for example: Arial:12) to use when no font is defined. This is particularly useful to control the sizing of empty table cells in generated reports. HTML Output: Use percentage width for table columns - set this property to True to render table columns according to a percentage value of the total width of the table rather than as a value in points. FO Processing: * Disable external references - a "True" setting (default) disallows the importing of secondary files such as subtemplates or other XML documents during XSL processing and XML parsing. This increases the
security of your system. Set this to "False" if your report or template calls external files. * FO Parsing Buffer Size - (default 1,000,000) sets the size of the buffer for the FO Processor. When the buffer is full, the elements from the buffer will be rendered in the report. Reports with large tables or crosstabs may require a larger buffer to properly render those objects in the report. Increase the size of the buffer at the report level for these reports. Note that increasing this value will affect the memory consumption of your system.
Views created in the online Analyzer can be saved as templates. When in View mode, you will now see "Link to this Report" displayed on the page. This enables you to capture the URL of the currently viewed report. The Link to this Report selection has four options: Current Page No Header No Parameters Document Only
20
20
The 10.1.3.3.1 release of the Oracle Business Intelligence Enterprise Edition introduces the following new BI Publisher features:
Section 20.1, "Time Out Value for Web Service Data Sources" Section 20.2, "Bidirectional Function for eText Data Fields" Section 20.3, "Default Repository"
Navigate to the report, and select Edit. Under the report Data Model region, select the Web service data set. In the Details region, enter the desired time out period in seconds (default is 60 seconds).
For example:
<POSITION> 9 <LENGTH> 21 <FORMAT> Alpha <PAD> L, <DATA> BIDI(VENDOR_ADDRESS) <COMMENTS> Vendor Address
In this example, the data for the element VENDOR_ADDRESS will be treated as bidirectional.
Default Repository
If the "oracle.home" Java system property is set to a valid path, ${oracle.home} is replaced with that value. When BI Publisher is deployed on OC4J, ${oracle.home} is automatically set to a directory path where OC4J is installed. For example, in an OC4J deployment in which the OC4J home is C:\oc4j, the BI Publisher repository is automatically set to:
C:\oc4j\xdo\repository
Note that the repository can also be set through BI Publisher Admin screens as shown in the following figure:
Figure 201 Setting the BI Publisher Report Repository Through the Admin Screen
21
21
The 10.1.3.3.2 release of the Oracle Business Intelligence Enterprise Edition includes two new features for Oracle BI Publisher. These are described in the following sections:
Section 21.1, "Support for Document Cache" Section 21.2, "Support for New Output Types"
MHTML - (Mime HyperText Markup Language) this format enables you to save a Web page and its resources as a single MHTML file (.mht), in which all images and linked files will be saved as a single entity. Use this option if you want to send or save HTML output and retain the embedded images and stylesheet formatting. Excel2000 - choose this output type if you have Microsoft Excel 2000 or 2002. Note that although Excel2000 is a new choice, it is actually the Excel option that was available in previous releases. This option generates HTML that can be opened in Excel. It does not support embedded images. Excel - choose this output type if you have Microsoft Excel 2003 or later installed. This option generates an MHTML format file that can be opened in Excel 2003 or later. This option supports embedded images, such as charts and logos.
21-1
22
22
The 10.1.3.3.3 release of the Oracle Business Intelligence Enterprise Edition includes several new features for Oracle BI Publisher. These are described in the following sections:
Section 22.1, "BI Publisher Scheduler Setup Updates Including the Bundling of DataDirect Connect for JDBC Drivers" Section 22.2, ""Link to This Report" Can Now Be Set as a Report Option" Section 22.3, "Enhanced Support for Pagination Control in RTF Output" Section 22.4, "Support for Multiple Cascading Parameters" Section 22.5, "Support for Vertical Alignment of External Graphics" Section 22.6, "Support for Multiple Currency Symbol Displays in Report"
22.1 BI Publisher Scheduler Setup Updates Including the Bundling of DataDirect Connect for JDBC Drivers
The 10.1.3.3.3 release of BI Publisher includes the Hyperion-branded DataDirect Connect for JDBC drivers that you can use to set up connection to your BI Publisher scheduler database. These drivers can be used as an alternative to the native JDBC drivers provided by your database vendor. Because the DataDirect drivers are now packaged with BI Publisher, you no longer need to download and install the drivers manually. DataDirect Connect for JDBC drivers are provided for the following databases:
IBM DB2 v8.1, v9.1 Microsoft SQL Server 2000, 2005 Oracle 9i, Oracle 10g
Also in this release, the BI Publisher Scheduler Configuration page has been enhanced to facilitate the setup of the supported scheduler databases.
22-1
BI Publisher Scheduler Setup Updates Including the Bundling of DataDirect Connect for JDBC Drivers
22.1.2 Setting Up Connection to Your Scheduler Database Using the DataDirect Connect for JDBC Drivers
Perform the following steps to set up your scheduler database using the DataDirect Connect for JDBC drivers:
1. 2. 3. 4. 5.
Log in to BI Publisher with Administrator credentials and select the Admin tab. Under System Maintenance, select Scheduler Configuration. Enter the database connection information for your database using the appropriate connection string and database driver class as shown in the following sections. Enter the Username and Password for your database. The user must have permissions to connect to the database and create tables. Click Test Connection to ensure that BI Publisher can connect to the database. If the connection fails, ensure that you have entered the fields as shown and set up your database appropriately. Click Install Schema to install the BI Publisher scheduler schema to your database. Restart the BI Publisher application. (Conditional) If your Scheduler database is IBM DB2 or MySQL, set the size of the BLOB columns in the newly created scheduler tables in your database. See Section 22.1.3, "Setting the BLOB Column Size."
6. 7. 8.
Ensure that the user that you enter to configure the scheduler has been set up with a 32 K page size tablespace. If not, create the table and assign it to the user. The user must also have "Connect to database" and "Create tables" privileges.
BI Publisher Scheduler Setup Updates Including the Bundling of DataDirect Connect for JDBC Drivers
Select IBM DB2 v9 or IBM DB2 v8 from the list. Enter the following connection string parameters: jdbc:hyperion:db2://<hostname>:<port>;Database Name=<DATABASENAME> Example: jdbc:hyperion:db2:// 130.35.50.180:50000;DatabaseName=SAMPLE
hyperion.jdbc.db2.DB2Driver
Ensure that your Microsoft SQL Server is set up with mixed mode authentication. Also ensure that the user you enter to configure the scheduler has the "db_owner" role.
Database Type:
Select Microsoft SQL Server 2000 or Microsoft SQL Server 2005 from the list.
Connection String: Enter the following connection string parameters: jdbc:hyperion:sqlserver://<hostname>:<port>;Data baseName=<Databasename> Example: jdbc:hyperion:sqlserver://my.databaseserver.com: 1433;DatabaseName=BIPublisher Database Driver Class: hyperion.jdbc.sqlserver.SQLServerDriver
Ensure that the database user you enter has "connect" or "create session" and "create table" privileges and that the user has been assigned a quota (for example, 100M on USERS, 1M on TEMP).
Select Oracle 10g or Oracle 9i from the list. Enter the following connection string parameters: jdbc:oracle:thin:@<hostname>:<port#>:<oracle SID> Example: jdbc:oracle:thin:@bipub.mycompany.com:1521:b ipub
22-3
oracle.jdbc.driver.OracleDriver
You must download the MySQL JDBC driver and register it with the application server where BI Publisher is running. The MySQL JDBC driver can be downloaded from: http://www.mysql.com/products/connector/j/ See your application server documentation for information on registering the driver.
Database Type:
Connection String: Enter the following connection string parameters: jdbc:mysql://<hostname>:<port#>:<database name> Example: jdbc:mysql://localhost:3306/bipublisher Database Driver Class: com.mysql.jdbc.Driver
XML_DATA DOCUMENT_DATA
The following example shows the command to update the column size for an IBM DB2 database:
alter table xmlp_sched_output alter column STATUS_DETAIL set data type BLOB(1000000000);
See your database documentation for instructions on resetting the column size.
definition. This enhancement enables you to choose whether you want the report link available to users. By default, the "Show Report Links" property is enabled. To change the setting for a report:
1. 2. 3.
Log in to BI Publisher with Administrator or Report Developer credentials. Navigate to the desired report and click the Edit link. In the Report Properties pane of the report definition, under General Settings, select the Show Report Links box to enable the "Link to this Report" feature for the report. Deselect the box to disable the feature for the report.
Keep paragraph with the next paragraph Keep paragraph intact Table heading rows repeat Table row keep together
Select the paragraphs you want to keep together on a page. From the Format menu, select Paragraph, and then click the Line and Page Breaks tab. Select the Keep with Next box.
From the Format menu, select Paragraph, and then select the Line and Page Breaks tab. Deselect the Keep lines together check box.
22-5
1. 2.
Select the heading row or rows. From the Table menu, select Heading Rows Repeat.
Select the table. From the Table menu, select Table Properties, and then select the Row tab. Deselect the Allow row to break across pages check box.
Follow the guidelines in the Oracle Business Intelligence Publisher User's Guide for inserting an image using a URL reference:
1. 2. 3.
In your template, insert a dummy image. Select the image and open Microsoft Word's Format Picture dialog. Select the Web tab. In the Alternative text region, enter the following syntax to reference the image URL: url:{'http://image location'} For example: url:{'http://www.oracle.com/images/ora_logo.gif'}
4.
To format the vertical alignment, declare the XSL attribute value before the URL. For example, to align the image to the bottom of the text (text-bottom), enter the following: <xsl:attribute name="vertical-align">text-bottom</xsl:attribute> url:{'http://www.oracle.com/images/ora_logo.gif'}
To display each of these amounts with the appropriate currency symbol, enter the following in your template for the field in which you want the amounts to display: <?format-currency:Trans_Amount;Cur_Code;'true'?> The following figure shows sample output that can be achieved:
22-7
For more information on using the format-currency function, see the Oracle BI Publisher Blog entry, "Multi-Currency Reports" available here: http://blogs.oracle.com/xmlpublisher/2007/08/14 For more information about the ISO currency codes see the ISO Web site: http://www.iso.org/iso/home.htm
23
23
Section 23.1, "Overview of the Oracle BI Publisher Web Services" Section 23.2, "Oracle BI Publisher Web Services Data Types" Section 23.3, "Oracle BI Publisher Web Services Operations" Section 23.4, "Debugging Web Service Applications" Section 23.5, "Oracle BI Publisher Web Services WSDL"
Operations for validation of privileges Operations to get information about reports and the repository Operations to run and schedule reports
Enter this URL in your browser, substituting in the correct host and port number, to display the full Web Service Description Language definition for the publicly supported BI Publisher Web service. On some J2EE servers, this URL may not correctly display the WSDL for this Web service. Please refer to the section Section 23.5, "Oracle BI Publisher Web Services WSDL" to see the full definition.
Oracle Business Intelligence Publisher Web Services 23-1
<element name="multiValuesAllowed" type="xsd:boolean" /> <element name="name" nillable="true" type="xsd:string" /> <element name="values" nillable="true" type="impl:ArrayOf_xsd_string" /> </sequence> </complexType>
Description: the collection of settings needed to run a report. Note that allowable values for attributeFormat will vary according to the type of template used (for example, PDF templates can only generate PDF output.)
ReportResponse
<complexType name="ReportResponse"> <sequence> <element name="reportBytes" nillable="true" type="xsd:base64Binary" /> <element name="reportContentType" nillable="true" type="xsd:string" /> <element name="reportLocale" nillable="true" type="xsd:string" /> </sequence> </complexType>
Description: the document (in whatever file format attributeFormat is set to in ReportRequest), document type, and document locale that is returned from the runReport operation.
EMailDeliveryOption
<complexType name="EMailDeliveryOption"> <sequence> <element name="emailBCC" nillable="true" type="xsd:string"/> <element name="emailBody" nillable="true" type="xsd:string"/> <element name="emailCC" nillable="true" type="xsd:string"/> <element name="emailFrom" nillable="false" type="xsd:string"/> <element name="emailReplyTo" nillable="true" type="xsd:string"/> <element name="emailSubject" nillable="false" type="xsd:string"/> <element name="emailTo" nillable="false" type="xsd:string"/> </sequence> </complexType>
Description: the options to set for delivery of a report to the BI Publisher repository.
PrintDeliveryOption
<complexType name="PrintDeliveryOption"> <sequence> <element name="printNumberOfCopy" nillable="true" type="xsd:string"/> <element name="printRange" nillable="true" type="xsd:string"/> <element name="printSide" nillable="true" type="xsd:string"/> <element name="printTray" nillable="true" type="xsd:string"/> <element name="printerName" nillable="false" type="xsd:string"/> </sequence> </complexType>
Description: the options to set for Web-based Distributed Authoring and Versioning (WebDAV) delivery of a report.
DeliveryRequest
<complexType name="DeliveryRequest"> <sequence> Oracle Business Intelligence Publisher Web Services 23-5
<element name="emailOption" nillable="true" type="impl:EMailDeliveryOption"/> <element name="faxOption" nillable="true" type="impl:FaxDeliveryOption"/> <element name="ftpOption" nillable="true" type="impl:FTPDeliveryOption"/> <element name="localOption" nillable="true" type="impl:LocalDeliveryOption"/> <element name="printOption" nillable="true" type="impl:PrintDeliveryOption"/> <element name="webDAVOption" nillable="true" type="impl:WebDAVDeliveryOption"/> </sequence> </complexType>
Description: an object that provides the options to deliver a report to multiple destinations.
ScheduleRequest
<complexType name="ScheduleRequest"> <sequence> <element name="deliveryRequest" nillable="false" type="impl:DeliveryRequest"/> <element name="endDate" nillable="true" type="xsd:dateTime"/> <element name="jobCalendar" nillable="true" type="xsd:string"/> <element name="jobLocale" nillable="true" type="xsd:string"/> <element name="jobTZ" nillable="true" type="xsd:string"/> <element name="notificationTo" nillable="true" type="xsd:string"/> <element name="notifyWhenFailed" type="xsd:boolean" /> <element name="notifyWhenSuccess" type="xsd:boolean" /> <element name="notifyWhenWarning" type="xsd:boolean" /> <element name="repeatCount" type="xsd:int"/> <element name="repeatInterval" type="xsd:int"/> <element name="reportRequest" nillable="false" type="impl:ReportRequest"/> <element name="saveDataOption" type="xsd:boolean" /> <element name="saveOutputOption" type="xsd:boolean" /> <element name="scheduleBurstringOption" type="xsd:boolean" /> <element name="schedulePublicOption" type="xsd:boolean" /> <element name="startDate" nillable="true" type="xsd:dateTime"/> <element name="useUTF8Option" type="xsd:boolean" /> <element name="userJobName" nillable="true" type="xsd:string"/> </sequence> </complexType>
Description: message returned when the user credentials do not have adequate privileges to complete an operation.
OperationFailedException
<complexType name="OperationFailedException"> <sequence /> </complexType>
InvalidParametersException
<complexType name="InvalidParametersException"> <sequence /> </complexType>
Description: message returned when invalid parameters are supplied for a Web service operation.
Operations for validation of privileges Operations to get information about reports and the repository Operations to run and schedule reports
This section describes the input message, output message, possible exception messages and also provides sample code for each operation.
activation.jar mail-1.4.jar
Include xmlpserver.jar file (installed with Oracle BI Publisher) in your classpath. This is to ensure that you have all the required request and response objects. This way you will not need to generate response and request stub objects.
Generate the Required BI Publisher Stub Classes To generate the required BI Publisher stub classes to import to your project for this sample, perform the following:
1. 2.
Download the BI Publisher Web services WSDL. Run the following in a command file:
export CLASSPATH="D:/bin/axis-1_4/lib/axis.jar;D:/bin/axis-1_ 4/lib/jaxrpc.jar;D:/bin/axis-1_4/lib/saaj.jar;D:/bin/axis-1_ 4/lib/commons-logging.jar;D:/bin/axis-1_ 4/lib/commons-discovery.jar;D:/bin/axis-1_4/lib/wsdl4j.jar" echo $CLASSPATH java org.apache.axis.wsdl.WSDL2Java PublicReportService.wsdl
This will generate the following BI Publisher stub classes for you to import into your project:
import com.oracle.xmlns.oxp.service.PublicReportService.ItemData; Oracle Business Intelligence Publisher Web Services 23-7
Import the Required Apache Axis and Java Stub Classes In addition to importing the BI Publisher Web service stub classes that you generated, you must also import the following Apache Axis and Java classes:
import import import import import import import import import import import java.io.FileOutputStream; java.io.OutputStream; java.util.Calendar; org.apache.axis.client.Call; org.apache.axis.client.Service; org.apache.axis.encoding.XMLType; org.apache.axis.encoding.ser.BeanDeserializerFactory; org.apache.axis.encoding.ser.BeanSerializerFactory; javax.xml.namespace.QName; javax.xml.rpc.ParameterMode; java.net.URL;
Use validateLogin to validate that a UserID and Password have the privilege to access the Oracle BI Publisher report server. input message validateLoginRequest
<wsdl:message name="validateLoginRequest"> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
output message
validateLoginResponse
<wsdl:message name="validateLoginResponse"> <wsdl:part name="validateLoginReturn" type="xsd:boolean"/> </wsdl:message>
Example 231
public static void validateLogin() throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; final String reportPath = "/HR Manager/Employee Salary Report/Employee Salary Report.xdo"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("TESTING login Service BEGIN");
call.setOperationName(new QName(bipNamespace, "validateLogin")); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_BOOLEAN); // issue the request Boolean valid = (Boolean) call.invoke( new Object[] {"administrator", "Administrator"}); if (valid) { System.out.println("user valid"); } else { System.out.println("user invalid"); } System.out.println("Success for validateLogin"); }
hasReportAccess
Use hasReportAccess to validate that a UserID and Password have the privilege to access a specific report. input message hasReportAccessRequest
<wsdl:message name="hasReportAccessRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
output message
hasReportAccessResponse
<wsdl:message name="hasReportAccessResponse"> <wsdl:part name="hasReportAccessReturn" type="xsd:boolean"/> </wsdl:message>
Possible exceptions:
InvalidParametersException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 232 Sample Code for hasReportAccess
public static void hasReportAccess(String reportPath) throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; //final String bipEndpoint = "http://12.123.8232.107/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("TESTING hasReportAccess BEGIN"); call.setOperationName(new QName(bipNamespace, "hasReportAccess")); call.addParameter("reportAbsolutePath", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_BOOLEAN); // issue the request Boolean valid = (Boolean) call.invoke(
new Object[] {reportPath, "administrator", "Administrator"}); if (valid==true) { System.out.println("User has access."); } else { System.out.println("User does not have access"); } System.out.println("Success for AccessLogin"); }
Use getFolderContents to get all of the items in a folder. This will return all the reports and folders contained in the specified folder. You can then use these items to determine what reports you might want to execute or what folders you may want to further search to identify a report. input message getFolderContentsRequest
<wsdl:message name="getFolderContentsRequest"> <wsdl:part name="folderAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
output message
getFolderContentsResponse
<wsdl:message name="getFolderContentsResponse"> <wsdl:part name="getFolderContentsReturn" type="impl:ArrayOfItemData"/> </wsdl:message>
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 233 Sample Code for getFolderContents
public static void getFolderContent(String reportPath) throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("TESTING getFolderContent Service BEGIN"); // register the ReportDefinition class QName reportDef = new QName(bipNamespace, "ReportDefinition"); call.registerTypeMapping(ReportDefinition.class, reportDef, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setOperationName(new QName(bipNamespace, "getFolderContents")); call.addParameter("reportAbsolutePath", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ItemData [].class); // issue the request ItemData items[] = (ItemData []) call.invoke( new Object[] { reportPath, "administrator", "Administrator"}); for (int i=0; i<items.length; i++) { System.out.println(items[i].getDisplayName()); } System.out.println("Success for GetFolderContent"); }
getReportDefinition
Use getReportDefinition to get information about a report such as default template, output type and a listing of template IDs. Once you have a list of template IDs you may wish to generate a report with a template other than the default. input message getReportDefinitionRequest
<wsdl:message name="getReportDefinitionRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
output message
getReportDefinitionResponse
<wsdl:message name="getReportDefinitionResponse"> <wsdl:part name="getReportDefinitionReturn" type="impl:ReportDefinition"/> </wsdl:message>
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 234 Sample Code for getReportDefinition
public static void getReportDef(String xdofile) throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("BEGIN TESTING getReportDefinition"); // register the ReportDefinition class QName reportDef = new QName(bipNamespace, "ReportDefinition"); call.registerTypeMapping(ReportDefinition.class, reportDef, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue");
call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); call.setOperationName(new QName(bipNamespace, "getReportDefinition")); call.addParameter("reportAbsolutePath", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ReportDefinition.class); // issue the request ReportDefinition reportDefn = (ReportDefinition) call.invoke( new Object[] { xdofile, "administrator", "Administrator"}); System.out.println("Report Definition Returns with \n Default Output Format = " + reportDefn.getDefaultOutputFormat()); ParamNameValue params [] = reportDefn.getReportParameterNameValues(); if (params != null) { for (int i = 0; i < params.length; i++) { System.out.print("Parameter " + params[i].getName() + ":"); if (params[i].getValues() != null) { for (int j = 0; j < params[i].getValues().length; j++) System.out.print(" " + params[i].getValues()[j]); } else System.out.print(" null"); System.out.println(" - multiple values? " + params[i].isMultiValuesAllowed()); } } System.out.println("END TESTING getReportDefinition"); }
getReportParameters
Use getReportParameters to get an array of report parameters and their default values. Once you have the list of parameters you can set parameter values before running or scheduling a report. input message getReportParametersRequest
<wsdl:message name="getReportParametersRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
output message
getReportParametersResponse
<wsdl:message name="getReportParametersResponse"> <wsdl:part name="getReportParametersReturn" type="impl:ArrayOfParamNameValue"/> </wsdl:message>
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 235 Sample Code for getReportParameters
//final String bipEndpoint = "http://10.138.232.107/xmlpserver/services/PublicReportService?wsdl"; final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); System.out.println("BEGIN TESTING: getParameters Service"); // register the ReportRequest class QName reportReq = new QName(bipNamespace, "ReportRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); // Define parameters ParamNameValue[] paramNmVals = new ParamNameValue[2]; paramNmVals[0] = new ParamNameValue(false, false, "dept", null) ; paramNmVals[1] = new ParamNameValue(false, false, "emp", new String[] {"*"}) ; ReportRequest req = new ReportRequest("pdf", "en-US", "Simple", paramNmVals, xdofile);
call.setOperationName(new QName(bipNamespace, "getReportParameters")); call.addParameter( "ReportRequest", reportReq, ParameterMode.IN ); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ParamNameValue [].class); // issue the request ParamNameValue params [] = (ParamNameValue []) call.invoke( new Object[] { req, "administrator", "Administrator"}); if (params != null) { for (int i = 0; i < params.length; i++) { System.out.print("Parameter " + params[i].getName() + ":"); if (params[i].getValues() != null) { for (int j = 0; j < params[i].getValues().length; j++) System.out.print(" " + params[i].getValues()[j]); } else System.out.print(" null"); System.out.println(" - multiple values? " + params[i].isMultiValuesAllowed()); } } System.out.println("END TESTING: getParameters"); }
Use runReport to execute a report and return a generated document. Note that the document is returned in the specified file format.
input message
runReportRequest
<wsdl:message name="runReportRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
output message
runReportResponse
<wsdl:message name="runReportResponse"> <wsdl:part name="runReportReturn" type="impl:ReportResponse"/> </wsdl:message>
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 236 Sample Code for runReport
public static void runReport() throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; final String xdofile ="/HR Manager/Employee Salary Report/Employee Salary Report.xdo"; // set up the call object service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); // TEST Run Report System.out.println("TESTING runReport Service BEGIN"); // register the ReportRequest class QName reportReq = new QName(bipNamespace, "ReportRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the BIPReportResponse class QName reportRespqn = new QName(bipNamespace, "ReportResponse"); call.registerTypeMapping(ReportResponse.class, reportRespqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // Default return type based on what we expect call.setOperationName( new QName(bipNamespace, "runReport" )); call.addParameter( "ReportRequest", reportReq, ParameterMode.IN ); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnClass(ReportResponse.class);
ParamNameValue[] paramNmVals = new ParamNameValue[2]; paramNmVals[0] = new ParamNameValue(false, "dept", null) ; paramNmVals[1] = new ParamNameValue(false, "emp", new String[] {"*"}) ; ReportRequest req = new ReportRequest("pdf", "en-US", "Simple", paramNmVals, xdofile); // issue the reques ReportResponse reportResp = (ReportResponse) call.invoke( new Object[] {req, "Administrator", "Administrator"} ); System.out.println("Return ReportResponse: ContentType = " + reportResp.getReportContentType()); // Save the report byte[] binaryBytes = reportResp.getReportBytes(); OutputStream out = new FileOutputStream("D:\\temp\\out.pdf"); out.write(binaryBytes); out.close(); System.out.println("Success for Run Report"); }
scheduleReport
Use scheduleReport to schedule a report for execution and delivery to either printer, fax, email, WebDAV, ftp or simply save in the report repository. Jobs can be scheduled to run immediately, once, or on a recurring pattern and can have an end date to stop the recurrence. This operation returns JobID upon successfully scheduling the report job. input message scheduleReportRequest
<wsdl:message name="scheduleReportRequest"> <wsdl:part name="scheduleRequest" type="impl:ScheduleRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
output message
scheduleReportResponse
<wsdl:message name="scheduleReportResponse"> <wsdl:part name="scheduleReportReturn" type="xsd:string"/> </wsdl:message>
Possible exceptions:
InvalidParametersException AccessDeniedException OperationFailedException
See Section 23.3.5, "Messages for Errors" for descriptions of the possible exceptions.
Example 237 Sample Code for scheduleReport
public static void scheduleReport() throws Exception { final String bipEndpoint = "http://mycompany.com:9999/xmlpserver/services/PublicReportService?wsdl"; final String bipNamespace = "http://xmlns.oracle.com/oxp/service/PublicReportService"; final String xdofile ="/HR Manager/Employee Salary Report/Employee Salary Report.xdo";
// set up the call object service = new Service(); call = (Call) service.createCall(); call.setTargetEndpointAddress(new URL(bipEndpoint)); // TEST Run Report System.out.println("TESTING scheduleReport Service BEGIN"); // register the ReportRequest class QName reportReq = new QName(bipNamespace, "ReportRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the ParamNameValue class QName nmvals = new QName(bipNamespace, "ParamNameValue"); call.registerTypeMapping(ParamNameValue.class, nmvals, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the BIPReportResponse class (part of Schedule Request) QName reportRespqn = new QName(bipNamespace, "ReportResponse"); call.registerTypeMapping(ReportResponse.class, reportRespqn, BeanSerializerFactory.class, BeanDeserializerFactory.class); // register the Schedule Request class QName scheduleReq = new QName(bipNamespace, "ScheduleRequest"); call.registerTypeMapping(ReportRequest.class, reportReq, BeanSerializerFactory.class, BeanDeserializerFactory.class); // Default return type based on what we expect call.setOperationName( new QName(bipNamespace, "scheduleReport" )); call.addParameter( "ScheduleRequest", scheduleReq, ParameterMode.IN ); call.addParameter("userID", XMLType.XSD_STRING, ParameterMode.IN); call.addParameter("password", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType(XMLType.XSD_STRING); // Define Report Request Object ParamNameValue[] paramNmVals = new ParamNameValue[2]; paramNmVals[0] = new ParamNameValue(false, "dept", null) ; paramNmVals[1] = new ParamNameValue(false, "emp", new String[] {"*"}) ; ReportRequest report = new ReportRequest("pdf", "en-US", "Simple", paramNmVals, xdofile); // Define Email Delivery Options EMailDeliveryOption email = new EMailDeliveryOption("[email protected]", "Body", // bcc, boddy "[email protected]", // cc "[email protected]", "[email protected]", // from, reply to "Test Email Subject", "[email protected]" // subject, to ); // Define only email delivery DeliveryRequest delivery = new DeliveryRequest(email, null, null, null, null, null); ScheduleRequest req = new ScheduleRequest( delivery, // delivery options null, // enddate (Calendar.getInstance()) null, // job calendar "en-US", null, // job locale, timezone null, false, false, false, // notifications 1, 1, // repeat count, repeat interval report, // Report and Parameters "true", "true", // Save Data, Save Output "false", "true", // Bursting, Public null, // start date "true", // Use UTF-8 "my Job4" // job name
); // issue the request String result = (String) call.invoke( new Object[] {req, "Administrator", "Administrator"} ); System.out.println("Success for Schedule Report"); }
AccessDeniedException
<wsdl:message name="AccessDeniedException"> <wsdl:part name="fault" type="impl:AccessDeniedException"/> </wsdl:message>
InvalidParametersException
<wsdl:message name="InvalidParametersException"> <wsdl:part name="fault" type="impl:InvalidParametersException"/> </wsdl:message>
This launches the TCP monitor window. A sample of the window without any of the optional arguments is shown in the following figure:
To use the program, select a local port that tcpmon will monitor for incoming connections, a target host where it will forward such connections, and the port number on the target machine which should be "tunneled" to. Then click Add. Another tab will then display for your new tunneled connection. From there, you will see the SOAP Request and Response message, which facilitates debugging. The following figure shows the connection tab of the TCPMonitor window:
<wsdl:types> <schema targetNamespace="http://xmlns.oracle.com/oxp/service/PublicReportService" xmlns="http://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"/> <complexType name="ArrayOf_xsd_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/> </restriction> </complexContent> </complexType> <complexType name="ParamNameValue"> <sequence> <element name="multiValuesAllowed" type="xsd:boolean"/> <element name="name" nillable="true" type="xsd:string"/> <element name="values" nillable="true" type="impl:ArrayOf_xsd_string"/> </sequence> </complexType> <complexType name="ArrayOfParamNameValue"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ParamNameValue[]"/> </restriction> </complexContent> </complexType> <complexType name="ReportRequest"> <sequence> <element name="attributeFormat" nillable="true" type="xsd:string"/> <element name="attributeLocale" nillable="true" type="xsd:string"/> <element name="attributeTemplate" nillable="true" type="xsd:string"/> <element name="parameterNameValues" nillable="true" type="impl:ArrayOfParamNameValue"/> <element name="reportAbsolutePath" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="AccessDeniedException"> <sequence/> </complexType> <complexType name="OperationFailedException"> <sequence/> </complexType> <complexType name="InvalidParametersException"> <sequence/> </complexType> <complexType name="ReportResponse"> <sequence> <element name="reportBytes" nillable="true" type="xsd:base64Binary"/> <element name="reportContentType" nillable="true" type="xsd:string"/> <element name="reportLocale" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="ReportDefinition"> <sequence> <element name="defaultOutputFormat" nillable="true" type="xsd:string"/> <element name="defaultTemplateId" nillable="true" type="xsd:string"/> <element name="parameterNames" nillable="true" type="impl:ArrayOf_xsd_ string"/> <element name="reportParameterNameValues" nillable="true" type="impl:ArrayOfParamNameValue"/>
<element name="templateIds" nillable="true" type="impl:ArrayOf_xsd_string"/> </sequence> </complexType> <complexType name="ItemData"> <sequence> <element name="absolutePath" nillable="true" type="xsd:string"/> <element name="creationDate" nillable="true" type="xsd:dateTime"/> <element name="displayName" nillable="true" type="xsd:string"/> <element name="fileName" nillable="true" type="xsd:string"/> <element name="lastModified" nillable="true" type="xsd:dateTime"/> <element name="lastModifier" nillable="true" type="xsd:string"/> <element name="owner" nillable="true" type="xsd:string"/> <element name="parentAbsolutePath" nillable="true" type="xsd:string"/> <element name="type" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="ArrayOfItemData"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="impl:ItemData[]"/> </restriction> </complexContent> </complexType> <complexType name="EMailDeliveryOption"> <sequence> <element name="emailBCC" nillable="true" type="xsd:string"/> <element name="emailBody" nillable="true" type="xsd:string"/> <element name="emailCC" nillable="true" type="xsd:string"/> <element name="emailFrom" nillable="true" type="xsd:string"/> <element name="emailReplyTo" nillable="true" type="xsd:string"/> <element name="emailSubject" nillable="true" type="xsd:string"/> <element name="emailTo" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="FaxDeliveryOption"> <sequence> <element name="faxNumber" nillable="true" type="xsd:string"/> <element name="faxServer" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="FTPDeliveryOption"> <sequence> <element name="ftpServerName" nillable="true" type="xsd:string"/> <element name="ftpUserName" nillable="true" type="xsd:string"/> <element name="ftpUserPassword" nillable="true" type="xsd:string"/> <element name="remoteFile" nillable="true" type="xsd:string"/> <element name="sftpOption" type="xsd:boolean"/> </sequence> </complexType> <complexType name="LocalDeliveryOption"> <sequence> <element name="destination" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="PrintDeliveryOption"> <sequence> <element name="printNumberOfCopy" nillable="true" type="xsd:string"/> <element name="printRange" nillable="true" type="xsd:string"/> <element name="printSide" nillable="true" type="xsd:string"/> <element name="printTray" nillable="true" type="xsd:string"/>
<element name="printerName" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="WebDAVDeliveryOption"> <sequence> <element name="deliveryAuthType" nillable="true" type="xsd:string"/> <element name="deliveryAuthTypeBasic" nillable="true" type="xsd:string"/> <element name="deliveryAuthTypeDigest" nillable="true" type="xsd:string"/> <element name="password" nillable="true" type="xsd:string"/> <element name="remoteFilePath" nillable="true" type="xsd:string"/> <element name="server" nillable="true" type="xsd:string"/> <element name="userName" nillable="true" type="xsd:string"/> </sequence> </complexType> <complexType name="DeliveryRequest"> <sequence> <element name="emailOption" nillable="true" type="impl:EMailDeliveryOption"/> <element name="faxOption" nillable="true" type="impl:FaxDeliveryOption"/> <element name="ftpOption" nillable="true" type="impl:FTPDeliveryOption"/> <element name="localOption" nillable="true" type="impl:LocalDeliveryOption"/> <element name="printOption" nillable="true" type="impl:PrintDeliveryOption"/> <element name="webDAVOption" nillable="true" type="impl:WebDAVDeliveryOption"/> </sequence> </complexType> <complexType name="ScheduleRequest"> <sequence> <element name="deliveryRequest" nillable="true" type="impl:DeliveryRequest"/> <element name="endDate" nillable="true" type="xsd:dateTime"/> <element name="jobCalendar" nillable="true" type="xsd:string"/> <element name="jobLocale" nillable="true" type="xsd:string"/> <element name="jobTZ" nillable="true" type="xsd:string"/> <element name="notificationTo" nillable="true" type="xsd:string"/> <element name="notifyWhenFailed" type="xsd:boolean"/> <element name="notifyWhenSuccess" type="xsd:boolean"/> <element name="notifyWhenWarning" type="xsd:boolean"/> <element name="repeatCount" type="xsd:int"/> <element name="repeatInterval" type="xsd:int"/> <element name="reportRequest" nillable="true" type="impl:ReportRequest"/> <element name="saveDataOption" type="xsd:boolean"/> <element name="saveOutputOption" type="xsd:boolean"/> <element name="scheduleBurstringOption" type="xsd:boolean"/> <element name="schedulePublicOption" type="xsd:boolean"/> <element name="startDate" nillable="true" type="xsd:dateTime"/> <element name="useUTF8Option" type="xsd:boolean"/> <element name="userJobName" nillable="true" type="xsd:string"/> </sequence> </complexType> </schema> </wsdl:types> <wsdl:message name="runReportResponse"> <wsdl:part name="runReportReturn" type="impl:ReportResponse"/> </wsdl:message> <wsdl:message name="scheduleReportResponse"> <wsdl:part name="scheduleReportReturn" type="xsd:string"/>
</wsdl:message> <wsdl:message name="getReportDefinitionRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="getReportParametersResponse"> <wsdl:part name="getReportParametersReturn" type="impl:ArrayOfParamNameValue"/> </wsdl:message> <wsdl:message name="getReportParametersRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="InvalidParametersException"> <wsdl:part name="fault" type="impl:InvalidParametersException"/> </wsdl:message> <wsdl:message name="getFolderContentsResponse"> <wsdl:part name="getFolderContentsReturn" type="impl:ArrayOfItemData"/> </wsdl:message> <wsdl:message name="OperationFailedException"> <wsdl:part name="fault" type="impl:OperationFailedException"/> </wsdl:message> <wsdl:message name="AccessDeniedException"> <wsdl:part name="fault" type="impl:AccessDeniedException"/> </wsdl:message> <wsdl:message name="validateLoginResponse"> <wsdl:part name="validateLoginReturn" type="xsd:boolean"/> </wsdl:message>
<wsdl:message name="scheduleReportRequest"> <wsdl:part name="scheduleRequest" type="impl:ScheduleRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="runReportRequest"> <wsdl:part name="reportRequest" type="impl:ReportRequest"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="getFolderContentsRequest"> <wsdl:part name="folderAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="getReportDefinitionResponse"> <wsdl:part name="getReportDefinitionReturn" type="impl:ReportDefinition"/> </wsdl:message> <wsdl:message name="hasReportAccessRequest"> <wsdl:part name="reportAbsolutePath" type="xsd:string"/> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message> <wsdl:message name="hasReportAccessResponse"> <wsdl:part name="hasReportAccessReturn" type="xsd:boolean"/> </wsdl:message> <wsdl:message name="validateLoginRequest"> <wsdl:part name="userID" type="xsd:string"/> <wsdl:part name="password" type="xsd:string"/> </wsdl:message>
<wsdl:portType name="PublicReportService"> <wsdl:operation name="getReportParameters" parameterOrder="reportRequest userID password"> <wsdl:input message="impl:getReportParametersRequest" name="getReportParametersRequest"/> <wsdl:output message="impl:getReportParametersResponse" name="getReportParametersResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="validateLogin" parameterOrder="userID password"> <wsdl:input message="impl:validateLoginRequest" name="validateLoginRequest"/> <wsdl:output message="impl:validateLoginResponse" name="validateLoginResponse"/> </wsdl:operation> <wsdl:operation name="runReport" parameterOrder="reportRequest userID password"> <wsdl:input message="impl:runReportRequest" name="runReportRequest"/> <wsdl:output message="impl:runReportResponse" name="runReportResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="getReportDefinition" parameterOrder="reportAbsolutePath userID password"> <wsdl:input message="impl:getReportDefinitionRequest" name="getReportDefinitionRequest"/> <wsdl:output message="impl:getReportDefinitionResponse" name="getReportDefinitionResponse"/> <wsdl:fault message="impl:InvalidParametersException"
name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="getFolderContents" parameterOrder="folderAbsolutePath userID password"> <wsdl:input message="impl:getFolderContentsRequest" name="getFolderContentsRequest"/> <wsdl:output message="impl:getFolderContentsResponse" name="getFolderContentsResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="scheduleReport" parameterOrder="scheduleRequest userID password"> <wsdl:input message="impl:scheduleReportRequest" name="scheduleReportRequest"/> <wsdl:output message="impl:scheduleReportResponse" name="scheduleReportResponse"/> <wsdl:fault message="impl:InvalidParametersException" name="InvalidParametersException"/> <wsdl:fault message="impl:AccessDeniedException" name="AccessDeniedException"/> <wsdl:fault message="impl:OperationFailedException" name="OperationFailedException"/> </wsdl:operation> <wsdl:operation name="hasReportAccess" parameterOrder="reportAbsolutePath userID password"> <wsdl:input message="impl:hasReportAccessRequest" name="hasReportAccessRequest"/> <wsdl:output message="impl:hasReportAccessResponse" name="hasReportAccessResponse"/> <wsdl:fault message="impl:InvalidParametersException"
name="InvalidParametersException"/> </wsdl:operation> </wsdl:portType> <wsdl:binding name="PublicReportServiceSoapBinding" type="impl:PublicReportService"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <wsdl:operation name="getReportParameters"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getReportParametersRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="getReportParametersResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService"
use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="validateLogin"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="validateLoginRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="validateLoginResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> </wsdl:operation> <wsdl:operation name="runReport"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="runReportRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="runReportResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/>
</wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getReportDefinition"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getReportDefinitionRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="getReportDefinitionResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="getFolderContents"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="getFolderContentsRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="getFolderContentsResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault>
<wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="scheduleReport"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="scheduleReportRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="scheduleReportResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="AccessDeniedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="AccessDeniedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> <wsdl:fault name="OperationFailedException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="OperationFailedException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService"
use="encoded"/> </wsdl:fault> </wsdl:operation> <wsdl:operation name="hasReportAccess"> <wsdlsoap:operation soapAction=""/> <wsdl:input name="hasReportAccessRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:input> <wsdl:output name="hasReportAccessResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:output> <wsdl:fault name="InvalidParametersException"> <wsdlsoap:fault encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" name="InvalidParametersException" namespace="http://xmlns.oracle.com/oxp/service/PublicReportService" use="encoded"/> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="PublicReportServiceService"> <wsdl:port binding="impl:PublicReportServiceSoapBinding" name="PublicReportService"> <wsdlsoap:address location="http://localhost:8080/xmlpserver/services/PublicReportService"/> </wsdl:port> </wsdl:service> </wsdl:definitions>
Part III
Part III
Chapter 24, "Installing Oracle Business Intelligence for Microsoft Office" Chapter 25, "Microsoft Office Support" Chapter 26, "New Features in Release 10.1.3.3.1" Chapter 27, "New Features in Release 10.1.3.3.3"
24
Installing Oracle Business Intelligence for Microsoft Office
Oracle Business Intelligence for Microsoft Office includes the Oracle Business Intelligence Office server and the Oracle Business Intelligence Add-in for Microsoft Office client. The client includes both the Oracle BI Office Add-In for Microsoft Excel and the Oracle BI Office Add-in for Microsoft PowerPoint. This chapter describes how to install and configure the BI Office server and client. This chapter includes the following topics: Section 24.1, "System Requirements" Section 24.2, "Installing the BI Office Server" Section 24.3, "Deploying the BI Office Server on J2EE Application Servers" Section 24.4, "Installing the BI Office Client" Section 24.5, "Setting Properties in the bioffice.xml Configuration File" Section 24.6, "Setting Up SSL-Enabled OC4J for BI Office" Section 24.7, "Setting Up an SSO-Enabled Oracle BI Presentation Server for BI Office"
24
24-1
Oracle Application Server 10.1.3.3 Apache Tomcat 5.5x on Linux BEA Weblogic 9.x IBM Websphere Application Server 5.1 on Windows IBM Websphere Application Server 6.0, 6.1 Sun Java System Web Server 6.1, 7.0
Deploys the bioffice.ear file. Initializes values in the BI Office configuration file. Copies the client OracleBIOffice.exe file to the location where Presentation Services is running. Updates the instanceconfig.xml file with the location of the client OracleBIOffice.exe. Backs up the BI Office server configuration file, bioffice.xml, to a subdirectory under <OracleBI_Home>/Install_Backup/<upgrade_timestamp>.
Note:
During an upgrade installation this file is used to retain the existing configuration settings.
The basic BIEE install option deploys the bioffice.ear to the standalone OC4J home. The advanced BIEE install option creates a new OC4J instance called "bioffice" in Oracle Application Server and deploys the bioffice.ear to this new OC4J instance.
In a BIEE basic install, it is installed under <OracleBI_Home>/oc4j_ bi/j2ee/home/applications/bioffice/bioffice/WEB-INF/bioffice.xml In a BIEE advanced install, it is installed under ORACLE_ HOME/j2ee/bibioffice/applications/bioffice/bioffice/WEB-INF/bioffice.xml In a BIEE install with IBM WebSphere 5.1 (Windows), it is installed under C:\Program Files\WebSphere\AppServer\installedApps\<server name>\bioffice.ear\bioffice.war In a BI EE install with Apache Tomcat 5.5 (Windows), it is installed under C:\Program Files\<Apache_Home>\Tomcat 5.5\webapps\bioffice In other non-Oracle Application Servers, it is installed under the bioffice application directory, parallel to the Oracle BI analytics application.
The Oracle BI EE installer configures the BI Office server to point to the Oracle BI Presentation Services server by setting the property "SawBaseURL" in the bioffice.xml file. To configure the Oracle BI Office server to point to a different Presentation Services server, modify this property with the new Presentation Services URL. For more details about other properties in the bioffice.xml file, see Section 24.5, "Setting Properties in the bioffice.xml Configuration File".
From a browser, open the Web application deployment page for your J2EE application server. Locate the bioffice.ear or bioffice.war under OracleBI/office/server. Using the guidelines for your application server, deploy the bioffice.ear or bioffice.war file as an application named "bioffice" to your J2EE application server environment.
Make the BI Office Client Executable Available to Presentation Services (Required for 10.1.3.3 only):
Note:
Do not perform this step if you are installing Oracle BI EE version 10.1.3.3.1. In the 10.1.3.3.1 release, the installer automatically places the BI Office Client install executable in the deployed analytics/analytics/client directory.
Copy the <OracleBI_Home>/office/client directory to the deployed analytics/analytics/client directory. Update Configuration Files:
Installing Oracle Business Intelligence for Microsoft Office 24-3
1.
Locate the instanceconfig.xml file in the directory <OracleBI_ Home>/web/config. Add the following entry to the file:
<BIforOfficeURL>client/OracleBIOffice.exe</BIforOfficeURL>
For more information on modifying instanceconfig.xml, refer to the Oracle Business Intelligence Presentation Services Administration Guide.
Note:
2.
Update the bioffice.xml file to point to the Presentation Services server. Update the property <SawBaseURL> with the hostname and port of the Presentation Services server. See Section 24.5, "Setting Properties in the bioffice.xml Configuration File" for the file location and more information.
Log in to Oracle BI Answers or Oracle BI Interactive Dashboards with your Oracle BI EE user credentials. Select the More Products link and then select Download Oracle BI for Microsoft Office.
3. 4.
A dialog will prompt you to run or save OracleBIOffice.exe. Save the file to your local directory. Navigate to the saved location. Close all Microsoft Office applications. Double-click OracleBIOffice.exe to launch the installer. Microsoft .Net Framework 2.0 is required for the BI Office client. If it is not installed on your computer you will be prompted to exit and install Microsoft .Net Framework 2.0 from the Microsoft Web site.
Note:
In the Oracle BI EE version 10.1.3.3, Microsoft .Net Framework 2.0 was included with the BI Office client installer. If you are installing this version, you will be prompted to install Microsoft .Net Framework 2.0 without being required to exit.
In addition, if the following prerequisites are not on your computer, you will be prompted to install them:
Office2003-kb907417sfxcab-ENU_Patch Shared Add-In Extensibility Microsoft .Net 2.0 Shared Add-In Support Update Microsoft .Net 2.0
After installing the prerequisites, you may be prompted to restart your computer. After restarting, navigate back to the location of the OracleBIOffice.exe file and double-click to reinitiate the install.
5. 6. 7.
From the Welcome screen, select Next. In the Customer Information screen, enter your User Name and Company Name, and select the desired sharing option. On the Setup Type screen choose one of the following:
Typical Performs installation of both add-ins to C:\Program Files\Oracle\BIOffice Custom Enables you to select the install directory, and choose which components to install.
8.
After all components are installed, the InstallShield Wizard Complete dialog box will display. Click Finish.
Modify: Prompts you to select the specific Add-in you wish to install. Repair: Uses a cached copy of the original install. Remove: Removes the BI Office Add-Ins.
24-5
Open Microsoft Excel or Microsoft PowerPoint. (The connection information is shared, therefore you can enter it through either application and it will be available to both.) From the Oracle BI menu, select Preferences. On the Connections tab, select New. Enter the following fields:
a. b. c.
2. 3. 4.
Name for the connection Office Server The server URL for the Oracle BI for Microsoft Office server (for example: bioffice-server.mycompany.com) Port for the Oracle for BI for Microsoft Office server
Note: If your environment is SSL enabled, see Section 24.6, "Setting Up SSL-Enabled OC4J for BI Office" for the appropriate set up steps.
5.
Click Test Connection to test the connection between the add-in and the BI Office server.
executeXMLQuery or fetchNext method. --> <property name="SawMaxRowsPerPage" type="int">5000</property> <!-- Parse hyperlink column: turn on = 1; turn off = 0; --> <property name="SawParseHyperLink" type="int">1</property> <!-- Parse percentage column: turn on = 1; turn off = 0; --> <property name="SawParsePercentageColumn" type="int">1</property> <!-- Fetch fresh data: turn on = 1; turn off = 0; --> <!-- Turn on will make SAW re-submits the query to refresh data, in stead of reading data from cache. --> <property name="SawFetchFreshData" type="int">0</property> </bioffice>
LogLevel
SawBaseURL
http://<HOSTNAME>: Enter the URL for the Oracle BI <PORT>/analytics/saw. Presentation Services. This property is set initially by the BIEE installer. dll or https://<HOSTNAME>: <PORT>/analytics/saw. dll
SawUseSSO
0 = No (Default) 1 = Yes
Default is 0. Set this property to 1 if your BIEE implementation is SSO-enabled. In an SSO-enabled implementation, the BI Office add-in features "Insert as Flash," "Insert as Image," and "Edit View" are not supported. Setting this option to "1" suppresses these options from the office add-in menu. Default setting is 5000. Specifies the maximum number of rows to be returned by SAW executeXMLQuery or fetchNext method. Increase this setting in a multiple-user environment. When set to 1, the BI Office server parses the HTML content in the results set, and converts the content to HTML display format in Excel. When set to 0, the BI Office server inserts the hyperlink text as is., that is, as text with markup tags. If your data does not include any hyperlink text, set this property to 0 for better performance.
SawMaxRowsPerPage
N/A
SawParseHyperLink
0 = Off 1 = On (Default)
24-7
Property Name
Valid Values
Description In Oracle BI Answers, if the Column Properties dialog box for a given column is set up as follows: On the Data Format tab, "Override Default Data Format" is checked and "Treat Numbers as Percentage" is selected; then setting this property to 1 instructs the BI Office server to treat the number as a percentage (divide by 100). If the user then formats the data as a percentage in Excel, the data will display correctly. If the property is set to 0, no percentage processing is done by the BI Office server. For more information on setting Column Properties in Oracle BI Answers, see the Oracle Business Intelligence Answers, Delivers, and Interactive Dashboards User Guide.
SawFetchFreshData
0 = Off (Default) 1 = On
Default is 0. Set this property to 1 to resubmit the query to refresh data. When set to 0, the data is read from the cache.
In the BI EE install, you will find the keytool utility in this location: C:\OracleBI\uninstall\_jvm\bin\ keytool.exe.
1.
Create a keystore with an RSA private/public key pair using the keytool utility. Example: This example generates a keystore to reside in a file named mykeystore.jks, which has a password of 123456, using the RSA key pair generation algorithm.
cd C:\OracleBI\oc4j_bi\j2ee\home\config keytool -genkey -keyalg RSA -keystore mykeystore.jks -storepass 123456
The keytool prompts you for additional information, as follows: What is your first and last name? [Unknown]: Test User What is the name of your organizational unit? [Unknown]: Support What is the name of your organization? [Unknown]: Oracle
What is the name of your City or Locality? [Unknown]: Redwood Shores What is the name of your State or Province? [Unknown]: CA What is the two-letter country code for this unit? [Unknown]: US Is <CN=Test User, OU=Support, O=Oracle, L=Redwood Shores, ST=CA, C=US> correct? [no]: yes Enter key password for <mykey> (RETURN if same as keystore password): Always press RETURN for the key password. In OC4J 10.1.3.x implementations, the keystore password must be the same as the key entry password. The mykeystore file is created in the current directory. The default alias of the key is mykey.
2.
If you do not have a secure-web-site.xml file, create one in the following location: C:\OracleBI\j2ee\home\config\secure-web-site.xml. You can start by copying content from default-web-site.xml. Update secure-web-site.xml with the following elements:
a.
3.
Update the <web-site> element to add secure="true" and to set the port value to some available port. (For example, port="4443". To use the default of 4443, you have to be a super user.) For standalone OC4J, use HTTP protocol, which is the default setting. (The setting protocol="http" in combination with secure="true" results in HTTPS being used.)
<web-site port="4443" secure="true" protocol="http" display-name="Default OracleAS Containers for J2EE Web Site" > ... </web-site>
b.
Add the following under the <web-site> element to define the keystore and password.
<ssl-config keystore="./mykeystore.jks" keystore-password="123456" />
Note that the relative path and filename extensions are used for example: ./mykeystore.jks.
c.
Make sure that the server.xml points to the secure-web-site.xml file. As necessary, uncomment or add the following line in server.xml:
<web-site path="./secure-web-site.xml" />
4. 5. 6.
Restart OC4J to initialize the secure-web-site.xml file additions. Test the SSL port by accessing the site in a browser on the SSL port. For example: https://bieeserver.mycompany.com:4443/em Import the certificate into the OracleBI JDK and export the self-signed certificate.
a.
cd JAVA_HOME\jre\lib\security
24-9
b.
Use the keytool utility to export a certificate from your keystore to mykeystore.cer.
keytool -export -keystore C:\OracleBI\oc4j_ bi\j2ee\home\config\mykeystore.jks -storepass 123456 -alias mykey -rfc -file mykeystore.cer
c.
Use the keytool utility to import the mykeystore.cer to replace the OracleBI JDK system-wide keystore cacerts.
keytool -import -keystore cacerts -storepass changeit -alias mykeycert -file mykeystore.cer
7.
8.
Now you can access this SSL-enabled OC4J and Oracle BI EE from your Oracle BI Add-In for Microsoft Office. In the Add-In, create a connection as follows: Name: OBI Office Server: bioffice-server.mycompany.com Port: 4443 Use Secure Sockets Layer (SSL): selected
Tip: If you can connect to SSL successfully in the browser, yet the connection fails in the client, confirm that the certificate was exported and imported properly (see Step 6).
To enable the integration of BI Office with SSO-enabled Oracle BI, you must deploy a separate SAW bridge application (analytics.ear) and grant trusted IP address (where BI Office is installed) access privilege to the new SAW bridge without going through SSO authentication. You must configure the BI Office server to send Web service requests
24-10 Oracle Business Intelligence New Features Guide
to this SAW bridge that bypasses SSO. Depending on the SSO server type, the configuration may differ. Following is an example of how to integrate BI Office with Oracle SSO-enabled Oracle BI:
1.
On the same machine where BI Presentation Services Plug-in has been deployed, deploy another Presentation Services Plug-in using the file analytics.ear: Locate analytics.ear in the directory OracleBI_HOME/web.
2.
Name the new Plug-in "analyticsSOAP". Make the same modifications to the web.xml file for this analyticsSOAP servlet that were made to the web.xml file for the default "analytics" servlet.
3.
Make the following modification to the file mod_osso.conf to open analyticsSOAP to requests from the BI Office server: (The mod_osso.conf is located in the directory Oracle_ HOME/Apache/Apache/conf.)
<Location /analyticsSOAP> Require valid-user AuthType Basic Allow from <IP address of BI Office server> Satisfy Any </Location>
where <IP address of BI Office Server> is the IP address of the BI Office server, for example: 10.155.324.7
4.
Locate the Office Server configuration file (bioffice.xml). The configuration file bioffice.xml can be found in the directory: OAS_HOME\j2ee\home\applications\bioffice\bioffice\WEB-INF
5.
"SawBaseURL" to point to the new analyticsSOAP deployed in the previous steps "SawUseSSO" to indicate that you have enabled SSO for BI Office and Presentation Services. Set the value to "1". This setting suppresses the unsupported options from the client add-in insert menu.
Example:
<property name="SawBaseURL">http://localhost:port/analyticsSOAP/saw.dll</property> <!-- Does SAW use SSO (Single Sign-On): yes = 1; no = 0; --> <property name="SawUseSSO" type="int">1</property>
For more information on the bioffice.xml file, see Section 24.5, "Setting Properties in the bioffice.xml Configuration File".
25
Microsoft Office Support
This new feature enables users to analyze and deploy business intelligence reports more easily in MS Office. This release of Oracle BI Enterprise Edition features an improved version of Oracle Business Intelligence Add-in for Microsoft Office, with a new Excel and PowerPoint Add-in. These add-ins allow you to insert BI EE request views as native Office tables and BI chart views as native Office charts, or as static but refreshable images, or even as high quality Flash objects, leveraging Office functionality while referencing the Oracle BI semantic layer, thus ensuring that a single version of the truth is available to users across an enterprise. Oracle BI for Microsoft Office provides the following functionality:
25
Oracle BI Add-in for Microsoft Excel. Oracle BI Add-in for Microsoft PowerPoint. When installed on Excel 2007 the Oracle BI Add-in's functionality is made available via a native Office ribbon interface. When installed on Excel 2003 the Oracle BI Add-in's functionality is made available via a menu and a toolbar. In both cases an Office pane is available for browsing the presentation catalog and for selecting views to insert inside Office documents. Oracle BI Office Server. This is a server-side J2EE application that communicates between the BI Office client and the BI Presentation Server using web services. Ability to secure BI data in BI views inserted inside Excel spreadsheets or PowerPoint presentations. Metadata describing the BI view is preserved, but all data is wiped by the BI Add-in. Users can obtain the latest data available by refreshing their BI views using the BI Add-in. Users can copy views from Answers and Dashboards pages and then paste them into Excel and PowerPoint documents using the 'Paste' feature of the Oracle BI Add-in. Copied views are pasted as Office documents - Excel or PowerPoint tables and charts. This functionality also extends to copying compound views from Answers and Dashboards. Compound views copied from Answers or Dashboards are pasted into Office documents as native Office tables and charts. Only BI views supported by the Oracle BI Add-in are pasted inside Office documents. Users can use this 'copy' feature to copy the state of BI views in Dashboards and paste this state into Office documents. A user may choose to drill on a chart from year to quarter, then drill from region to the district level, using the 'copy' link, if available for that view, to copy this state and then paste it into an Office document using the BI Add-in. When a user refreshes the BI views inside the Office document, the data is refreshed and displayed base on this state of the request.
For more information on how this 'Copy' feature works from Answers and Dashboards, please refer to the section describing how to copy requests from Answers and Dashboards.
A 'Flat Data View' is provided for every request. This view provides the entire data set for the original request in a simple tabular format. This view is more suited when the user wants to obtain only the data and then use Excel's functionality to perform further analysis on the data. The Table view displays results in a tabular format. Users can navigate and drill down in the results, add totals, customize headings, and change the formula or aggregation rule for a column. Drilling on a Table view is available only in Excel. If users have the BI Office Add-in installed, they can make use of this drilling functionality even in offline mode, without being connected to a BI Presentation Server. A 'Pivot Table View', available in the Excel Add-in, presents data from BI requests with page items as well as a section based layout if these had been defined in the BI Pivot Table view for the request in Answers. Support for the Oracle BI Security model, including support for both encrypted (SSL) and Single-Sign On modes. The same login that you use to sign-in to Answers or Dashboards is used to login to the BI Office Add-in. A native Excel 2007 and PowerPoint 2007 ribbon interface. BI Presentation Catalog browser as a pane in Microsoft Excel and PowerPoint to browse requests, both user-created and shared. The user can also view the individual views available for each request. Ability to insert table, pivot table, and chart views into Excel documents as Excel tables and Excel charts (subject to the limitations of Excel). Support for prompts defined in the BI request. If a view selected for insertion has multiple levels from one or more dimensions, the user can choose to limit the data for each dimension by unchecking these levels from a 'level selection' dialog that is displayed. Ability to insert table and chart views into PowerPoint presentations as PowerPoint tables and charts (subject to the limitations of PowerPoint). Ability to insert chart views as images inside Excel spreadsheets and PowerPoint presentations that can be refreshed using the Oracle BI Add-in. Ability to insert chart views as high quality Flash objects inside PowerPoint presentations that can then be refreshed using the Oracle BI Add-in. Users can define Excel specific conditional formats to data from BI views. These conditional formats are preserved during data refreshes. Users can change the formats of data items displayed in BI views in Excel and PowerPoint documents. To change the format of an item in an Excel sheet, the user would need to modify the style for that cell. These formatting changes are then preserved even during refreshes. Furthermore, these formatting changes are applied to all cells with the same style. For BI chart views inserted as native Excel or PowerPoint charts, users can change the chart type, apply other formatting changes using Excel and PowerPoint's charting capabilities. These changes are preserved during refreshes.
Ability to customize the default appearance and placement of BI tables and pivot table views inserted in Excel sheets using an Excel template installed during the client add-in installation.
The following figure shows Oracle Business Intelligence Add-in for Microsoft Excel:
Figure Key: a - Oracle BI toolbar as native Excel 2007 ribbon b - BI Table View inserted as PowerPoint table c - BI Presentation Catalog with list of requests and views available for insertion d - BI Chart view inserted as refreshable PNG image e - BI Chart view inserted as refreshable Flash format f - Request properties
26
26
The 10.1.3.3.1 release of the Oracle Business Intelligence Enterprise Edition introduces the following new BI Office features:
Section 26.1, "Configure the BI Office Connection URL" Section 26.2, "Language Support"
26-1
Language Support
in multiple languages then BI Office shall also display this metadata in the language selected. For example, the language you choose to display BI EE metadata such as dimensions, ('country', 'brand'), items, and measures ('Sales', 'Profits') will also be used when you connect to this BI EE instance from BI Office.
27
27
The 10.1.3.3.3 release of the Oracle Business Intelligence Enterprise Edition introduces no new features for BI Office. However, additional configuration instructions for Single Sign-On have been included in this document. See Chapter 24, "Installing Oracle Business Intelligence for Microsoft Office" for information.
27-1