Oracle Analytics Server Known Issues

Learn now about the issues you may encounter when using Oracle Analytics Server, and how to work around them.

Topics

These issues pertain to all areas of Oracle Analytics Server and Oracle Analytics Publisher, such as installation, migration, analyses and dashboards, metadata repository development, and system administration.

Documentation Accessibility

For information about Oracle's commitment to accessibility, visit the Oracle Accessibility Program website at http://www.oracle.com/pls/topic/lookup?ctx=acc&id=docacc.

Access to Oracle Support

Oracle customers that have purchased support have access to electronic support through My Oracle Support. For information, visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=info or visit http://www.oracle.com/pls/topic/lookup?ctx=acc&id=trs if you are hearing impaired.

Version Number in Upgrade Assistant

When you upgrade Oracle Analytics Server, you'll likely see a message in the Upgrade Assistant about upgrading to version 12.2.1.4.0. Instead of seeing 12.2.1.4.0, you should see the appropriate version number for Oracle Analytics Server. This issue has no workaround.

Exported BAR Files Don't Include Data Files

When you back up an instance into an Oracle Business Intelligence application archive (BAR) file, data files that you uploaded aren't included in the BAR file.

When you import the BAR file into a target system, only the metadata for the data files is imported, rather than the data files themselves. To work around this issue, upload the data files into the target system after importing the BAR file.

BI Composer Unavailable in SSL Configuration

If your system is running with an SSL configuration, then you can't use BI Composer functionality.

This issue has no workaround.

Authorization Failures in Horizontally Scaled-Out Deployments

If users experience random authorization failures, check your deployment.

If the deployment is horizontally scaled-out and manages user populations in the LDAP Server of the Oracle WebLogic Server as the main identity provider, use the Oracle WebLogic Server Administration Console to create users and groups. Avoid using the User Administration page on the Oracle Analytics Console for this task. An issue with the Administration page causes users added through this component to not be reflected in both nodes of the system, resulting in random authorization failures.

Known Issues with Oracle Essbase Data Sources

The Oracle Essbase data sources have a number of known issues.

  • Searching for a specific column within an Oracle Essbase data source displays a "No Matches Found" message.

  • The Advanced Analytics functions don't work for Oracle Essbase data sources.

  • Time-based columns are sometimes not imported correctly. A column displaying a date in text can’t be converted to a column of date data type because of format mismatch.

  • Oracle Essbase data sources don’t work in data flows.

  • When working in a project, you can’t use match columns to join an Oracle Essbase data source to any other data source included in the project.

  • When you import an Oracle Essbase data source, you can’t prepare the data, and you can’t edit the data after import. For example, you can't change a column’s data type or aggregation.

Known Issues with MongoDB Connections and Data Sources

The MongoDB database connection type and MongoDB data sources have a number of known issues.

  • Schema map from MongoDB not refreshed — When you create a connection to a MongoDB data source, the underlying driver automatically creates a normalized schema for the MongoDB database. If collections are added to the schema in the MongoDB database, the driver can't find these additional collections. This issue has no workaround.

Null Values in XLSX File Set to String

If you're adding an XLSX file as a data source and if the spreadsheet’s null values are expressed as hyphens, then Oracle Analytics treats the null values as strings irrespective of the other values in the column.

To work around this issue, remove the hyphens from the column and try to import the XLSX file again.

Connection Not Found Error Message After Importing Project and Opening Oracle Database Data Flow

If you import a project that's sourced from an Oracle Database then try to open the data flow, you might see an error message that the connection can't be found.

To work around this issue, click the connection name, select it again, and save and reopen the data flow.

Query Results for Columns of String Values Might Differ

You might notice that queries for columns of type String return differing results. This situation can occur if String columns are matched with columns in the subject areas of the metadata repository that have CHAR data types. Trailing spaces are treated differently between VARCHAR and CHAR data types in many SQL functions. This issue has no workaround.

Custom Formats in Analyses Not Available

In Oracle Analytics, if you open an analysis that contains a custom format that was created in the Analysis Editor, you see an error message. You might've applied a custom format in the Analysis Editor using the Custom Numeric Format option on the Data Format tab in the Column Properties dialog.

To work around this issue, edit the analysis in the Analysis Editor and remove the custom formatting, or remove the item in the analysis that contains the custom format. Then open the analysis again.

Saving a Data Flow Using the Save As Option

The Save As option doesn't work if you try to save a data flow with a name that already exists (that is, the existing data flow isn't overwritten).

To work around this issue, when you use the Save As option, specify a data flow name that doesn't already exist, or first delete the existing data flow that has the name you want to use.

Issues with Oracle Analytics Server Developer Client Tool

This section describes issues and workarounds for Oracle Analytics Server Developer Client Tool

User Assistance for Oracle Analytics Server Developer Client Tool

