You are on page 1of 106

Best Implementation Practices with Oracle Business Intelligence Publisher

Mohan Dutt VeriSign Inc.

Brent Lowe STR Software

About The Presenter: Brent Lowe

Business Intelligence Publisher (BIP) Expert Manager, Product Development at STR Software Author of popular BIP Blog The Lowe Down Blog URL: Brents Other Presentations:
Tuesday, Sep 21, 12:30p Moscone West L2, Room 2011 Many Faces of Oracle Business Intelligence Publisher in Oracle E-Business Suite (S319051) Wednesday, Sep 22, 11:30a Moscone West L3, Room 3006 Data Exchange Between Oracle E-Business Suite and Other Systems: The Easy Way (S319050)

About The Presenter: Mohan Dutt

Business Intelligence Publisher (BIP) User Manager, Business Systems at VeriSign Inc Author of popular Oracle Certification Blog Blog URL: Mohans Other Presentations:
Monday, Sep 20, 12:30p Westin Market Street Hotel, Metropolitan II Top 10 Recipes from Oracle E-Business Suite Release 12 Financials Cookbook (S316415) Thursday, Sep 23, 12:00p Moscone West L2, Room 2016 Ten Steps to Success: Your Oracle Certification Advisor (S313368)

Business Intelligence Publisher Overview Tips and Best Practices Implementation Case Study
Oracle E-Business Suite Credit-to-Cash modules Oracle E-Business Suite Record-to-Report modules Oracle E-Business Suite Procure-to-Pay modules

Business Intelligence Publisher Benefits Q&A

Typical Scenario: Multiple Reporting Environments

Multiple Reporting Solutions High TCO Dependent of IT resources for modification or maintenance

Invoices Invoice Server Check Print Server


Label Manager Labels Delivery Server Destinations

Report Formatter Reports

Payment Server


Business Intelligence Publisher Single Solution Use BI Publisher For: Authoring Managing Delivering Meet Business Requirements Remove Complexity Reduce TCO
Destinations XML / EFT / EDI Labels

Checks Invoices


Business Intelligence Publisher

Separation of the presentation of the report from its data structure Collection of the data is still handled by your concurrent request At runtime BI Publisher merges designed template files with the report data Creates published output documents

Business Intelligence Publisher Overview


Oracle 10g, Oracle BI EE, Oracle BI Apps SQL Server

Excel Power Point Flash


Layout Templates
E-Business Suite, PeopleSoft, Siebel, JDE


BI Publisher Excel Word Acrobat Flex Others JDev








Web Services

Data Sources

Layout Tools

Output Formats


Best Implementation Practice

Get to the Latest Version of BIP for EBS

Get to the Latest Version of BIP for EBS


Get to the Latest Version of BIP for EBS

BI Publisher == XML Publisher

For EBS: 5.6.3

Running 11i -> MOS 422508.1 About Oracle XMLP Release 5.6.3 Running R12 -> Congrats, you already have 5.6.3!


Get to the Latest Version of BIP for EBS Patch 5.6.3!

MOS 1138602.1 Overview of Available Patches for Oracle XML Publisher (embedded in Oracle E-Business Suite)

Some Individual Patches are available Patch Sets are rolled into ATG Family Packs.


BI Publisher Releases
Release 11.5.10

XML Publisher 5.0 XML Publisher 5.5

Performance, Translation, Template Builder, Common Regions

Post Release 11.5.10

XML Publisher 5.6

Administration UI, Data Engine, Book Binder

Release 12

BI Publisher 5.6.3
Runtime Optimization, Enhancements

In 11i --500 templates R12.1 --ALL reports are BI Publisher: 2724 templates and 2092 data sources or data templates across 95 products Oracle Reports to Publisher Conversion Assistant


Best Implementation Practice

Know Oracles Published Best Practices


Know Oracles Published Best Practices

Know Oracles Published Best Practices

Covers: Large data set strategies XML structures Lots of great template tips for performance, consistency, formatting.


