100% found this document useful (1 vote)
10K views

Oracle XML Publisher

Oracle XML Publisher and Template Builder for Microsoft Word was a presentation about using Oracle XML Publisher and Template Builder to create templates in Microsoft Word for generating reports from XML data. The presentation covered the XML Publisher paradigm, benefits, getting started process, template builder directives like for-each loops and data fields, designing templates using sample XML output, and previewing templates. The process involves setting up an E-Business report to output XML, designing a template using Template Builder extensions in Word, and registering the template with XML Publisher.

Uploaded by

Sai Narayan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
10K views

Oracle XML Publisher

Oracle XML Publisher and Template Builder for Microsoft Word was a presentation about using Oracle XML Publisher and Template Builder to create templates in Microsoft Word for generating reports from XML data. The presentation covered the XML Publisher paradigm, benefits, getting started process, template builder directives like for-each loops and data fields, designing templates using sample XML output, and previewing templates. The process involves setting up an E-Business report to output XML, designing a template using Template Builder extensions in Word, and registering the template with XML Publisher.

Uploaded by

Sai Narayan
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 38

Oracle XML Publisher and

Template Builder for Microsoft Word


Presenter : Sai Narayan
Date : 25-June-08

Presenter Name
Date DD/MM/YYYY
XML Publisher Paradigm
• Separates data/layout/output format

XML

Data Logic

XSL
Layout
XML Publisher
Report
Translation Output
XML Publisher Benefits
• Templates can be designed by functional user using familiar desktop tools
• Reduced maintenance costs – Enhancements like font changes/logo
changes etc can be done by functional user
• Flexibility of output – PDF, Excel, HTML
Getting Started
• Download and Install Oracle XML Publisher Desktop Patch 5.6.3
• Patch # 5887917
• http://updates.oracle.com/download/5887917.html
• Patch contains Template Builder and Template Viewer
• Template Builder
– Is an extension to Microsoft Word
– Allows development of RTF templates
• Template Viewer
– Provides report preview capability
Template Builder
• The template builder is an extension to your Microsoft Word
• It is available in the menu and toolbar
Process Overview
• Set the E-Business Report to generate XML output
• Run the concurrent program using SRS to obtain sample XML output
• Design your template using Microsoft Word Template Builder
• Use Template Viewer with sample XML output to finetune template
• Register E-Business Report as “Data Definition” using Template Manager
• Register and upload template using Template Manager
• Assign the template to the data definition code
• Let’s rock !
Set E-Business Report Output Format
• Navigate as System Administrator->Concurrent->Program->Define
• Set Output Format to XML and save
Run E-Business Report for Sample XML Output
• Run the E-Business report. For example, say Invoice Print (Receivables)
• Click on output and save the XML output to a file
Sample XML Output File
• Note the structure of the XML file
Designing the layout – Get the requirements
• Decide how the report layout should look like on paper
• For example, say the Receivables invoice needs to look like this (at least
part of it)
Template Builder – XMLP Directives
• for-each loop
• data fields
• page header/footer
• page numbering
• sorting
• page breaks
• calculated fields
• extended functions
• conditional logic
• images/logos
• Dynamic data columns
• Rows per page
• Last Page Only content
• Re-grouping xml data
• Cell highlighting
• Page totals
for-each loop
• Define groups to notify XML Publisher to loop through repeating information
• Insert the following tag before the first element
<?for-each:XML group element tag name?>
• Insert the following tag after the last element
<?end for-each?>
• E.g. The XML group element tag name “G_INVOICE” for recurring invoice
information
<?for-each:G_INVOICE?>
……invoice lines……
<?end for-each?>
Data fields
• Placeholders map the template field to the XML data field
• Syntax - <?XML element tag name?>
• Placeholder must match XML element tag name exactly
• Case sensitive
• E.g. The placeholder <?TRX_NUMBER?> identifies the Invoice Number
Page Header/Footer
• Enclose the body area of the report within the following tags
<?start:body?>
<?end body?>
• Elements occurring before the <?start:body?> tag compose the header
• Elements occurring after the <?end body?> tag compose the footer
Page Numbering
• Use Microsoft Word page numbering
• From Insert menu, select Page Numbers
• Select the position, alignment and format as desired
Sorting
• Insert sort tag within the group
• <?sort:element name?>, for example to sort by transaction number
– Enter the following after the <?for-each:G_INVOICE?>
<?sort:trx_number?>
• No end tag
• Sort on multiple elements possible, use multiple sort tags
– Example: <?sort:trx_number?><?sort:trx_date?>
• Sort on calculated fields supported
Additional Sorting
• Sort order descending
• Data type sorting
– Number
– Date
• Separated by semi-colon (;)
• <?sort:trx_number;
data-type=‘number’;
order=‘descending’?>
Page Breaks
• Just before the <?end for-each?> tag either…
– Insert a Microsoft Page Break
• Insert->Break->Page Break
-or-
• <Ctrl> + <Enter>
– Use XML Publisher directive
• <?split-by-page-break:?>
• This avoids extra blank page at the end of report
Calculated Fields
• Use field names and operand(s)
– + - Addition
– - - Minus
– * - Multiplication
– / - Division
• Example <?field1 + field2?>
• Not required to be in form field
Extended functions
• Some SQL functions can be used in template
 RPAD, LPAD, REPLACE
 INSTR, SUBSTR, LENGTH
 DECODE
 SYSDATE
 TO_NUMBER, TO_CHAR
 UPPER, LOWER
 GREATEST, LEAST
 ROUND, CEIL, FLOOR
 Usage is <?xdofx:function_name(params)?>
 It is NOT case sensitive
 Not required to be in a form field