If you want user assistance for Oracle Analytics Server Developer Client Tool, go to the Oracle Analytics Server page in Oracle Help Center. Don't use the context-sensitive help links available in the tool; this content is out-of-date.

Issue with Time Series Functions and Double Data Type Time Dimension Keys

You might notice an internal error message when you work with time series functions in analyses. The error occurs because time dimension keys are set to a data type of Double in the BI Administration tool.

To work around this issue, change the data type of the time dimension keys to INT in the BI Administration tool. Or go to the database properties and disable the TIME_SERIES_TODATE_SUPPORTED database feature.

Concurrent Restore Operations Not Recommended

Any user with administrator permissions can restore a snapshot. Oracle Analytics Server doesn't prevent multiple users from starting concurrent restore operations, but this often causes snapshot restore failures.

To avoid such issues, Oracle recommends that you coordinate restore operations with other administrators and wait for one restore operation to finish before starting another one.

Issues When Creating or Restoring Large Snapshots

When you try to create or restore very large snapshots (those with a size of 5GB or larger), you might see an error message similar to the following one:

Plugin:com.oracle.bi.contentstorage.metadatalcm.ContentStorageMetadataPlugin: commitImport Operation:importBAR StatusCode:Operation Failed

This error occurs when the system times out during the creation or restore process. If the problem persists, contact Oracle Support to request an increase in the timeout value for the load balancer.

Virus Scanner Settings Not Taking Effect

You might find that settings that you make for the virus scanner in the Console don't take effect.

To work around this issue, restart Oracle BI Presentation Services using your system settings:

  1. Click Console, and then click System Settings.
  2. Click Restart, and then click OK to confirm.

Wait a few moments for the changes to refresh through the system.

Integration with or Migration from Oracle BI Discoverer Isn't Supported

You can't integrate with or migrate from Oracle BI Discoverer.

You can ignore any mentions of such integration or migration in the documentation set. For example, Chapter 8, Using Discoverer Data in Applications, in Integrator's Guide for Oracle Business Intelligence Enterprise Edition isn't applicable for Oracle Analytics Server .

Cygwin to Invoke Scripts Isn't Supported

You can't use Cygwin to invoke scripts for starting and stopping services.

Connection Externalization Properties in System Settings Aren't Applicable

The connection externalization properties that display on the System Settings page aren't applicable in Oracle Analytics Server:

  • Connection Externalization Enabled
  • Connection Externalization Polling Interval

This issue has no workaround.

Configuration Assistant Might Suspend in Silent Mode

You can use the Configuration Assistant to perform various tasks for Oracle Analytics Server. If you run the Configuration Assistant in Silent Mode, you might find that the Assistant simply "suspends;" that it's displayed but not progressing for a long period. To work around this issue, press Ctrl+C to force the Assistant to progress.

Oracle Data Visualization Issues and Workarounds

This section describes issues and workarounds for Oracle Data Visualization.

Error Importing XLSX Files Generated from Microsoft Access

Importing an XLSX file generated from Microsoft Access can sometimes fail. Data visualization can interpret such XLSX files as headerless or even empty.

Perform the following procedure to work around this issue.
  1. Open the Access-outputted XLSX file in Microsoft Excel.
  2. Select a cell.
  3. Make and reverse a change. For example, select the top left cell, type an X, and then remove the X.
  4. Save the file.
You can now import this modified file successfully.

Error Creating a Data Set from a Microsoft Access Database Containing Spaces

If you're creating a data set from a Microsoft Access database and the database contains schema, table, or column names with spaces (for example, Asset Category rather than AssetCategory), then you get an error and the creation of the data source fails.

Perform the following procedure to work around this issue.
  1. Open the database in Microsoft Access.
  2. Remove the offending spaces.
  3. Save the database.
  4. Build the data source again.

Analyses and Dashboards Issues and Workarounds

This section describes issues and workarounds for analyses and dashboards.

Treemap View Fails to Download in PDF, Excel, or Powerpoint Format

If an analysis includes a treemap view, you can’t properly export the results to Adobe Acrobat, Microsoft Excel, or Microsoft Powerpoint unless Oracle Analytics Server was installed with the correct version of the Java Development Kit (JDK).

To work around this issue, install JDK 1.8.0.211 on the Oracle BI Server machine. The JDK version must be 8u60 Build b10 or later. You must install JDK before you install Oracle Analytics Server.

Archiving and Unarchiving Dashboards Loses Links for Analyses

When you archive a dashboard and unarchive it on another server, you might notice that some or all links below analyses on that dashboard are missing.

To work around this issue, ensure that the catalog folders and objects on the destination server match the structure on the original server.

Prompt Value Reset to All Column Values

You can create prompts and make every prompt dependent on all other prompts.