Best Implementation Practice

Utilize the Correct Tools for your version of BIP


Utilize the Correct Tools

BI Publisher Desktop
Latest version is Use the version built with the same libraries as 5.6.3 -> Patch 5887917

BI Publisher Toolbox Bursting Designer Delivery Designer Report Conversion


Best Implementation Practice

Know what BIP is Capable of Within Different Applications


Know what BIP is Capable of Within Different Applications

All applications do not follow ATGs lead.

Advanced Collections Payables Purchasing

Session: Many Faces of BI Publisher in EBS (S319051) Tuesday 12:30 1:30 Moscone West 2011


Best Implementation Practice

Understand Your Delivery Options


Understand Your Delivery Options

Delivery Manager exposed via 4 methods:
Bursting Control Files 12.1 RUP3 Individual applications doing their own thing Java APIs


Delivery Options Bursting Control Files





Delivery Options 12.1 RUP3


Delivery Options 12.1 RUP3


Delivery Options Individual Apps

Example: Advanced Collections


Delivery Options Java APIs

Java based APIs available to deliver via: Fax Email Print FTP WebDAV HTTP Requirements:

Java Developer Document to deliver Recipient information


Delivery Options - Functionality

Utilizes standard SMTP protocol Set To, CC, BCC, Subject, Attachment Name, Email Message Body, From information. 1 Attachment (the BIP data file)


Utilizes IPP to communicate with 3rd party software/hardware to transmit data. Set Fax Number only


Utilizes IPP/CUPS to communicate with Printers Ensure that printers can handle output data or filter first.


Delivery Options - Status

What happened to my document? Email Rely on bouncebacks Fax After handoff, its anyones guess Print On the printer!


Best Implementation Practice

Understand How To Troubleshoot


Understand How to Troubleshoot

1. 2. Output Post Processor Log Files xdodebug.cfg -> $AF_JRE_TOP/lib
LogLevel=STATEMENT LogDir=<Directory> xdo.log (main log file) xdo_...xml (Especially helpful when bursting) xdo_...out (output file) xdo_...xsl (XSL-FO version of RTF) (temp file created when converting RTF to XSL-FO)


Best Implementation Practice

Know When To Ask For Help and How and Where To Ask For It


Know When/How/Where to Ask For Help!


Help! - Documentation


Help! - Debugging
Turn on debugging Review the logs


Help! Oracle Forums

How to Get Help on Forums: a. b. c. d. e. Search First, Ask Second Be someone (not user8840234) Be Specific Reward others for their assistance It is better to give than receive


Help! Oracle Community

Oracle E-Business Suite -> BI Publisher

Forums Community Contributed Resource Documents examples: Troubleshooting Oracle XML Publisher How To Install a Font Using XMLP Admin


Help! My Oracle Support

Open an official SR


Best Practices
Get to the Latest Version of BIP for EBS Know Oracles Published Best Practices Utilize the Correct Tools for your version of BIP Know what BIP is Capable of Within Different Applications Understand Your Delivery Options Understand How To Troubleshoot Know When To Ask For Help and How and Where to Ask For it


Implementation Case Study

Implemented on Oracle E-Business Suite 11.5.10 Converted Custom Reports to Business Intelligence Publisher Walk through of Conversion Steps Implementation Highlights:
Oracle E-Business Suite Credit-to-Cash modules Oracle E-Business Suite Record-to-Report modules Oracle E-Business Suite Procure-to-Pay modules


Prepare Environment
Prepare you environment by reviewing BI Publisher patches required Apply patches as required Provide BI Publisher Administrator Get desktop installation of BI Publisher BI Publisher Toolbar should be available in MS Word after Installation


Step 1: Convert the RDF report into XML format

Convert the RDF Report into XML format using rwconverter utility This utility is available with Report 9i or later



rwconverter batch=yes source=c:\XX_TRX_PRINT.rdf dest=c:\XX_TRX_PRINT.xml dtype=xmlfile overwrite=yes


