Best Implementation Practices With BI Publisher

Embed Size (px)

DESCRIPTION

Best Implementation Practices With BI Publisher

Citation preview

  • Best Implementation Practices with Oracle Business Intelligence Publisher Mohan Dutt Brent LoweVeriSign Inc. STR Software

  • About The Presenter: Brent LoweBusiness Intelligence Publisher (BIP) ExpertManager, Product Development at STR SoftwareAuthor of popular BIP Blog The Lowe Down Blog URL: http://www.thelowedownblog.comBrents 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 DuttBusiness Intelligence Publisher (BIP) UserManager, Business Systems at VeriSign IncAuthor of popular Oracle Certification Blog Blog URL: http://ebizocp.blogspot.comMohans 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)

  • AgendaBusiness Intelligence Publisher OverviewTips and Best PracticesImplementation Case StudyOracle E-Business Suite Credit-to-Cash modulesOracle E-Business Suite Record-to-Report modulesOracle E-Business Suite Procure-to-Pay modulesBusiness Intelligence Publisher BenefitsQ & A

  • Multiple Reporting SolutionsHigh TCODependent of IT resources for modification or maintenance

    Typical Scenario: Multiple Reporting Environments

  • Use BI Publisher For:AuthoringManagingDeliveringMeet Business RequirementsRemove ComplexityReduce TCO

    Business Intelligence Publisher Single Solution

  • 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 OverviewLayout TemplatesXMLEDIEFTOutput FormatsDestinationsPDFHTMLExcelPowerPointCSVFlashRTFData Sources Word Acrobat JDevLayout Tools Excel Flex OthersXSL

  • Best Implementation PracticeGet 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 EBSBI Publisher == XML Publisher

    For EBS: 5.6.3

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

  • Get to the Latest Version of BIP for EBSPatch 5.6.3!

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

    Some Individual Patches are availablePatch Sets are rolled into ATG Family Packs.

  • BI Publisher ReleasesRelease 11.5.10XML Publisher 5.0 Post Release 11.5.10XML Publisher 5.5Performance, Translation, Template Builder, Common RegionsXML Publisher 5.6Administration UI, Data Engine, Book BinderRelease 12BI Publisher 5.6.3 Runtime Optimization, Enhancements

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

  • Best Implementation PracticeKnow Oracles Published Best Practices

  • Know Oracles Published Best Practiceshttp://www.oracle.com/technetwork/middleware/bi-publisher/overview/index.html

  • Know Oracles Published Best PracticesCovers:Large data set strategiesXML structuresLots of great template tips for performance, consistency, formatting.

  • Best Implementation PracticeUtilize the Correct Tools for your version of BIP

  • Utilize the Correct ToolsBI Publisher DesktopLatest version is 10.1.3.4.1Use the version built with the same libraries as 5.6.3 -> 10.1.3.2

    Patch 5887917

    BI Publisher Toolboxhttp://bipublisher.blogspot.com/Bursting DesignerDelivery DesignerReport Conversion

  • Best Implementation PracticeKnow what BIP is Capable of Within Different Applications

  • Know what BIP is Capable of Within Different ApplicationsAll applications do not follow ATGs lead.

    Advanced CollectionsPayablesPurchasing

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

  • Best Implementation PracticeUnderstand Your Delivery Options

  • Understand Your Delivery OptionsDelivery Manager exposed via 4 methods:Bursting Control Files12.1 RUP3Individual applications doing their own thingJava APIs

  • Delivery Options Bursting Control Files

  • Delivery Options 12.1 RUP3

  • Delivery Options 12.1 RUP3

  • Delivery Options Individual AppsExample: Advanced Collections

  • Delivery Options Java APIsJava based APIs available to deliver via:FaxEmailPrintFTPWebDAVHTTP

    Requirements:Java DeveloperDocument to deliverRecipient information

  • Delivery Options - FunctionalityEmailUtilizes standard SMTP protocolSet To, CC, BCC, Subject, Attachment Name, Email Message Body, From information.1 Attachment (the BIP data file)

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

    PrintUtilizes IPP/CUPS to communicate with PrintersEnsure that printers can handle output data or filter first.

  • Delivery Options - StatusWhat happened to my document?Email Rely on bouncebacksFax After handoff, its anyones guessPrint On the printer!

  • Best Implementation Practice

    Understand How To Troubleshoot

  • Understand How to TroubleshootOutput Post Processor Log Filesxdodebug.cfg -> $AF_JRE_TOP/libLogLevel=STATEMENTLogDir=

    xdo.log (main log file)xdo_...xml (Especially helpful when bursting)xdo_...out (output file)xdo_...xsl (XSL-FO version of RTF)xdo_...fo (temp file created when converting RTF to XSL-FO)

  • Best Implementation PracticeKnow When To Ask For Help and How and Where To Ask For It

  • Know When/How/Where to Ask For Help!

  • Help! - DocumentationDocumentation!

  • Help! - DebuggingTurn on debuggingReview the logs

  • Help! Oracle Forumshttp://forums.oracle.com/forums/forum.jspa?forumID=245

    How to Get Help on Forums:Search First, Ask SecondBe someone (not user8840234)Be SpecificReward others for their assistanceIt is better to give than receive

  • Help! Oracle CommunityOracle E-Business Suite -> BI Publisher

    ForumsCommunity Contributed Resource Documentsexamples: Troubleshooting Oracle XML Publisher How To Install a Font Using XMLP Admin

  • Help! My Oracle SupportOpen an official SR

  • Best PracticesGet 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 StudyImplemented on Oracle E-Business Suite 11.5.10Converted Custom Reports to Business Intelligence PublisherWalk through of Conversion StepsImplementation Highlights:Oracle E-Business Suite Credit-to-Cash modulesOracle E-Business Suite Record-to-Report modulesOracle 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 formatConvert the RDF Report into XML format using rwconverter utilityThis utility is available with Report 9i or laterrwconverter batch=yes source=c:\XX_TRX_PRINT.rdf dest=c:\XX_TRX_PRINT.xml dtype=xmlfile overwrite=yes

  • Step 2: Create RTF TemplateOption 1 RDF Layout Migration

    Use RTFTemplateGenerator utility to generate layout template from RDF Layout

    java.exe oracle.apps.xdo.rdfparser.RTFTemplateGenerator XXXX_TRX_PRINT.xmlOption 2 Create RTF file using Template Builder

    Group:G_TRX

    Invoice Number

    F_trx_num

    Invoice Date

    F_trx_dat

    Due Date

    F_due_dat

    Amount Due

    F_amount_d

    F_

    Bill To

    Ship To

    F_bill_to

    F_ship_to

    if

    Line

    Unit

    Extended

    Description

    Qty

    ---------

    -----------------------

    -------

    ------------

    ------------

    Group:G_LINE

    if

    F_line_

    F_description

    F_quan

    F_unit_sel

    F_extende

    End

    END G_LINE

    End

    Sub Total:

    F_sub_tot

    Tax:

    F_tax

    Shipping/Handling:

    F_freight

    Total:

    F_total

    F_

    END G_TRX

  • Create RTF Template Template BuilderNew Cross Tab WizardMultiple LevelsTotalsEnhanced Chart DialogMultiple Line Charts3D Charts with GradientsColor SchemasReal PreviewNew Table WizardTranslation SupportGenerate XLIFF fileTest TranslationsTemplate 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

  • Create RTF Template Insert XML field in the template Insert Menu -> Field optionAll the headers and summary level details can be inserted using this feature

  • Create RTF TemplateInsert Table Insert Menu -> Table / Form -> Select Wizard option.

    All the line level details can be inserted using this feature

  • Create RTF TemplateLoop loop through all linesConditional Formattingdisplay lines with LINE_TYPE=LINERDF Format Trigger logic can be implemented like thisLast Page Only Tag

    Anything after the last page only tag is displayed at the end of the document

  • Create RTF TemplatePreview output

    LOGO

    INVOICE #

    Invoice Date:

    Due Date:

    Amount Due:

    Page:

    1 of 1

    BILL TO:

    SHIP TO:

    Line Number

    Description

    Quantity

    Unit Selling Price

    Extended Amount

    F LINE_NUMBER

    DESCRIPTION

    QUANTITY_INVOICED

    E

    Subtotal:

    Tax:

    Shipping/Handling:

    Invoice Total:

    CC

  • Step 3: Create Data TemplateUse 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)

  • Create Data TemplateData 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 TemplateData Template consists of

    section in which parameters are declared in child elements;

    section in which the SQL queries are defined in child elements;

    section in which PLSQL function are defined which are fired when the event occurs

    section in which the output XML structure is defined

  • Step 4: Execute PLSQL code generatedExecute the .pls files in the databaseReview the code before executing the .pls filesOne may need to change the codeRDF Format triggers are not supported by the utility. Format trigger logic must be implemented separately.

  • Step 5: Register new Concurrent ProgramSet the concurrent program output format to XML.Attach executable XDODTEXE to the concurrent program

  • Step 6: Register Data Definition

  • Register Data DefinitionUpload Data Template generated in Step 3 to Data Definition

  • Step 7: Register Layout Template

  • Step 8: Create Bursting Control FileThis is required to e-mail files or delivering reports directly to the printer

    Bursting Engine FeaturesBurst individual documents from a batchDynamic generation based on dataDeliver in desired layout and output formatDeliver down desired delivery channelIntegrated into concurrent processing

  • Create Bursting Control FileAccepts a data stream and splits it based on multiple criteria Generates output based on a templateDelivers the individual documents through the delivery channel of choice (Email, Fax, Printer, File system, FTP)

  • 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 reportsThis 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

  • BI Publisher Setup SummaryCreate 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 StepsUser selects the report from a listUser enters parameter valuesUser can select a template, language and output format and submit the reportUser can view the final output via the Monitor Requests form

  • BI Publisher User StepsUser selects the report

  • BI Publisher User StepsUser Selects TemplateUser can select a different template from the LOVThen a different language if availableThen an output format

  • BI Publisher User StepsUser can view the final output

  • CTC Implementation

  • Invoice Print ProgramsInvoice Print Programs converted from Optio to BI Publisher ReportsNotifications converted are:Standard Invoice PrintsDunning LettersCredit Card Notifications (Charge/ Decline/ Refund)

  • Invoice Print Program ChangesOPTIO implementation had different RDFs created to support different layoutsXXVS_OPTIO_R_RAXINV.rdfXXVS_OPTIO_R_RAXINV_GEO.rdfXXVS_OPTIO_R_RAXINV_VIP_RETAIL.rdfPLSQL Code for VIP Invoices to send emails without attachmentIn XML Publisher Impleementation only one RDF - XXVS_RAXINV.rdfAll RDFs merged into One. Easy maintanance. No separate PLSQL Code for sending emails without attachment This is handled through a SetupData Generation is handled by single RDF, different layouts are handled through RTF templates.

  • Setup ChangesTwo new segments at Trx Type DFF level:XML Template value of the XML Publisher Template used for generating Invoice PDF fileAttachment (Yes/No) Yes = Send Invoice PDF file / No = Only send email

  • Setup ChangesXML Template / Attachment DFF at Trx TypeFor existing Trx Types, XML Template and Attachment DFF fields updated through a DatafixAny new Trx Type created after Go-Live, BSA must enter appropriate values for these fieldsPrint Program name at Trx Type DFFNew XML Print program name updated through a DatafixDunning Program name in XXVS_AR_DUNNING_PRINT_PROGNew XML Print program name updated through a Datafix

  • VeriSign Bursting EngineCommon 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 moduleuses 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 generatedCreates a record in Collections Workbench Correspondence tab for Credit Card and Dunning related notificationsCompletes in warning if there is any failure while delivering any invoiceGenerates report showing the success/fail status for each invoice delivery

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

  • Printer IssuesPDF files generated from BI Publisher do not print on some printersraw 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 IssuesCUPS Issues Connection Timeout:Log file shows oracle.apps.xdo.delivery.DeliveryException: Connection timed out while waiting response from server.Change CUPS configuration - /etc/cups/cupsd.confIncrease 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 java.net.SocketException: Connection reset at java.net.SocketOutputStream.socketWriteCUPS log file shows messageE [25/May/2009:03:18:01 -0700] ReadClient() 8 IPP Read Error!Verify CUPS setup Upgrade it to latest CUPS version

  • Printer IssuesLarge 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 customizationStep 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 SetupPatches AppliedPatch #: 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 reprintReport output in ExcelInserted 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 ProcedureFinancial Statement Generator (FSG) Report to XML PublisherOracle 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)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.ContinuedGenerate XML Data

  • 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.

    Continued

  • 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.

    ContinuedRTF 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 RTF-file.

  • 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.

    XML Publisher Templates by Example

    Learn how to create reporting layout formats easily and simply using Oracle XML Publisher.

    by Tim Dexter ([email protected])

    Oracle XML Publisher provides a new reporting paradigm in the market place. Traditional reporting tools hold the datasource (query), layout and translation in a single executable file. XML Publisher takes the approach of splitting the three components apart. This makes reporting much more flexible and easier to maintain.

    With the layout now independent of the data this allows IT departments to start consolidating their datsources into fewer extraction programs. No longer do they have to have one query, one layout. A single data extraction can now support multiple layouts allowing users to apply various layouts to a single datasource and generate completely different report outputs.

    The IT department can also free itself from the perrenial problem of having to build and maintain layouts formats. The layout templates can be built using familiar desktop tools such as MSWord or Adobe Acrobat. These can be built by functional users with a little practice. Organizations can see huge savings in time and effort in getting reports to their end users. At every stage the process is faster:

    Developing data extraction programs the IT department can use various methods for extracting data one of the fastest being the XML Publisher data engine. At its most basic, give it SQL and it will return XML data.

    Building Layouts no longer a tedious thread of email between business analyst and developer to get the layout just right. The analyst knows the requirements intimately and can build the layout him or herself and get it right first time. Then pass to the developer for deployment to the server.

    Deploying - whether youre using EBS or Online or you have plugged XML Publisher into your own application deployment is simple. There are options to deploy datasources and templates to either the filesystem or the database.

    Background / Overview

    This article will introduce the RTF template formats that can be used with XML Publisher. It will take you from a simple listing report to a complete report layout inlcuding headers, footers, images, master-detail relationships and conditional formatting all from the comfort of an MSWord interface.

    Preliminary Setup

    To aid in the building of RTF templates XML Publisher provides the XML Publisher Template Builder for MSWord. Prior to starting the examples you should download this plugin and install it. This is available from metalink, the latest version is 5.5 and can be found by downloading patch 4561835. Alternatively you can download from the Oracle Store site by searching for XML Publisher. You will also need to download and unpack the zip file associated with this article.

    Once you have sucessfully installed the plugin you will find a new tool bar and menu entry in your MSWord install.

    All of the following report formats are based on EmployeeListing.xml:

    100

    Jo Bloggs

    CLERK

    100

    ACCOUNTING

    100

    Jane Doe

    CLERK

    100

    ...

    As you can see the data is showing employee details and the department they work in. There is no master-detail relationship in the data, it is completely flat.

    Your First Template - Simple Employee Detail

    The simplest output we could generate would be to show an employee and their details. So open MSWord and use the Data > Load XML data option on the Template Builder toolbar and select the XML file EmployeeListing.xml. You will get confirmation that the data has loaded successfully. Now use the Insert > Field option, this will open a dialog box showing the available fields from the data.

    Figure 1: Insert field dialog

    Notice the list of available fields in the dialog. We can use this dialog to enter these fields into our report. Select the insertion point in the Word document and then click on a field and then use the Insert button. Using this method build a layout similar to the one below add the boiler plate text as you go.

    Figure 2: Simple Employee Detail Template

    Youll notice that as you use the insert button that Microsoft Form Fields are being inserted into the document. This is the object that XML Publisher uses to store the mapping to the XML element in the data. This is done so that a user can easily drag and drop report objects around the document without having to worry about the nuts and bolts of the report. Double click on a field and youll get the Field Property dialog, now click on the Help button and youll see the method XML Publisher uses to map to the data elements.

    Figure 3: Form Field Dialog

    Notice in this case we see , this tells the XML Publisher template parser that the EMPNO element value should be inserted into the final document using to delimit the element mapping.

    Now select Preview > PDF from the toolbar, the template builder will prompt you to save template as an RTF format. Once this is done the template will be applied to the data. Youll get something like:

    Figure 4: Simple Employee Detail Output

    Great, so now you have the first employee and their details but where are the others from the XML data. This template lacks the commands to loop over the employees and it therefore only shows the first record. Next well add those commands. (EmployeeListing1.rtf)

    Get your employees listing

    So we want to loop over the employees and get all of their data into the output. Go back to MS Word close your original document and create a new one and load the data again, alternatively just delete the content. Now use the toolbar and select Insert > Table/Form. Youll be presented with the following dialog, notice it is made up of three regions.

    Left Pane this shows the source XML tree

    Center Pane this is the target or document pane

    Right Pane this has the Property palette and Preview region

    Figure 5: Insert Table/Form dialog

    This dialog is very powerful and allows you to build either small parts of a report layout or the complete report structure in one go. To create the looping structure use your mouse and click on the Row node, hold it down and drag it to the center pane and let go. A popup will ask if you want to drop a Single Node or All Nodes, select All Nodes. Youll now see a new tree structure with the Row element at the top. Select this node with your mouse and you see the properties palette and preview region fill.

    Figure 6: Properties and Preview

    Try changing the Style property and then clicking on the tree; you can specify Table, Form and Free Form. Youll see the preview region update based on your choices. Select Table and then highlight the @num value and use the delete key to remove it from the tree. Now hit OK. The template builder will then insert the necessary structures into your template.

    Figure 7: Inserted table structure

    Notice the data is now presented in a table, there are two rows created, one for the column headers and the second for the form fields. The builder will put in some default boilerplate based on the XML data element names. The regular form fields are still there but you will also notice two extra fields F and E. These contain the looping commands:

    F - - ROW is the group in the XML and this command is saying, for each member of the ROW group carry out the following ie enter the fields EMPNO, ENAME, etc

    E - - this command closes the loop.

    Now preview this template in the format of your choice, youll see the following:

    So now we are seeing all of the employees details in a table. So we now have a basic listing report but lets say we wanted to group the employees by their department or job. (EmployeeListing2.rtf)

    Regroup your employees

    Our data does not reflect this grouping but the template builder can help us to group the data in the template despite not having the supporting structure in the data. This feature is extremely powerful, a generic flat extract can support many layout formats allowing users to decide how they want to see the data.

    Either create a new document or delete the existing content. We are going to create a report that shows the employees by department. We will use the same dialog as before, so open it up, Insert > Table/Form and clear the center pane if needed.

    Click and hold on the ROW node and drag to the center pane and Drop All, remove the @num node. Highlight the ROW node and then on the Grouping property drop down select DNAME i.e. the department name. Now click back on the ROW node and youll see the tree has been updated.

    Figure 8: Regrouping dialog

    Youll notice that the document tree has been updated to show the grouping we have created. In its current state we will have a Table in Table report ie the employee data will be a nested table within a department table. We are going to have a simpler format. Select the Row node and change the Style property to Free Form, notice the icon next to the node is updated to give a clue as to the nature of how that node will be rendered. Now click OK and you should get template like:

    Figure 9: Regrouping template

    You can see the familiar table and its fields but we now have two extra fields:

    G - - this command is specifying that the ROW group should be then grouped by DNAME. There is also a sort command to sort by the DNAME as well. The sort criteria can be changed using the property palette. The template will now loop over this newly created group.

    E - - this closes out the new DNAME group.

    There has been another update, the original F field now contains, , this is saying loop over the current group i.e. the DNAME group we created above. Try previewing this template and youll get something like:

    Figure 10: Grouping by department output

    We have now created a report that shows our employees by their department. We could easily group them by their job titles, or even group by department and then by job title.

    Totals and tallies

    So now we have imposed some grouping on our data we want to add some sub totals, lets say we want to know how much the salary cost is in each department and how many employees are in each. These values are not in the XML data but we can create them in the template. For this we are going to go back to the insert field dialog. Lets insert the employee count first, move the cursor to just after the DNAME field, then use the toolbar Insert > Field. Select the EMPNO field and then select count from the Calculation drop down box. Finally we need to check the Grouping box to let the builder know we are creating a summary field on top of the grouped data and then click on insert.

    Figure 11: Insert summary field

    Youll see a new field created, countEMPNO, this field contains the code to calculate the number of employees, .

    Now create a new row in the employee table and move the cursor to the cell under the SAL field. Use the dialog again, this time create a sum on the SAL element, dont forget the Grouping checkbox. You should end up with a template like this:

    Figure 12: Summary column template

    Now preview your template and youll get the following:

    Figure 13: Summary output

    Youll notice we now have an employee number after the department name and a total salary amount for each department. You can create complex calculations in the template, its up to you.

    Conditional Formatting

    Youll probably have noticed that the report output has some employees that do not belong to any department. Lets assume we want to hide those employees that do not have a department.

    We can achieve this quite simply with an if statement. The current release of the Template Builder does not support inserting conditional statements so we are going to have to write some code by hand.

    We need to add a new formfield, you may need to enable the Form toolbar in MSWord. Now place the cursor just after the G field and insert a form field. Open the properties and then the help text and enter, . This command is basically checking if the DNAME element has a value. Now place the cursor just before the last E field and create another field, this time enter , this closes the if statement. So if the if statement is evaluated to true then the content between the if and end if statement i.e the department and employee data will be displayed; if evaluated to false as in the first set of data then it will not be show. Your template should look something like this:

    Figure 14: Conditional template

    The output when you run this template will not contain those employees that do not belong to a department. You could equally exclude employees with a salary greater than 5000. Its up to you and your users.

    Dressing Up

    So we now have the basic structure of the report we want, we now need to add formatting to make it more readable. For this well use MSWord functionality.

    You can update colors, fonts, styles highlighting plain boiler plate and fields, XML Publisher will respect the formatting. For number formatting, again we use MSWord functionality. Double click on the SAL field to get the field dialog, now specify the field type to be Number and then pick a Format from the drop list, you can enter a default number in the Default Number field.

    Now click OK. Youll see the field value is now formatted according to the format you specified. XML Publisher will respect this at runtime. This will also work for date formatting.

    You can update the header and footer too; add boiler plate, images, etc. MSWord will not allow you to enter form fields in the header or footer but you can enter the command string e.g. . You can also add page numbers using the native MSWord method. You can very quickly build a report layout similar to:

    Figure 15: Formatted template

    This template will now generate the following output.

    Figure 16: Formatted report output

    Of course if you or your users want to make a change then just reopen the template and update the layout.

    Deployment

    Once you are happy with your template its then a question of deploying it to the server whether that be for the E Business Suite, Peoplesoft, JD Edwards or XML Publisher Enterprise.

    Conclusion

    This document has given you brief introduction to the world of XML Publisher RTF templates, it has hopefully provided you a glimpse of the power of XML Publisher and the flexibility it provides to you and your users. There are many sample templates delivered with the Template builder install and the User Guide documentation covers how to create other report objects such as charts, shapes, page totals, conditional formatting objects etc.

  • Troubleshooting Oracle XML Publisher For The Oracle E-Business Suite Debug files are generated depending on how the XML Publisher Core engine is invokedOne 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:

    Continued

  • 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 applicationResponsibility: System Administrator Function: Concurrent --> Manager --> AdministerSelect the Output Post Processor Click on the Processes buttonSelect 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

    Continued

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

    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/AdministerSelect '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.

    ContinuedNote: 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 ConversionsScopePurchasing ObjectsPayables ObjectsReporting ObjectsTimelineInitiative Began in Summer of 2009Purchasing Objects Converted before 2009 Year EndPayables Objects Converted in 2010ACH RemittanceCheck PrintingReporting Objects Converted on an Ad Hoc Basis

  • Purchasing Objects ConversionScopePO PDF DocumentPO Email CapabilityBenefitsAutomated Attachments InclusionPO Header Level Attachments Automatically Included in PO EmailAttachments from Most Recently Updated PO Line Automatically Included in PO EmailEmail Body ConfigurationPO Email Body Fully Configurable via FND MessageAutomated PO Attachment of PO PDFSeeded View Document Function Now Utilized to See PO PDFFont Color Now AllowedOptio Technology No Longer NeededDevelopment IssuesMultiple Patches Required to be AppliedAttachments Inclusion Initially Picked Up Non-Related AttachmentsAttachment ID Match Across Attachments Type

  • Payables Objects Conversion ACH RemittancesScopeACH Remittance PDFBenefitsError ReportingACH Remittance Program Now Produces PDF Output File with Failed Records and DetailPrior Process Required AP Review Rejected Emails to Shared Public FolderSingle Reprocess CapabilityAP Now Has the Ability to Send Individual ACH Remittances Based on Error Report and Reprocess NeedsOptio Technology No Longer NeededDevelopment IssuesInitial ACH Remittance Error Report Had Insufficient Detail

  • Payables Objects Conversion ChecksScopeAP Physical ChecksBenefitsAbility to Save PDF File of All Checks PrintedCheck Font Stored on the ServerNo Longer Required to Ask MIS OPS to Resend Check Font to Local Printers Upon Printer RebootAbility to Print AnywherePDF File is Saved Locally and PrintedOptio Technology No Longer NeededDevelopment IssuesDEV Team Does Not Have Access to Physical PrintersOutput Differs Across PrintersDEV Team Does Not Have Actual Check PaperWrapping Lines in the Check Caused Check Layout to ShiftFont IssuesNumber of Invoices Continuing on Multiple PagesOnly One Actual Check Can Output

  • Reporting Objects ConversionScopeExisting Oracle Reports Converted as RequestedNo Overall Initiative Yet Begun to Review the Set of ReportsCompletedSuppliers ReportIn ProcessPosted Invoice RegisterBenefitsIncreased Configuration Capabilities via XML Publisher AdministratorReport File Type Output Options to the RequestorDevelopment IssuesLayout Challenge from Existing PresentationNot Always a Straight Forward Mirror Conversion OptionOracle Patch Still Required for Proper XML Report Request Default File Type Output Option

  • Check Printing: Additional XML SetupsCreate Font FileCreate Font MappingsSite Level ConfigurationsSetup MICR Font on Application Server

  • R12 BI Publisher FeaturesData Extraction EngineBursting EngineConsolidated Document PublishingTemplate EnhancementsRTF TemplatesTemplate BuilderDelivery ManagerTemplate ManagerTranslation ManagerConfiguration ManagerFont ManagerIntegrationOA Framework Report ViewerSingle Step ReportingPerformanceReduced processing time, memory footprint and temporary file space

  • BI Publisher BenefitsReduce development and maintenance costs Consolidate reporting solutionsConsolidate data sourcesFunctional users build and customize layoutsIn-house printing and delivery now achievableIncrease developer productivity

  • BI Publisher BenefitsReduce reporting tool training requirementsFaster report creationImprove performanceFaster data extractionFewer database hitsLayout level formatting

  • Business Intelligence Publisher BlogsTim Dexter/BIP Official Blog: http://blogs.oracle.com/xmlpublisher

    A BI Publisher developers diary: http://blogs.oracle.com/BIDeveloper/

    Oracle BI Publisher Consulting: http://bipconsulting.blogspot.com/

    BI Publisher Blog - Ike Wiggins: http://bipublisher.blogspot.com/

    In Depth Apps - eBusiness Suite - Gareth Roberts: http://garethroberts.blogspot.com/

    The Lowe Down http://www.thelowedownblog.com

  • Contact Information:

    Brent Lowe

    STR Software

    [email protected]

    www.thelowedownblog.com

    www.strsoftware.com

  • Contact Information:

    Mohan Dutt

    VeriSign Inc

    [email protected]

    www.ebizocp.blogspot.com

  • Thanks to Oracle Mix VotersMany thanks to voters on Oracle Mix for voting for this presentation on Suggest A Session contest

    Session Survey: S319049

  • Q & A

    Misc profile valuesDifferent ways to setup templates and generate XMLDifferent delivery methods, delivery configuration