When you then select a value in a prompt, the query for each prompt is recreated. You might find that the previously selected value of some prompts is reset to "All Column Values," and the query returns no results. To work around this issue, don't make all prompts dependent on each other.

Oracle Analytics Publisher Issues and Workarounds

This section describes issues and workarounds for Oracle Analytics Publisher.

Oracle Analytics Publisher Displays PDF File Error Message when Printing with ScheduleService Web Service

When you use the ScheduleService web service in Oracle Analytics Publisher to print a document as PDF, you might see an error message such as Document is not a PDF File.

This issue occurs only if you've configured the PDFtoPostScript filter to print the file to a Postscript printer. After converting a PDF file into a Postscript file, Oracle Analytics Publisher doesn't change the content type from application-pdf to application/octet-stream in the web service.

To work around this issue, set the contentType to application/octet-stream in the DeliveryRequest parameter of the web service.

Online Help for Installation and Configuration

If you click Help while in the Installer and Configuration Assistant for Oracle Analytics Server, you see topics that mention Oracle Business Intelligence. Most mentions of Oracle Business Intelligence should be reworded as Oracle Analytics Server.

As you work with the Configuration Assistant for Oracle Analytics Server, you can click Help to obtain more information about each screen. The Help system hasn't been updated, and some details aren't applicable for Oracle Analytics Server. The topic for the Database Details step mentions the IBM DB2 Database, which isn't supported as a Repository Creation Utility (RCU) database with Oracle Analytics Server.

Some Documentation for Oracle Analytics Publisher and Oracle Analytics Server Is No Longer Being Updated

This issue addresses documentation for Oracle Analytics Publisher and Oracle Analytics Server that's no longer updated.

The following documentation is no longer being updated within the guides themselves. See this and future Release Notes for updates to these documents:

Oracle BI Administration Tool Documentation

The following issues address documentation for Oracle BI Administration Tool

Online Help for Oracle BI Administration Tool Is No Longer Updated

The Oracle BI Administration Tool online help is no longer being updated.

Refer to Before You Begin in Managing Metadata Repositories for Oracle Analytics Server for current information about current functionality in the Oracle BI Administration Tool, and the Release Notes for documentation updates.

Oracle Fusion Middleware Licensing Information User Manual

The following issue applies to the Fusion Middleware Licensing Information User Manual.

All the information in the Oracle Business Intelligence section of the Fusion Middleware Licensing Information User Manual remains as-is except for the following name changes of the indicated products:

Old Name New Name

Oracle Business Intelligence Suite Extended Edition

Oracle Analytics Server

Oracle Business Intelligence Publisher

Oracle Analytics Publisher

Oracle Business Intelligence Server Enterprise Edition

Oracle Analytics Server Enterprise Edition

Oracle Business Intelligence Standard Edition One

Oracle Analytics Standard Edition One

Oracle Business Intelligence Server Administrator

Oracle Analytics Server Administrator

Oracle Business Intelligence Interactive Dashboards

Oracle Analytics Interactive Dashboards

Oracle Business Intelligence Answers

Oracle Analytics Answers

Oracle Business Intelligence Delivers

Oracle Analytics Delivers

Oracle Business Intelligence Suite Extended Edition for Oracle Applications

Oracle Analytics Server for Oracle Applications

Oracle Business Intelligence Publisher for Oracle Applications

Oracle Analytics Publisher for Oracle Applications

Developer's Guide for Oracle Business Intelligence Enterprise Edition

The following issues address the Developer's Guide for Oracle Business Intelligence Enterprise Edition.

Documentation About Creating and Using Impersonate User is Incorrect

In Developer's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 1 Embedding Business Intelligence Objects in ADF Applications, the How to Create and Use Impersonate User section is inaccurate.

You must use the following procedure instead:

To create a user or application role with permission to impersonate, you must create a permission grant using the Resource Type oracle.bi.user, with a name of an asterisk (*) and an action of impersonate.

Note:

You can choose to grant the newly created permission to either an application role or a user. In this example we choose user.
  1. Connect to Fusion Middleware Control for your Oracle BI EE instance using an administration account.
  2. From the Weblogic Domain menu, select Security.
  3. Click Application Policies.
  4. Click Create to display the Create Application Grant page.
  5. In the Permissions section, click Add (+).
  6. Select Resource Types.
  7. Select oracle.bi.user from the Resource Type list.
  8. Click Continue to display the Add Permission dialog.
  9. Enter an asterisk (*) in the Resource Name field.
  10. Select impersonate in the Permission Actions section.
  11. Click Select.
    You now add a new grantee.
  12. In the Grantee section click Add (+) to display the Add Principal dialog.
  13. Select User from the drop down list.
  14. Select Includes from the Principal Name list, and enter an asterisk (*) into the field.
  15. Click the search arrow icon (>) to display a list of users.
  16. Select the user you want to give the permission to and click OK.
    This example uses weblogic.
  17. Click OK on the Create Application Grant page.
    This gives the impersonate permission to the user.