Step 2: Create RTF Template

Option 1 RDF Layout Migration
Use RTFTemplateGenerator utility to generate layout template from

RDF Layout
java.exe oracle.apps.xdo.rdfparser.RTFTemplateGenerator XXXX_TRX_PRINT.xml

RTF generated by RTFTemplateGenerator

Option 2 Create RTF file using Template Builder


Create RTF Template Template Builder

New Cross Tab Wizard
Multiple Levels Totals

Enhanced Chart Dialog

Multiple Line Charts 3D Charts with Gradients Color Schemas Real Preview

New Table Wizard Translation Support

Generate XLIFF file Test Translations

Template Validation

Create RTF Template

Generate Sample XML Data
Set Output Format to

XML for current RDF Concurrent Program.

Execute the concurrent

program and save XML Data Output File

Sample XML Output


Create RTF Template

Insert XML field in the template Insert Menu -> Field option All the headers and summary level details can be inserted using this feature


Create RTF Template

Insert Table
Insert Menu -> Table

/ Form -> Select Wizard option.

All the line level

details can be inserted using this feature


Create RTF Template


loop through all lines

Conditional Formatting
display lines with

LINE_TYPE=LINE RDF Format Trigger logic can be implemented like this

Last Page Only Tag

<?start@last-page:body?><?end body?>

Anything after the last page

only tag is displayed at the end of the document


Create RTF Template

Preview output

RTF Template

Preview PDF


Step 3: Create Data Template

Use DataTemplateGenerator Utility to generate Data Template
java.exe oracle.apps.xdo.rdfparser.DataTemplateGenerator XX_TRX_PRINT.xml

DataTemplateGenerator creates:
Data Template (XX_TRX_PRINT_template.xml) PLS files for Report PLSQL code: PL/SQL package specification (XX_TRX_PRINTS.pls) PL/SQL package body (XX_TRX_PRINTB.pls)

Data Template

Package Specification

Package Body


Create Data Template

Data Extraction Engine
Fast, scalable extraction engine Integrated into concurrent manager Offers all that Oracle Reports offers plus 30-40% faster Multiple queries + joins Event triggers Flexfield support Data Structure


Create Data Template

Data Template consists of

<parameters>section in which parameters are declared in child <parameter> elements; <dataQuery> section in which the SQL queries are defined in child <sqlStatement> elements; <dataTrigger> section in which PLSQL function are defined which are fired when the event occurs <dataStructure> section in which the output XML structure is defined


Step 4: Execute PLSQL code generated

Execute the .pls files in the database Review the code before executing the .pls files
One may need to change the code RDF Format triggers are not supported by the utility. Format trigger logic

must be implemented separately.


Step 5: Register new Concurrent Program

Set the concurrent program output format to XML. Attach executable XDODTEXE to the concurrent program


Step 6: Register Data Definition


Register Data Definition

Upload Data Template generated in Step 3 to Data Definition


Step 7: Register Layout Template


Step 8: Create Bursting Control File

This is required to e-mail files or delivering reports directly to the printer Bursting Engine Features
Burst individual

documents from a batch Dynamic generation based on data Deliver in desired layout and output format Deliver down desired delivery channel Integrated into concurrent processing

Batch Data

Control File





Create Bursting Control File

Accepts a data stream and splits it based on multiple criteria Generates output based on a template Delivers the individual documents through the delivery channel of choice (Email, Fax, Printer, File system, FTP)

Bursting Control File


Step 9: Upload Bursting Control File to Data Definition


Step 10: Program Call to Bursting Engine

Add code in After Report trigger to call Bursting Engine for delivery of reports

This submits XML Publisher Report Bursting Program program which splits current programs XML output, generates documents and delivers them to destination mentioned in Bursting Control File

BI Publisher Setup Summary

IT/MIS-DEV SETUPS Create Data and Layout Template Files Choose concurrent program via SRS forms Submit Request USER PROCESS