Conditional logic
• Support for IF and CASE statements
• IF
– <?if:boolean_test?>
<?end if?>
– Example : to display only invoice lines with a line type of “LINE”
– Enclose the invoice line output within the tags below
• <?if:LINE_TYPE='LINE' ?>
• <?end if?>
 CASE
 <?choose?>
<?when:boolean_test?>
<?end when?>
<?otherwise?>
<?end otherwise?>
<?end choose?>
Images/Logos…
 Use a table for complete control of image behavior
 Static Images
 Paste the image directly into layout template
 URL
 Dummy image on template
 Specify URL in alternative text section
 Double click on image, go to web tab, alternative text field
 url:{‘www.myspace.com/xml_example/myimage.gif’}
 Server-side Images (in EBS)
 Dummy image on template
 Specify URL in alternative text section
 url:{‘${OA_MEDIA} /myimage.gif’}
 Also supported
 URLs and Paths in XML elements or combination of elements
 BLOBS from database
Dynamic data columns
 Dynamic Column Header
 <?split-column-header:group element name?>
 Dynamic Column Data
 <?split-column-data:group element name?>
 Example: Print departments in column header and demand qty as column
data
 Column header
 <?split-column-header:G_DEPT_CLASS?><?DEPT_CLASS?>
 Column data
 <?split-column-data:G_DEPT_CLASS?><?SUM_QTY?>
Rows per page
 Define row counter variable in a form field
<?xdoxslt:set_variable($_XDOCTX, ’Counter’, 0)?>
 Increment counter for each line (again in a form field)
<?xdoxslt:set_variable($_XDOCTX, ’Counter’, xdoxslt:
get_variable($_XDOCTX, ’Counter’) + 1)?>
 Break if the number of rows is reached (say 6 rows in this example)
<?if: xdoxslt:get_variable($_XDOCTX, ’Counter’) mod 6=0?>
<?split-by-page-break:?>
<?end if?
Last Page Only Content
• Create a section break in MSWord (Insert->Break->Section break Next
page)
• Insert the following syntax on the final page:
<?start@last-page:body?>
<?end body?>
• Content on the page above and below these tags will appear only on last
page
• Headers or footers previously defined for the report must be reinserted on
the last page
Re-grouping XML Data
 Not limited by the structure of the data source
 Use the tags
 <?for-each-group: BASE-GROUP;GROUPING-ELEMENT?>
 <?end for-each-group?>
 Can establish nested groupings
 <?for-each:current-group(); GROUPING-ELEMENT?>
 <?end for-each-group?>
 Example: CD Catalog XML data is grouped by CD. To change to group
by country, use the syntax below:
 <?for-each-group:CD:COUNTRY?>
Cell highlighting
• Native XSL embedded within XMLP using xdofo:ctx component
• Example: Change cell color to red if debit amount > 1000
<?if:debit>1000?>
<xsl:attribute xdofo:ctx="block“
name="background-color">red
</xsl:attribute>
<?end if?>
Page totals
• Declare variable to hold page totals, following data element declaration
• <?add-page-total:TotalFieldName;'element'?>
• Display total field
• <?show-page-total:TotalFieldName;'Oracle-number-format'?>
• Example: Suppose we want to total the field “debit”
• Create a page total variable called “dt” (it follows the placeholder)
<?debit?><?add-page-total:dt;'debit'?>
• Insert the show page total syntax in the page footer
<?show-page-total:dt;'C9G990D00';'(C9G990D00)'?>
• Page totalling available only for PDF output type
Template Builder – Load XML Data
• First step - Load the sample XML output file using Data->Load XML Data
Template Builder – Inserting Placeholders
• Insert placeholders using Insert->Field menu option.
• Text form fields
• Tag name is visible by clicking the Add Help Text button within the Text form field

• Use Microsoft Word tables for better alignment


Template Builder – Sample template explained
Template/XML/Form Field – How they relate
Transaction Number
XML

Template

Text form field


Template Builder Preview
• Preview template as PDF, HTML, Excel or RTF output
• Finetune till desired output is achieved
• Save template as .rtf file
Template Manager – E-Business Data Definition

• Navigate to XML Publisher Administrator responsibility


• Home->Data Definitions->Then Click on Create Data Definition button
• Enter details * Note: the Code is same as the concurrent program short
name – RAXINV_SEL
Template Manager – E-Business Template
• Navigate to XML Publisher Administrator responsibility
• Home->Templates>Then Click on Create Template button
• Assign the template to the Data Definition created earlier
• Upload the RTF file
Run concurrent using SRS
• Run the concurrent program using SRS
• Click Options button
• Select Output Layout Format – Default PDF
Exceptions
• Navigate System Administrator->Concurrent->Manager->Administer
• Select Output Post Processor
• Click on Processes button
• Select the active process
• Click on Manager Log button
• Review the log for exceptions
• More details and options for debugging – Refer Metalink Note 364547.1
References and more info.
• XML Publisher Blog
– http://blogs.oracle.com/xmlpublisher/
• XML Publisher Oracle Product Site
– http://www.oracle.com/technology/products/xml-publisher/index.html
• XML Publisher Forum
– http://forums.oracle.com/forums/forum.jspa?forumID=245
• User Guides
– Oracle XML Publisher User’s Guide
– Oracle XML Publisher Report Designer’s Guide
• Metalink Notes
– Metalink Note 422508.1 – About XML Publisher Release 5.6.3
– Metalink Note 364547.1 - Troubleshooting Oracle XML Publisher for Oracle Applications 11i
• Oracle Tutorial for XML Publisher for EBS
– http://www.oracle.com/technology/obe/obe_bi/xmlp_ebiz/index.html

You might also like