Documentation Is Incorrect About Which WSDL Version to Use

In Integrator's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 1 Introduction to Oracle Business Intelligence Web Services, the What are the Oracle Business Intelligence Session-Based Web Services? section requires updates.

The last paragraph suggests that depending on your client version, you access the WSDL document using one of the following Oracle BI EE web services URLs:

http://host:port/analytics-ws/saw.dll/wsdl/v6

http://host:port/analytics-ws/saw.dll/wsdl/v7

This paragraph shouldn't mention v6 or v7, but should state that for Oracle BI EE, if you want to develop new code or recompile existing code, you should use version 12 (or later) of the Oracle BI EE web services URL. For example:

http://host:port/analytics-ws/saw.dll/wsdl/v12

Documentation Mentions of Catalog Groups Are No Longer Applicable

Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition and Integrator's Guide for Oracle Business Intelligence Enterprise Edition mention catalog groups. The mentions of catalog groups in these guides are no longer applicable.

In particular, the following methods are deprecated :
Method Section Purpose Deprecated Result
getGroups() 3.13.6 of Integrator's Guide for Oracle Business Intelligence Enterprise Edition Gets a list of catalog groups that are members of the account (for example, user or group). Returns a response such as "getGroups operation is not supported/deprecated".
getMembers() 3.13.7 of Integrator's Guide for Oracle Business Intelligence Enterprise Edition Gets direct members of the catalog group. Returns a response such as "getMembers operation is not supported/deprecated".
Integrator's Guide for Oracle Business Intelligence Enterprise Edition Requires Updates

This section addresses updates to portions of Integrator's Guide for Oracle Business Intelligence Enterprise Edition, which is no longer being updated.

Section 5.3 - Configuring the Action Framework

The statement preceding Table 5.3 currently states:

The Oracle BI EE installation contains a configuration file named ActionFrameworkConfig.xml. You manually edit this configuration file to specify how you want the Action Framework to behave. This configuration file is located by default in the following location:<Oracle Middleware Home>\user_projects\domains\bifoundation_domain\config\fmwconfig\biinstances\coreapplication

This is an error. The configuration file is located by default in the following location:

<Oracle Middleware Home>\user_projects\domains\bi\config\fmwconfig\biconfig\actions

Section - 9.2.3 Updating instanceconfig.xml

Step 2 of this procedure currently states that the instanceconfig.xml file is here:

ORACLE_INSTANCE/config/OracleBIPresentationServicesComponent/coreapplication_o bipsn.

In Oracle BI EE, the instanceconfig.xml file is here:

BI_DOMAIN/config/fmwconfig/biconfig/OBIPS

Section - 9.3.6 Setting Up a Profile

Step 5 of this procedure currently states:

5. On the resulting screen, under Responsibility, enter the Oracle BI EE URL. For example:
http://my_server.domain.com:port/analytics

This is an error. The /analytics portion of this path should be left out.

Step 5 of this procedure should state:

5. On the resulting screen, under Responsibility, enter the Oracle BI EE URL. For example:
http://my_server.domain.com:port

Section 9.3.7 - Navigating from E-Business Suite to Oracle Business Intelligence

Step 4 of this procedure currently states:

4. In the Menu field, select the menu that you created in Section 9.3.3, Creating a Menu That Invokes the Form Function (for example, OBIEE).

The Form Function is invoked that links to Oracle BI EE.

Step 4 of this procedure should state:

4. In the Menu field, select the menu that you created in Section 9.3.3, Creating a Menu That Invokes the Form Function (for example, OBIEE).

This launches Oracle BI EE

Updating authenticationschemas.xml Needs Additional Statement

In Integrator's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 10 Integrating with Oracle E-Business Suite Security, the Updating authenticationschemas.xml section is incorrect for Oracle BI EE.

The following statement must be added between Step 4 and Step 5:

Locate the sub-element RequestVariable source="constant" and change the value of the nameInSource attribute from ssi to the name of the service instance created during domain configuration. If not chosen explicitly, the default value is ssi. For example:

<RequestVariable source="constant" type="auth" nameInSource="ssi" biVariableName="NQ_SESSION.SERVICEINSTANCEKEY" />

If the entry doesn't already exist, then add a new entry under:

<AuthenticationSchema name="EBS-ICX">
Documentation About Setting up E-Business Suite Authentication

In Integrator's Guide for Oracle Business Intelligence Enterprise Edition, Chapter 10 Integrating with Oracle E-Business Suite, the Setting Up Authentication section is inaccurate.

Using session variables in initialization blocks for authentication in the E-Business Suite environment integrated with Oracle Business Intelligence, lightweight single sign-on (SSO) doesn't work. Lightweight SSO is enabled by default. See Lightweight SSO and Legacy Authentication Options in Managing Security for Oracle Analytics Server.