Load files and Metadata to Template Manager

Define concurrent Program using the data engine executable

Select parameter values

Output document Generated

Add concurrent Program to Request Group

Select layout template Language and output format

Output document Printed or Viewed

Automated process


BI Publisher Setup Summary

Create Data Template Create Layout Template

Register data and template definition metadata and load data template and layout template

Define concurrent program

Add concurrent program to request group


BI Publisher User Steps

User selects the report from a list User enters parameter values User can select a template, language and output format and submit the report User can view the final output via the Monitor Requests form


BI Publisher User Steps

User selects the report


BI Publisher User Steps

User Selects Template

User can select a different template from the LOV Then a different language if available Then an output format


BI Publisher User Steps

User can view the final output


CTC Implementation

Invoice Print Programs

Invoice Print Programs converted from Optio to BI Publisher Reports Notifications converted are:
Standard Invoice Prints Dunning Letters Credit Card Notifications (Charge/ Decline/ Refund)


Invoice Print Program Changes OPTIO implementation had different RDFs created to support different layouts

XXVS_OPTIO_R_RAXINV.rdf XXVS_OPTIO_R_RAXINV_GEO.rdf XXVS_OPTIO_R_RAXINV_VIP_RETAIL.rdf PLSQL Code for VIP Invoices to send emails without attachment

In XML Publisher Impleementation only one RDF XXVS_RAXINV.rdf

All RDFs merged into One. Easy maintanance. No separate PLSQL Code for sending emails without

attachment This is handled through a Setup Data Generation is handled by single RDF, different layouts are handled through RTF templates.


Setup Changes
Two new segments at Trx Type DFF level:
XML Template value of the XML Publisher Template used for

generating Invoice PDF file Attachment (Yes/No)

Yes = Send Invoice PDF file / No = Only send email


Setup Changes
XML Template / Attachment DFF at Trx Type
For existing Trx Types, XML Template and Attachment DFF fields updated through a Datafix Any new Trx Type created after Go-Live, BSA must enter appropriate values for these fields

Print Program name at Trx Type DFF

New XML Print program name updated through a Datafix

Dunning Program name in XXVS_AR_DUNNING_PRINT_PROG

New XML Print program name updated through a Datafix


VeriSign Bursting Engine

Common Program used across different modules (AR/ OM/ AP) to deliver emails / print documents
Program was first created for AR documents. Design flexibility allows program to be used by any module uses the XML output from Print Program and based on the XML Template prints/emails the Invoice PDFs. Creates a zip file which stores all the PDF files generated Creates a record in Collections Workbench Correspondence tab for Credit Card and Dunning related notifications Completes in warning if there is any failure while delivering any invoice Generates report showing the success/fail status for each invoice delivery
Status Report

In case of failure, can deliver notification to email address setup in XXVS_BURSTING_CONTROL_FILES valueset

Error Notification


Printer Issues
PDF files generated from BI Publisher do not print on some printers

raw PDF files generated by BI Publisher are not supported by some printers Metalink Note - 338990.1 explains how third party software can be used to convert PDF files into PS format before sending them to printers. Create Filter for PDFTOPS utitlity in xdodelivery.cfg file and place it under $XDO_TOP/resource directory PDF Documents would be automatically converted to PS format before sending them to printers


Printer Issues
CUPS Issues
Connection Timeout: Log file shows Connection timed out while waiting response from server. Change CUPS configuration - /etc/cups/cupsd.conf - Increase the value of MaxClients (controls the maximum number of simultaneous clients that will be handled ) and TimeOut (timeout before requests time out) Connection Reset: Log file shows Connection reset at CUPS log file shows message E [25/May/2009:03:18:01 -0700] ReadClient() 8 IPP Read Error! Verify CUPS setup Upgrade it to latest CUPS version


Printer Issues
Large Batches take long time to Print
Bursting Engine sends one document to printer at a time. Printer will