You must disable lightweight SSO to continue to use session variables in initialization blocks for authentication. You should disable lightweight SSO using the disableBISingleSignOn command. See Enable and Disable SSO Authentication Using WLST Commands in Managing Security for Oracle Analytics Server.

If you must use SSO, there are other options available.

Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition

The following issues address Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition.

Documentation Mentions of Catalog Groups Are No Longer Applicable

Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition and Integrator's Guide for Oracle Business Intelligence Enterprise Edition mention catalog groups. The mentions of catalog groups in these guides are no longer applicable.

In particular, the following methods are deprecated :
Method Section Purpose Deprecated Result
getGroups() 3.13.6 of Integrator's Guide for Oracle Business Intelligence Enterprise Edition Gets a list of catalog groups that are members of the account (for example, user or group). Returns a response such as "getGroups operation is not supported/deprecated".
getMembers() 3.13.7 of Integrator's Guide for Oracle Business Intelligence Enterprise Edition Gets direct members of the catalog group. Returns a response such as "getMembers operation is not supported/deprecated".
Documentation About Impersonation Requires Update

Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition, which is no longer being updated, requires an update.

Scheduling Jobs Guide for Oracle Business Intelligence Enterprise Edition isn't clear regarding passwords and impersonation. When impersonation is required, don’t provide a password.

XML Schema Reference for Oracle Business Intelligence Enterprise Edition

The following issues address XML Schema Reference for Oracle Business Intelligence Enterprise Edition.

Clarification about RefObject Element

XML Schema Reference for Oracle Business Intelligence includes various examples of the RefObject element.

When including this element, ensure that you include both the id attribute and the qualifiedName attribute, even if the id attribute is absent from certain examples in the guide. If you omit the id attribute, then you might see a message that reads similar to could not resolve object error.

Publisher Uses Apache CXF

Publisher has replaced Apache Axis with Apache CXF services framework.

Because Publisher uses the Apache CXF services framework, the web service response for error messages includes these changes:

  • The web service response returns null instead of an empty string.

    For example, here's a sample response when Publisher didn’t use Apache CXF:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Body>
          <getReportParametersResponse
    xmlns="http://xmlns.oracle.com/oxp/service/v2">
             <getReportParametersReturn xsi:nil="true"/>
          </getReportParametersResponse>
       </soapenv:Body>
    </soapenv:Envelope>

    Here's a sample response when Publisher uses Apache CXF:

    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
       <soap:Body>
          <getReportParametersResponse
    xmlns="http://xmlns.oracle.com/oxp/service/v2"/>
       </soap:Body>
    </soap:Envelope>
  • Apache CXF doesn’t contain the exception type (AccessDeniedException, InvalidParametersException, or OperationFailedException) in the SOAP response.

    For example, here's a sample error message when Publisher didn’t use Apache CXF:

    oracle.xdo.webservice.exception.AccessDeniedException: 
    java.lang.SecurityException: Failed to log into BI Publisher: invalid username or password.

    Here's a sample error message when Publisher uses Apache CXF:

    java.lang.SecurityException: Failed to log into BI Publisher: invalid username or password.

The changes in the web service response for error messages affect the following WSDLs:

  • /v2/CatalogService?wsdl
  • /v2/DataSourceConfigService?wsdl
  • /v2/DeliveryServerConfigService?wsdl
  • /v2/PluginService?wsdl
  • /PublicReportService?wsdl
  • /PublicReportService_v11?wsdl
  • /v2/ReportService?wsdl
  • /v2/RuntimePropertiesConfigService?wsdl
  • /v2/ScheduleService?wsdl
  • /v2/SecurityService?wsdl
Adding Web Center Content as a Delivery Channel

The following issues address corrections to Developer's Guide for Oracle Business Intelligence Publisher.

In the Data Types in Oracle BI Publisher Web Services chapter, the following updates are required.

Add a New Data Type For Delivering Web Center Content

After section FTPDeliveryOption, add a new section called 2.3.27 WCCDeliveryOption.

Use the following two paragraphs as the description, then add the following table:

"Use this data type to define the options to set for WCC delivery of a report. The WCC server must be set up in the BI Publisher Administration pages first. To set up an WCC server see Setting Up Delivery Destinations in Developer's Guide for Oracle Business Intelligence Publisher.

"This type is used in the ArrayOfWCCDeliveryOption complex data type."

Field Description
String WCCAccount Optional. Select an account from the WebContent Server.
String WCCAuthor Optional. Enter the name of the author. If you don’t specify an author, then the value defaults to the login name of the user.
String WCCComments Optional. Enter comments to include with the document on the WebContent Server.
String WCCFileName Required. Enter the name to assign to the file on the server. For example: report.pdf.
Boolean WCCIncludeMetadata Required. Specify True to allow custom metadata to be sent with the document. Custom metadata is defined in the data model.
String WCCSecurityGroup Required. Select the security group on the WebContent Server to assign to the report.
String WCCServerName Required. Enter the name of the WebContent Server as defined in the BI Publisher Administration page.
String WCCTitle Optional. Enter a title for the report. If you don’t enter a title, then the Layout name is used as the title.

Add a New Section Called ArrayOfWCCDeliveryOption

After ArrayOfFTPDeliveryOption, add a new section called 2.3.5 ArrayOfWCCDeliveryOption.

Use the following description and table:

"Use this data type to hold an array of WCCDeliveryOption objects."

Field Description
WCCDeliveryOption [] item See Section 2.3.27 WCCDeliveryOption

Add Row For Delivering Web Center Content

In DeliveryChannels, add a row to Table 2-22 Fields Provided by DeliveryChannels, after the row "ArrayOfFTPDeliveryOption ftpOptions" using the details shown in the following table. The description should cross reference to the new section 2.3.5 ArrayOfWCCDeliveryOption:

Field Description
ArrayOfWCCDeliveryOption wccOptions See Section 2.3.5 ArrayOfWCCDeliveryOption
String JDBCDriverType Field Description Is Incorrect

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 2 Data Types in Oracle BI Publisher, the JDBCDataSource section contains an incorrect description of the String JDBCDriverType field.

The correct description of the String JDBCDriverType field is:

The driver type as String can be either jdbc or jndi.

Values for the Status Field for JobOutput and JobOutputDelivery Objects

The values that are indicated for the status field of JobOutput and JobOutputDelivery objects in Chapter 2 are incorrect in Developer's Guide for Oracle Business Intelligence Publisher.

The correct list of status values that are available through the getAllScheduledReportHistoryReturn web service are as follows.

JobOutput status values:
  • STATUS_RUNNING = 'R';

  • STATUS_SUCCESS = 'S';

  • STATUS_FAILED = 'F';

  • STATUS_CANCELLING = 'G';

  • STATUS_CANCELED = 'C';

  • STATUS_WITH_DELIVERY_ERROR = 'D';

  • STATUS_SKIPPED = 'K';

  • STATUS_WARNING = 'I'; 

  • STATUS_UNKNOWN = 'X';

JobOutputDelivery status values:

  • STATUS_FAILED = 'F';

  • STATUS_WARNING = 'I';

  • STATUS_UNKNOWN = 'X';

  • STATUS_RUNNING = 'R';

  • STATUS_SUCCESS ='S';

The Definition of getScheduledJobInfo Method is Inconsistent

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 3 ScheduleService, the getScheduledJobInfo() Method section requires updates. The signature incorrectly references the JobInfo object.

The JobInfo object is currently referenced as follows:

JobInfo getScheduledJobInfo(int jobInstanceID, String userID, String password); 

The signature should instead reference the JobDetail object as follows:

JobDetail getScheduledJobInfo(int jobInstanceID, String userID, String password);
SFTP_HOSTKEY_FINGERPRINT Property for Secure FTP Document Delivery

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 8 Using the Delivery Manager Java APIs, Table 8–8 Properties for Delivering Documents over SFTP is missing information about the SFTP_HOSTKEY_FINGERPRINT property. See the following section for the correct information.

SFTP_HOSTKEY_FINGERPRINT

Enter the MD5 fingerprint of the SSH host key in a hexadecimal string. Don’t include a delimiter such as a colon (:) to separate each byte. This property is optional.

When this property is set, the MD5 fingerprint of the host key retrieved from the server at runtime is verified to match the supplied value. If it doesn't match, then the connection is terminated as the fingerprint mismatch indicates that the SSH client is connecting to an unintended host, possibly as a result of a man-in-the-middle attack. When this property isn't set, the connection to the host is made without host key fingerprint verification.

Supported Configuration File Properties and Elements

<hostKeyFingerprint> element is supported for <server type="sftp">

Layout Editor in BI Publisher Doesn't Support Custom JavaScript Plug-Ins

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 11 Adding Extensions to the Layout Editor mentions that you can add JavaScript plug-in extensions to the Layout Editor.

The Layout Editor doesn't support custom JavaScript plug-ins. This issue has no workaround.

Excel Output Format Value is Incorrect for the attributeFormat Field of ReportRequest

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 2 Data Types in Oracle BI Publisher Web Services, the Complex Data Types section contains an incorrect Excel output format value for the attributeFormat field of the ReportRequest data type.

The Values for attributeFormat sub-section incorrectly mentions Excel (*.xslx) instead of Excel (*.xlsx) as the output format value for the attributeFormat field.