take time to initialize for each document, buffer it and then finally print it.
Is there a way to send ONE big print-job to the printer? Answer is Yes, but involves customization - Step 1 : Use DocumentProcessor API, generate individual PDF files on filesystem.
- Step 2 : Use PDFDocMerger API to merge PDF files in single PDF file. - Step 3 : If the printer supports PDF format, send merged PDF file to Printer. Else convert the PDF file into PS/ PCL format before sending to printer.


RTR Implementation

11i Environment Setup Patches Applied

Patch #: 5713082 The FSG patch has been applied to make the SRS program "Program - Publish FSG Report" compatible with XML Publisher versions 4.5, 5.0, 5.5, 5.6.0, 5.6.1, 5.6.3 Patch#: 6332655 - This patch delivers Full Scale FSG functionality for Release 11i customers. Following are the few fixes delivered in the patch.

correct report ordering for Multiple Report Sets correct processing for Spreadsheet/TabDelimited with Display Set correct print styles for reprint

Report output in Excel

Inserted a new mime type for the file format XLS for both US

and JA to open the report in Excel if the Format Type is chosen as Excel.


RTR Development/Migration Procedure

Financial Statement Generator (FSG) Report to XML Publisher
Oracle General Ledgers FSG is a powerful report-building tool that

allows you to build your own custom reports without programming. Integrating FSG with XML Publisher allows you to use the convenient formatting features of a word processing application to design template layouts for FSG reports. Among the different report formatting options, you can change font characteristics, add graphical images, insert headers or footers, work with an unlimited number of columns, and reorder columns.


RTR Development/Migration Procedure (Continued) Generate XML Data Log into Apps with VS US GL POWERUSER Responsibility

Navigate to > Reports > Request > Financial and submit any one of the FSG report by selecting XML as Output Option. Continued

RTR Development/Migration Procedure (Continued) Query for the Request ID in the Requests Screen and save the XML Output to a location on your local machine.



RTR Development/Migration Procedure (Continued) Using the MS Word Template Builder Plug in, load the XML Data File by clicking on the Data button and selecting Load XML Data and selecting the xml file that you saved earlier. RTF Template Creation



RTR Development/Migration Procedure (Continued) To insert a table in the report you can use the Table Wizard or Table/Form.


RTR Development/Migration Procedure (Continued) To insert a field in the report use the menu: Insert > Field Now you can select a field and double-click it or drag it to the place in the report. Before you can preview the report you have to save the file as a RTFfile.


RTR Development/Migration Procedure (Continued) Test the RTF template by using the Preview functionality in the Template Builder plug-in. For a good preview on how to create XMLP Templates please refer the attached document.

XMLPTemplatesByE xample.doc


Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite

Debug files are generated depending on how the XML Publisher Core engine is invoked
One step publishing method: The Concurrent Request ends with Phase 'Completed' and Status 'Warning' which indicates that the Output Post Processor (OPP) failed to generate an output file.

In such cases the request log file shows a generic error message indicating the the post-processing action has failed:



Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite (Continued)
The actual error returned by the XML Publisher Core engine is captured in the OPP log file. Following are the steps to open the OPP log file: - Login to the application - Responsibility: System Administrator - Function: Concurrent --> Manager --> Administer - Select the Output Post Processor - Click on the Processes button - Select the Concurrent Process which was active during the time that the request ran - Click on the Manager Log button to open the Output Post Processor log file



Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite (Continued)



Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite (Continued) Search for the Request ID in the OPP Log for the actual error message. The error message shows that the XML file generated had some special characters due to which the program has failed.


Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite (Continued)
In case of the following error message in the Concurrent Program Log file follow the steps below to fix the issue.

Under System Administrator responsibility. Navigate to: Concurrent/Manager/Administer Select 'Output Post Processor' Click Refresh, the "Actual" and "Target" against the Output Post Processor should show "1 as shown in the screen shot below if not Click on Restart button to restart the process. Continued

Note: If the issue is not fixed even after restarting the process then the Concurent Manager needs to be bounced.


Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite (Continued)


PTP Implementation

PTP XML Conversions Scope

Purchasing Objects Payables Objects Reporting Objects

Initiative Began in Summer of 2009 Purchasing Objects Converted before 2009 Year End Payables Objects Converted in 2010 ACH Remittance Check Printing Reporting Objects Converted on an Ad Hoc Basis


Purchasing Objects Conversion


PO PDF Document PO Email Capability Automated Attachments Inclusion

PO Header Level Attachments Automatically Included in PO Email Attachments from Most Recently Updated PO Line Automatically Included in PO Email


Email Body Configuration

PO Email Body Fully Configurable via FND Message

Automated PO Attachment of PO PDF

Seeded View Document Function Now Utilized to See PO PDF

Font Color Now Allowed Optio Technology No Longer Needed Multiple Patches Required to be Applied Attachments Inclusion Initially Picked Up Non-Related Attachments
Attachment ID Match Across Attachments Type

Development Issues


Payables Objects Conversion ACH Remittances

ACH Remittance PDF

Error Reporting ACH Remittance Program Now Produces PDF Output File with Failed Records and Detail - Prior Process Required AP Review Rejected Emails to Shared Public Folder Single Reprocess Capability AP Now Has the Ability to Send Individual ACH Remittances Based on Error Report and Reprocess Needs Optio Technology No Longer Needed

Development Issues
Initial ACH Remittance Error Report Had Insufficient Detail


Payables Objects Conversion Checks


AP Physical Checks Ability to Save PDF File of All Checks Printed Check Font Stored on the Server
No Longer Required to Ask MIS OPS to Resend Check Font to Local Printers Upon Printer Reboot


Ability to Print Anywhere

PDF File is Saved Locally and Printed

Optio Technology No Longer Needed DEV Team Does Not Have Access to Physical Printers
Output Differs Across Printers

Development Issues

DEV Team Does Not Have Actual Check Paper Wrapping Lines in the Check Caused Check Layout to Shift Font Issues Number of Invoices Continuing on Multiple Pages
Only One Actual Check Can Output


Reporting Objects Conversion

Existing Oracle Reports Converted as Requested No Overall Initiative Yet Begun to Review the Set of Reports Completed Suppliers Report In Process Posted Invoice Register

Increased Configuration Capabilities via XML Publisher Administrator Report File Type Output Options to the Requestor

Development Issues
Layout Challenge from Existing Presentation Not Always a Straight Forward Mirror Conversion Option Oracle Patch Still Required for Proper XML Report Request Default

File Type Output Option


Check Printing: Additional XML Setups

Create Font File Create Font Mappings Site Level Configurations Setup MICR Font on Application Server


R12 BI Publisher Features

Data Extraction Engine Bursting Engine Consolidated Document Publishing Template Enhancements

RTF Templates Template Builder

Delivery Manager Template Manager

Translation Manager Configuration Manager Font Manager OA Framework Report Viewer Single Step Reporting Reduced processing time, memory footprint and temporary file space




BI Publisher Benefits

Reduce development and maintenance costs Consolidate reporting solutions Consolidate data sources Functional users build and customize layouts In-house printing and delivery now achievable Increase developer productivity

BI Publisher Benefits

Reduce reporting tool training requirements Faster report creation Improve performance Faster data extraction Fewer database hits Layout level formatting

Business Intelligence Publisher Blogs

Tim Dexter/BIP Official Blog: A BI Publisher developers diary: Oracle BI Publisher Consulting: BI Publisher Blog - Ike Wiggins: In Depth Apps - eBusiness Suite - Gareth Roberts: The Lowe Down


Contact Information: Brent Lowe STR Software


Contact Information: Mohan Dutt VeriSign Inc


Thanks to Oracle Mix Voters

Many thanks to voters on Oracle Mix for voting for this presentation on Suggest A Session contest

Session Survey: S319049