ScheduleRequest Data Types Missing from Developer's Guide for Oracle Business Intelligence Publisher

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 2 Data Types in Oracle BI Publisher Web Services, the following field descriptions of the ScheduleRequest data type are missing.

Field Description
boolean notifyHttpWhenSkipped Optional. Specify true to send an HTTP notification when a job is skipped. Default is false.
boolean notifyWhenSkipped Optional. Specify true to send an email notification when a job is skipped. Default is false.
boolean saveOutputOption Optional. Specify true to save the report output generated by the scheduled request to a database. Default is false.
boolean scheduleBurstingOption  Optional. Specify true to enable bursting for the scheduled job. Default is false.
downloadReportDataChunk Chunk Size Is In Bytes Not In Kilobytes

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 4 ReportService, the topic for the downloadReportDataChunk() method contains an incorrect description of the int size field.

The correct description of the int size field is:

int size - The size of the file to download (in bytes).

PDF Merger Documentation

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 7 Using the BI Publisher Java APIs, the PDF Document Merger section is no longer applicable and is replaced with the following text.

Merging PDF Documents

The PDF Merger class supports merging of multiple documents to create a single PDF document. You can add page numbering, watermarks, or other background images.

Merging PDF Documents with Input/Output File Names

The following code demonstrates how to merge (concatenate) two PDF documents using physical files to generate a single output document.

Input
  • PDF_1 file name (String)

  • PDF_2 file name (String)

Output
  • PDF file name (String)

Sample Code for Merging PDF Documents with Input/Output File Names:

import java.io.*;
import oracle.xdo.common.pdf.util.PDFMerger;
.
.
.
  public static void main(String[] args)
  {

    PDFMerger merger = null;

    try
    {
      // Initialize PDFMerger - last argument is PDF file name for output
      merger = new PDFMerger(new File(args[args.length - 1]));

      // Add PDF documents to merge
      for (int i = 0; i < args.length - 1; i++)
      {
        merger.addDocument(new File(args[i]));
      }
    }
    catch (Exception exc)
    {
      exc.printStackTrace();
    }
    finally
    {
      if (merger != null)
      {
        // Close the merged document
        try
        {
          merger.close();
        }
        catch (Exception exc)
        {
          exc.printStackTrace();
        }
      }
    }
  }

Merging PDF Documents with Input/Output Streams

Input
  • PDF Documents (InputStream Array)

Output
  • PDF Document (OutputStream)

Merging PDF Documents with Input/Output Streams

import java.io.*;
import oracle.xdo.common.pdf.util.PDFDocMerger;
.
.
.
  public boolean mergeDocs(InputStream[] inputStreams, OutputStream outputStream)
  {
    PDFMerger merger = null;

    try
    {
      // Initialize PDFMerger
      merger = new PDFMerger(outputStream);
      
      // Add input stream one by one
      for (InputStream inputStream : inputStreams)
      {
        merger.addDocument(inputStream);
      }
    }
    catch (Exception exc)
    {
      exc.printStackTrace();
      return false;
    }
    finally
    {
      if (merger != null)
      {
        // Close the merged document
        try
        {
          merger.close();
        }
        catch (Exception exc)
        {
          exc.printStackTrace();
          return false;
        }
      }
    }

Merging with Background to Place Page Numbering

The following code demonstrates how to merge two PDF documents using input streams to generate a single merged output stream. You can add page numbers to the PDF.

To merge documents and number pages:

  1. Create a background PDF template document that includes a PDF form field in the position that you'd like the page number to appear on the final output PDF document.

  2. Name the form field @pagenum @.

  3. Enter the number in the field from which to start the page numbering. If you don’t enter a value in the field, the start page number defaults to 1.

Input:

  • PDF Documents (InputStream Array)

  • Background PDF Document (InputStream)

Output:

  • PDF Document (OutputStream)

Sample Code for Merging PDF Documents with Background to Place Page Numbering

import java.io.*;
import oracle.xdo.common.pdf.util.PDFDocMerger;
.
.
.
  public boolean mergeDocs(InputStream[] inputStreams, InputStream backgroundStream, OutputStream outputStream)
  {
    PDFMerger merger = null;

    try
    {
      // Initialize PDFMerger
      merger = new PDFMerger(outputStream);

      // Set Background
      merger.setBackground(backgroundStream);
      
      // Add input stream one by one
      for (InputStream inputStream : inputStreams)
      {
        merger.addDocument(inputStream);
      }
    }
    catch (Exception exc)
    {
      exc.printStackTrace();
      return false;
    }
    finally
    {
      if (merger != null)
      {
        // Close the merged document
        try
        {
          merger.close();
        }
        catch (Exception exc)
        {
          exc.printStackTrace();
          return false;
        }
      }
    }

    return true;
  }

Setting a Text or Image Watermark

Some draft documents might require a "DRAFT" watermark in all pages. Other documents might require a background image on the document. The following code sample shows how to use the PDFDocMerger class to set a watermark.

Setting a Text Watermark

Use the setTextDefaultWatermark() method to set a text watermark with the following attributes:

  • Text angle (in degrees): 55

  • Color: light gray (0.9, 0.9, 0.9)

  • Font: Helvetica

  • Font Size: 100

  • The start position is calculated based on the length of the text

Alternatively, use the setTextWatermark() method to set each attribute separately. Use the setTextWatermark() method as follows:

  • setTextWatermark ("Watermark Text", x, y) - declare the watermark text, and set the x and y coordinates of the start position. In the following example, the watermark text is "Draft" and the coordinates are 200f, 200f.

  • setTextWatermarkAngle (n) - sets the angle of the watermark text. If this method isn't called, 0 will be used.

  • setTextWatermarkColor (R, G, B) - sets the RGB color. If this method isn't called, light gray (0.9, 0.9, 0.9) will be used.

  • setTextWatermarkFont ("font name", font size) - sets the font and size. If you don't call this method, Helvetica, 100 will be used.

The following example shows how to set these properties and then call the PDFDocMerger.

Input:

  • PDF Documents (InputStream)

Output:

  • PDF Document (OutputStream)

Sample Code for Setting a Text Watermark in PDF Documents

import java.io.*;
import oracle.xdo.common.pdf.util.PDFDocMerger;
.
.
.
  public boolean mergeDocs(InputStream[] inputStreams, OutputStream outputStream)
  {
    PDFMerger merger = null;

    try
    {
      // Initialize PDFMerger
      merger = new PDFMerger(outputStream);
      
      // You can use setTextDefaultWatermark() without these detailed setting
      merger.setTextWatermark("DRAFT", 200f, 200f); //set text and place
      merger.setTextWatermarkAngle(80);                //set angle 
      merger.setTextWatermarkColor(1.0f, 0.3f, 0.5f);  // set RGB Color

      // Add input stream one by one
      for (InputStream inputStream : inputStreams)
      {
        merger.addDocument(inputStream);
      }
    }
    catch (Exception exc)
    {
      exc.printStackTrace();
      return false;
    }
    finally
    {
      if (merger != null)
      {
        // Close the merged document
        try
        {
          merger.close();
        }
        catch (Exception exc)
        {
          exc.printStackTrace();
          return false;
        }
      }
    }

    return true;
  }

Setting Image Watermark

An image watermark can be set to cover the entire background of a document, or just to cover a specific area (for example, to display a logo). Specify the placement and size of the image using rectangular coordinates as follows:

float[] rct = {LowerLeft X, LowerLeft Y, UpperRight X, UpperRight Y}

For example:

float[] rct = {100f, 100f, 200f, 200f}

The image will be sized to fit the rectangular area defined.

To use the actual image size, without sizing it, define the LowerLeft X and LowerLeft Y positions to define the placement and specify the UpperRight X and UpperRight Y coordinates as -1f. For example:

float[] rct = {100f, 100f, -1f, -1f}

Input:

  • PDF Documents (InputStream)

  • Image File (InputStream)

Output:

  • PDF Document (OutputStream)

Sample Code for Setting an Image Watermark in PDF Documents

import java.io.*;
import oracle.xdo.common.pdf.util.PDFDocMerger;
.
.
.
  public boolean mergeDocs(InputStream[] inputStreams, OutputStream outputStream, String imageFilePath)
  {
    PDFMerger merger = null;

    try
    {
      // Initialize PDFMerger
      merger = new PDFMerger(outputStream);
      
      FileInputStream wmStream = new FileInputStream(imageFilePath);
      float[] rct = {100f, 100f, -1f, -1f};
      merger.setImageWatermark(wmStream, rct);

      
      // Add input stream one by one
      for (InputStream inputStream : inputStreams)
      {
        merger.addDocument(inputStream);
      }
    }
    catch (Exception exc)
    {
      exc.printStackTrace();
      return false;
    }
    finally
    {
      if (merger != null)
      {
        // Close the merged document
        try
        {
          merger.close();
        }
        catch (Exception exc)
        {
          exc.printStackTrace();
          return false;
        }
      }
    }

    return true;
  }
Locale Parameter Description Missing in downloadXLIFF() Method

In Developer's Guide for Oracle Business Intelligence Publisher, Chapter 6 CatalogService, the downloadXLIFF() method doesn't include the description of the locale parameter.

Corrected Method Signature:

byte[] downloadXLIFF(String objectAbsolutePath, String locale, String userID, String password);

Table - Corrected Parameters for downloadXLIFF() Method

Parameter Description
String objectAbsolutePath The path to the XLIFF object to download.
String locale The locale of the XLIFF object (for example, en_US).
String userID Specifies the BI Publisher user name.
String password Specifies the password for the user name.