Main

JD Edwards Archives

July 19, 2006

Open World is coming to town ... with lots of XMLP

Its coming ... its even bigger I hear rumors of Oracle taking over a block of Howard Street in San Francisco to "extend" the Moscone Center for the week :o)
This year there will be two XMLP events for EBS and PeopleSoft customers at the Extreme Weekend - lots of hands on stuff to dip your proverbial toes in the XMLP water. Places are limited so book early.
There are also over 20 sessions related to XMLP and its use throughout the all of Oracle including EBS, JDE, PeopleSoft and Enterprise. The sessions are not just from development, we have customer and a partner sessions lined up. Last year they were turning folks away from the doors so get there early too.
Of course the demo pod will be swamped all week but drop by, hang out, have a chat and get a demo or three!













































































Session ID Session Title

S281400
Oracle XML Publisher - Enterprise Reporting and Delivery Platform

S281401
Customer Case Study: XML Publisher Live with all the Bells and Whistles

S281461
Implementing XML Publisher for PeopleSoft Enterprise

S281593
Oracle XML Publisher for E-Business Suite, with Customer (City of West Palm Beach) as a Case Study

S281725
Developing XML Applications using Oracle Fusion Middleware

S281740
Leverage Fusion Middleware Technologies Now with PeopleSoft Financial Management Release 9

S281765
Financial Reporting in Oracle E-Business Suite Financials

S281903
Oracle Enterprise Planning & Budgeting -- What's New

S282107
Understanding the EnterpriseOne Reporting tools and choosing the best tool for your needs

S282232
Oracle E-Business Public Sector Financials in Release 12

S282284
Better Enterprise Reporting through XML Publisher

S282444
Oracle Inventory & Warehouse Management: What's New in Release 12

S282562
Oracle E-Business Suite Release 12 CRM Overview

S282771
Technology Trends in Primary/Secondary/K-12 Education

S282878
E-Business Suite: Tools and Technology

S282881
PeopleSoft Enterprise: Tools and Technology

S282964
Enterprise HCM 9.0 Common Components

S283007
Fusion Technology in PeopleSoft SCM and SRM Products

S283117
Fax, Print and Email from Oracle E-Business Suite Using XML Publisher  

S283151
The Impact of Oracle Fusion Middleware on Implementation Project Strategies for Data Cleanup, Conversion, Integration, Business Intelligence, and Instance Management  

S283168
OAUG XML Publisher SIG  

S283183
JD Edwards EnterpriseOne Tools and Technology X-treme Weekend Program


The above sessions are of course subject to some change but you get the idea.

November 9, 2006

How about another date?

Im interrupting the Data Template flow with a really great question and answer from the forum that I wanted to share on time zone formatting. For those of you that want to include a timezone portion into your output dates XMLP can help but you might not find what you expect!


Let's assume we have the following date element in our data stream:


 2006-07-27T12:48:00.000+02:00

Notice the timezone offset from GMT i.e. Paris, France.
Using 
       <?format-date:DATE_TEST; 'LONG_TIME_TZ'?>
we  get
 Thursday, July 27, 2006 10:48 PM GMT

The GMT appears incorrect we were expecting 'Paris' ... hey thats a bug! Look closer and you'll notice that the time component has been adjusted back by 2 hrs. So it is actually correct for the GMT timezone.
So how do we stop the adjustment and see 'Paris' i.e. Thursday, July 27, 2006 12:48 PM Paris
This can be achieved using:
    <?format-date:DATE_TEST; 'LONG_TIME_TZ';'Europe/Paris'?>
that 'Europe/Paris' is a java time zone specification. The list can be gotten here, http://www.thescripts.com/forum/thread15954.html
This is in the user docs but  a little tough to grasp(;o). If you are in EBS then there is a profile option, more details in the user guide. If you are using APIs the java time zone can be passed into the template as a parameter.  Neat!
 

February 20, 2007

Whats in a name?

Many of you will have noticed, maybe even been confused by another product that has hit the Oracle streets namely 'Business Intelligence Publisher', BI Publisher for short and now affectionately know as 'BIP' by the cognoscenti.
Its not a new product, its XML Publisher with a new identity for its place in the BIEE suite of products, where it now generates the 'high fidelity' output from the BI Suite (more on this in a later posting.) Its also the new name for the recently released 10.1.3.2 Enterprise release, BIP Enterprise, again, more on that later too.
For now it remains as 'XML Publisher' under E Business Suite PeopleSoft Enterprise and JD Edwards EnterpriseOne and World products. Have no fear they may have different names but under the covers its the same core engine at work. 


Update on versions ...


Yeah, things are getting complex on our numbering system  so here's the low down. Im mapping ERP releases to the original XMLP release numbers ...


Applications
EBS 11.5.10  - baseline release comes with R4.5
EBS 11.5.10 RUP2 - comes with R5.0
         Of course for EBS 11i you can apply the latest XMLP release from metalink 5.6.2. The 5.6.3 release is coming soon.
EBS R12 - baseline release comes with release 5.6.3
PeopleTools 8.48 - comes with release 5.6
JD Edwards - comes with 5.6

BI EE & Standalone

BIEE Release 10.1.3.2 - contains BI Publisher 5.6.3
BI Publisher Enterprise 10.1.3.2 - based on 5.6.3 release.

February 21, 2007

Empower your users ...

Our marketing and I would have you believe that XML Publisher can empower your end users to build their own layouts and for the majority of your reports I still think thats true; creating listing reports with sub totals, re-grouping and page breaks are well within the capability (after a little training) of all but the most ardent technophobe. But when it comes to more complicated documents, usually the customer facing types, invoices, purchase orders, etc they very quickly need to get into some more advanced features which the template builder does not yet support and IT needs to step in. But IT does not need to do it all and revert to the slow report development seen before the advent of XMLP.


Another great tip from Serge in EMEA consulting came out at last weeks training event. Give the user a blank MSWord document and one formfield ... now ask them to design the complete layout of a report use the formfield to position the data and put in some sample data into the fields and even go as far as formatting them i.e. date, string or number. Then have them mark up the document with the look and feel they want, logos, colors, etc. If they think an invoice is going to stretch across multiple pages have them design the second and possible subsequent pages. Once they are happy with it, get them to sign off on it, you can then enable the template putting required data tags and for-each structures. Before handing back to the user for testing with some sample data Serge goes as far as to hide the form fields that contain the logic for the report from the user. This is simple enough, just mark the control fields and then set the font to hidden, you can use the ¶  to show/hide the fields. If the user needs to move data about, they can without getting worried about 'breaking' the report. Word of caution here thou, they could move things around just that little too far.


So even on the tougher templates the end user can still be involved in the design and get what their users want in the output and get that report out and into production much faster <:o) 

February 22, 2007

More Charts Anyone?

Charts charts charts ... yep XMLP/BIP can do em ... in fact it can do about 30 different types but the Insert Chart dialog of the template builder now only exposes about 6 of them, with a few bells and whistles ... if you want to go further then you have to get coding. I've covered some alternatives for the coding in previous posts but Im now posting what I hope is going to be a useful 'cheat sheet' for some of the tougher chart styles. Again, thanks to another Oracle Consulting star, Kan Nishida who put the samples together you can now quickly grasp how to put together the following chart types:



  • Multi Bar Chart
  • Dual Y Bar Chart
  • Split Dual Bar chart
  • Vertical Bar Stack
  • Line Chart
  • Dual Line Chart
  • Pie chart
  • Pie Ring Chart
  • Multi Pie Charts
  • Area Chart
  • Area Vertical Stack

Some easy ones, some not so easy, Kan has provided some useful hints in the template on whats needed for a specific chart type and of course you can always take a look at the web properties for the dummy chart images to get a better idea. RTF template, XML data and PDF output available here.


Update
Got a request for a multi bar/line combo chart ... here it is.

March 27, 2007

Anatomy of a Template I - Fixed Row Enumeration

The bursting articles are still in process ... I did some work a while back for a training course on the 'anatomy of an invoice template' ... there are some useful 'bits' that I thought you might like to see. 


One of the most requested features on the forum for RTF templates is to show a fixed number of rows per page. Maybe you have pre-printed stationary that can only take a certain number of lines, maybe you have a functional requirement for it. For whatever the reason id the functional folks have given it to you to implement.  Up until now there has been a template floating around that I think I let loose that shows how this can be done for invoices. There is little explanation of whats going on and how it's done. I'll try and make ammends to those of you that may have gotten a little lost but plugged it in anyway and it worked so what the heck.


I have started off small and we'll build this template up into a full invoice format that can run against the standard AR Oracle Report in 11i (RAXINV) ... those of you that are not EBSer's or are not interested in the invoice format, dont worry, you can follow along and apply the same principles to any data set. Here's the features out template is going to have.

1. A fixed number of rows per page,
2. 'Filler' space for lines, because that last page may only have 3 lines but you want to maintain the layout
3. Page totals or 'Continued' in place of a total
4. Last page only content
5. Header and page number resetting as we hit each new invoice in the batch.


For all of the explanations we are going to use the attached XML. Its a full invoice batch, thats multiple invoices having multiple lines.

The Data


Lets start with number 1, for the fixed row enumeration we are only interested in the lines section of the XML, so we can focus on this portion Im going to ignore the rest of the XML. We are only interested in the G_LINES group of the XML structure:

<G_LINES>
 <LINE_NUMBER>1</LINE_NUMBER>
 <LINE_CUSTOMER_TRX_ID>1903</LINE_CUSTOMER_TRX_ID>
 <LINE_CUSTOMER_TRX_LINE_ID>1801</LINE_CUSTOMER_TRX_LINE_ID>
 <LINE_CHILD_INDICATOR>0</LINE_CHILD_INDICATOR>
 <LINE_TYPE>LINE>LINE</LINE_TYPE>
 ...
</G_LINES>
<G_LINES>
 <LINE_NUMBER>2</LINE_NUMBER>
 <LINE_CUSTOMER_TRX_ID>1903</LINE_CUSTOMER_TRX_ID>
 <LINE_CUSTOMER_TRX_LINE_ID>1817</LINE_CUSTOMER_TRX_LINE_ID>
 <LINE_CHILD_INDICATOR>1</LINE_CHILD_INDICATOR>
 <LINE_TYPE>LINE>LINE</LINE_TYPE>
 ...
</G_LINES>


There are obviously a lot more elements and a lot more lines but all we are interested in is, the grouping and the line type for now.


The Template


Now take a look at the template; if you just look at the table and nothing else it all looks pretty normal. We have a for-each, some fields followed by an end for-each ... straightforward stuff right. You'll notice the for-each has a little more going on thou and there's that 'if' condition:

<?for-each:$invLines?>
<?if:position()>=$start and position()<$start+$lpp?> 

I'll come back to these, lets look first at the fields above the table:

LinesPerPageVariable - this does what it says on the can and sets up the number of lines we want to see per page and assigns it to a variable 'lpp'. Now remember native XSL 'variables' are not like other language variables, think of them more as constants.
        
        <xsl:variable name="lpp" select="number(15)"/>

LinesTreeVariable - this holds not just a single value but a complete tree of values. Word of caution here, if you are going to do this you need to be aware that the XSLT engine is going to load this tree into memory ... so do not load huge trees. In our completed invoice template we will only load the lines tree for each invoice. In this example we are loading all the lines in the XML regardless of invoice ... thats OK thou, our XML is small, just be aware of what are doing here.
We have a variable 'invLines' and we are loading the members of the G_LINES group where the TYPE is equal to 'LINE'. Notice we use an XPATH expression to do this. We also use the 'incontext' command to ensure we are picking up the lines only for the current position i.e. within the current invoice. For this example remember we have no invoice header so we pick up all lines into the tree.

          <xsl:variable xdofo:ctx="incontext" name="invLines" select=".//G_LINES[LINE_TYPE='LINE']"/>

FEinvLines - this is the first loop we need to to go over the G_LINES group we created earlier. Although there is only a single group we need to iterate over it so we can set up a variable to hold the starting line position.
The if statement is checking if the record position we have reached modulizing with the line per page count equals zero i.e. we have reached the first record
 the create a variable (constant) called 'start' and initialize it with '0'.

<?for-each:$invLines?>  
 <?if:(position()-1) mod $lpp=0?>  
   <xsl:variable name="start" xdofo:ctx="incontext" select="position()"/>


Now we get into the table, the first field in their is another for-each but this time we are going to loop over the members of the invLines tree. Notice the use of the '$' to reference the variable.


<?for-each:$invLines?>
 <?if:position()>=$start and position()<$start+$lpp?>

The if statement here is checking that the current record pointer 'position()' is either greater than 'start' ie the first record or less the 'lpp' value we set up earlier. If it is then show the record otherwise not. the rest of the table is standard stuff.

Now we wanted a fixed number of rows per page and the logic above will provide that but of course the template needs to signify the need for a page break after the alloted number of rows have been shown. Looking at the 'Page Break' field:


<xsl:if xdofo:ctx="inblock" test="$start+$lpp<=count($group)">
 <xsl:attribute name="break-before">page</xsl:attribute>
</xsl:if>

We have an 'if' statement wrapped around the page break instruction. This is just like the if in the table, if the specified number of rows has been met then insert a page break.

So thats fixed row enumeration, hope things are a little clearer. Next we'll add in the header for th invoices so we can then ensure we have a fixed layout per page of each invoice. Complete template, data and PDF are here.

March 28, 2007

Anatomy of a Template II - Headers and Filler

Continuing on from yesterday, today we'll add in the repeating header and a filler for the invoice lines. Imagine you have pre-printed stationary, yesterday we tacled how to get X number of lines on each page, now assume that on the last page of the document you need a summary at the bottom of the page. If that last page only has 5 rows of data and we were printing 20 rows on the previous pages then once the 5 rows are rendered the summary will then render directly under the five rows i.e. not at the bottom of the last page ... still with me? With 5.6.2 we introduced the concept of a last page only command; we could use that here but I want to continue with the idea of filler rows and we'll tackle the last page only option later.


Taking a batch invoices as our example we can add the header and the filler rows.


Reset your Head


For the header we want to have say an invoice header with page numbering, etc. As we hit a new invoice we want the header information to change and the page numbering to reset. To do this we can use the '@section' option for the for-each command. We create the header layout in the MSWord header.


InvoiceHeader:


Notice we can not put formfields in to the MSWord header section so we either need to type in the commands or use a header template and reference it.
The only extra fields added are:a
FE G_INVOICE - this starts the looping over each invoice using the @section to reset the header information as each new invoice is reached.
         <?for-each@section:LIST_G_INVOICE?>
EFE - this closes out the loop above

Running this template (Inv_Header.rtf) gives us two invoices with a repeating header on each page with page numbering per invoice.

Spaced Out

Now lets add the logic for the filler rows, you can see the new fields and empty table just below the lines table in the Inv_Header_Spacer.rtf template. There are two new fields
Filling Out Space - this contains the logic to check if the number of rows rendered above equals the lines per page variable. If not then insert the table row until it does.
<?if:not(count($invLines) mod $lpp=0) and ($start+$lpp>count($invLines))?>
  <?for-each:$invLines?>
     <?if:position()<$lpp - (count($invLines) mod $lpp)?>

then we have the blank table row, then 
End Filling - this just closes out the for-each and the if statements. 


I just added a static string 'End of padded lines' to check that we are actually padding. Complete samples available here.


Next, page totals and last page only ...

March 30, 2007

Anatomy of a Template III - Page Totals and Last Page

Finishing up on this series we will now add a page total and a region that needs to show only on the last page of the document.

Page Totals - as many of you know we have direct support for page totals. You register a page total object in the template and then place it where its required to be rendered. The total is not actually calculated until the rendering engine starts to layout the data on the page, thats the only point at which the engine knows how many 'line' can fit on the page. In our case we know how many lines we are going to fit because we have fixed the number of rows before the rendering engine starts. We also already have those lines loaded into a variable 'invLines' so calculating a total is going to be relatively straightforward.


<?sum($invLines[(position()>=$start) and (position()<($start+$lpp))]/LINE_EXTENDED_AMOUNT)?>

Here's an XPATH expression again inside the '[ ]', this limits the number of rows we want  to sum. it's like a 'where' clause on our data.

If we wanted the word 'Continued ...' to be shown we test the current record position against the total number of lines for the invoice. If they were not equal then we would show the 'Continued ...' string.



Last Page Only - again we now have native support for this when you do not know how much data is going to fit on a page with 5.6.2. In this case thou, we know how much data is going on the page and can ensure that a section on prints on the last page. Take a look a the template, there is a table to hold the summary/special instructions for the invoice at the end of the template. All we have done is wrap an if condition around that table:


<?if:count($invLines) < $start+$lpp?>

This checks to see if we have reached the end of the invoice lines section and if so then render the summary section i.e. on the last page. Then we close out the if condition. To get the table to appear at the bottom of the last page you'll have notived that we created a two celled table and put the line table in the top cell then the summary in the lower one and then drageed the cell border down the page to position the summary at the bottom of the page.

We now have an all singling all dancing invoice template, the features we added were:

1. A fixed number of rows per page,
2. 'Filler' space for lines, because that last page may only have 3 lines but you want to maintain the layout
3. Page totals or 'Continued' in place of a total
4. Last page only content
5. Header and page number resetting as we hit each new invoice in the batch.


The final template, data and output are available here.

We can now take some of those individual features and apply them to pretty much any other document whether than be a batch of purchase orders or a single standard letter showing outstanding invoices. Hope it's been helpful.

April 11, 2007

Nearly a year old and time to collaborate again ,,,

Well, its that time of year again ... Collaborate 07 kicks off in Vegas on Sunday. Its funny I started this blog a short time before Collaborate 06 in Nashville last year; 78 articles and supposedly more than 230,000 hits later and here we are again. Sadly, I cant make the conference this year, lets call it a slight technical hitch. However, there are many sessions going on either featuring XMLP/BIP or its an integral part of a solution especially the EBS, PS and JDE sessions.
If you're going and have an interest in XMLP/BIP try and get along to one of the sessions, even if you are a Quest person and do not think theres much for you, get along to a session, many look like they are generic enough that you'll learn a ton. BIP is coming to a system near you. If you can not make a session, bug the folks down on the demo grounds for a demo. More info at the Collaborate website.






































0 Association: Quest
  Day/Time: Tuesday   01:45 PM -
  Title: JD Edwards EnterpriseOne reporting: Options du Jour

  Abstract: - Getting the right information to the right people at the right time is critical for business success. Oracle's JD Edwards EnterpriseOne customers have several options for digging into the data, designing the output, and distributing information. ...

  Track: Development
  Product: Development
  Presenter: Curtis  Fletcher
  Company:
  Room: Jasmine C


































1 Association: OAUG
  Day/Time: Sunday   01:00 PM - 02:00 PM
  Title: OAUG xml publisher SIG

  Abstract: OAUG xml publisher SIG general meeting.

  Track: Professional Development
  Presenter: Chandan
  Company:
  Room: Breakers H



































2 Association: OAUG
  Day/Time: Monday   10:30 AM - 11:30 AM
  Title: Leveraging xml publisher Technology to Enhance Your Reporting Strategy

  Abstract: With our dynamic workforce today many organizations have programs or reports written by individuals whom are no longer employed or engaged by the organization. When a modification needs to made to one of these legacy reports, research is required to figure out how and where to make this change. XML attempts to overcome this issue by creating output documents that should be human-legible and reasonably clear. The technology provided by PeopleSoft and Oracle provides a solution to these real world issues and at times reduces the number modification needed to produce the desired results.


What is XML How can I leverage the technology in my organization Real world example of XML solutions for PeopleSoft Enterprise Examples of organizations that conform to XML standards The future of XML standards

  Track: Development
  Presenter: Lewandowski
  Company:
  Room: Breakers L



































3 Association: OAUG
  Day/Time: Tuesday   11:00 AM - 12:00 PM
  Title: Configuring OM for Fast-Paced Counter Sales

  Abstract: Thompson Building Materials, a division of Thompson Enterprises, has several fast paced, retail showrooms that sell building materials directly to walk-in customers. Given their operation, a full-blown retail solution was not justifiable and a custom solution was not desirable. Join Steven Thompson, CTO of Thompson Enterprises, and their implementation partner, Innowave Technology, as they describe how Oracle Order Management 11.5.10 can be configured to streamline the order capture process to quickly and efficiently handle 双ver the counter? orders. This session will also discuss how xml publisher was used to print receipts and other documents. Some of the challenges as well as tips/tricks will be discussed as well.

  Track: Manufacturing
  Presenter: Thompson
  Company:
  Room: Breakers D



































4 Association: OAUG
  Day/Time: Tuesday   11:00 AM - 12:00 PM
  Title: Road to Vegas: XML and Discoverer 10g For Users

  Abstract: xml publisher combined with Discoverer provides a complimentary full spectrum environment to meet all business reporting needs. Discoverer is a powerful ad-hoc reporting tool designed so that all levels of users can quickly and easily create reports and analyze data without writing complex code. xml publisher provides a mechanism to deliver intricate printable documents with rich formatting using simple template structures and XML data. Learn how to combine these technologies to provide quality, publishable reports for a multitude of purposes.

  Track: Development
  Presenter: Sharpe
  Company:
  Room: Breakers J



































5 Association: OAUG
  Day/Time: Monday   03:30 PM - 04:30 PM
  Title: xml publisher: Taking Standard Reports from Drab to Fab!

  Abstract: Each of the configured modules within the Oracle Applications installation provide about 40 standard reports that enable users to perform various reporting tasks from simple listings to more complex computations.

Standard reports are used to support key business processes and are particularly suitable for large transaction reporting.

With standard functionality, the output for these reports is delivered in Courier font, and is difficult to read. If users wish to use the information for presentations, the report can be saved as a text file, imported into Excel.

Oracle xml publisher is a template based publishing solution that has been available since 11.5.9. Aimed at functional users, it integrates the functionality of word-processing tools with existing E-Business Suite Reporting, without the need for technical assistance from Developers.

The collection of data is still managed by the E-Business module, but at run-time, xml publisher merges the report data with your designed template, utilizing fonts, color, images, charts, headers and footers and delivering them in PDF, HTML, Excel formats, as well as being able to populate pre-formatted 3rd party PDF forms (such as 1099 and W2).

The presentation will cover the xml publisher tool, simple examples of formatting output, conditional formatting, as well as establishing some Best Practices for using the tool.

xml publisher from Drab to FAB!

  Track: Financial Management
  Presenter: Briggs
  Company:
  Room: South Seas E



































6 Association: OAUG
  Day/Time: Tuesday   03:30 PM - 04:30 PM
  Title: xml publisher: The Do-It-Yourself Guide!

  Abstract: See what the buzz is about with xml publisher and see how Hologic, Inc has taken full advantage of this exciting tool. This presentation is a basic "How To" for those who would like to get started publishing Oracle Reports using xml publisher. We'll walk through an entire project lifecycle from SQL to XML and all the acronyms between. We'll spend time on tips, tricks and lessons learned, all the while not forgetting the fundamental steps in our report creation.

  Track: Development
  Presenter: Kretkowski
  Company:
  Room: Breakers L



































7 Association: OAUG
  Day/Time: Tuesday   04:45 PM - 05:45 PM
  Title: Fax and E-mail from Oracle E-Business Suite Using xml publisher

  Abstract: Are you looking for a proven solution to use Oracle痴 newest publishing tool, Oracle xml publisher? Learn how to maximize the power of Oracle Reports to automate fax and e-mail delivery of invoices, purchase orders, sales orders, checks, government forms, and other critical documents. This session provides valuable insights into document delivery, acknowledgment, and management using robust software backed by 20 years of established experience. Hear how Canada痴 largest communications company, a global document company, and a major tire distributor realized immediate savings, streamlined back-office processes, increased employee productivity, and shortened procure-to-pay and order-to-cash cycles for their products and services.

Executive Summary Communications between companies is critical so that commerce may occur smoothly and effectively. Any delay in the delivery of information may seriously affect the ability of a company to complete the manufacture, assembly, or shipment of its product or service. Delays impact profitability. Therefore, it is important for every organization to evaluate its communications methods, improve speed and accuracy, and most of all, reduce or eliminate costs along the way.

Business documents tend to be well-defined (such as purchase orders, invoices, statements, packing slips), printed and distributed to the intended recipient. Some companies cling to the use of printing these documents on pre-printed, multi-part forms. More progressive companies have purchased 吐orms packages,? replacing the pre-printed form with an electronic form which distributes to several printers dispersed throughout the company infrastructure.

Unfortunately, many companies overlook automating business communications by ignoring ways to improve the delivery of these critical business documents. They continue to use postal delivery, courier delivery, or manual faxing. All three of these methods include wasted material costs, human intervention, and delivery costs. Fortunately, this pain may be significantly reduced or completely eliminated by using an automated document delivery solution.

In late 2004, Oracle Corporation introduced xml publisher (hereafter referred to as XMLP) available on Oracle E-Business Suite (EBS) 11i. XMLP effectively eliminates the purchase of other third-party tools to create electronic forms. Standard tools like Adobe Acrobat and Microsoft Word may be used to create a form, and tokens? place data (such as the company, address, PO number, line items, etc.) from the Oracle database directly onto the form. The tokens are defined using an XML data stream. Additionally, XMLP touts the ability to deliver documents via fax and email. By using common applications to simplify forms creation and offering a delivery mechanism, XMLP greatly improves the efficiency of the document delivery process.

This paper is intended to educate users, developers, managers, and executives of companies using Oracle EBS to maintain and distribute critical business documents with a third-party automated document delivery solution.

  Track: Development
  Presenter: Bruno
  Company:
  Room: Lagoon B



































8 Association: IOUG
  Day/Time: Tuesday   04:45 PM -
  Title: Introducing xml publisher

  Abstract: Oracle xml publisher is a powerful report generation tool allowing the creation of standardized reports containing Oracle (and other) data quickly and easily. Originally intended to support Oracle' various ERP tools (Oracle E-Business, JD Edwards, PeopleSoft, Seibel, etc...) xml publisher is now available as a separate product. Attendees will learn how xml publisher is used to create and deploy powerful SQL-based reports; specific topics include: Creating reports, xml publisher process flow, report templates, file and database support, Report Editor, Query Builder, and PDF reporting.

  Track: Development
  Presenter: King
  Company:
  Room: Palm C



































9 Association: OAUG
  Day/Time: Thursday   08:30 AM - 09:30 AM
  Title: xml publisher (in EBS) for Dummies: A Step-by-Step Guide

  Abstract: Presentation will outline a step by step guide of how to implement xml publisher functionality - including the necessary patch levels and setups, online demo of the complete process of designing/testing/deploying a report from scratch, security and bursting features, mulitple language support features, and actual samples of xml publisher reports that Cummins uses today in a production environment.

  Track: Development
  Presenter: Chavali
  Company:
  Room: Lagoon C



































10 Association: OAUG
  Day/Time: Tuesday   09:45 AM - 10:45 AM
  Title: Oracle E-Business Suite Release 12-Customer Relationship

  Abstract: This session highlights Oracle E-Business Suite Release 12 for Customer Relationship Management--the latest release of Oracle E-Business Suite. The session describes new features and enhancements delivered in Oracle E-Business Suite Release 12, including a new user interface for improved user adoption; enhanced sales, service, and marketing capabilities; and improved order management. The session also describes how Oracle E-Business Suite is evolving to Oracle Fusion by using BPEL, business activity monitoring, Oracle xml publisher, and service-oriented architecture technologies.

  Track: Customer Relationship Management
  Presenter: Woollen
  Company:
  Room: South Seas H








































11 Association: Quest
  Day/Time: Thursday   09:45 AM -
  Title: xml publisher for Project Reporting

  Abstract: - This session is an overview of xml publisher. - It includes reviewing the basic xml publisher setup, report definition and several practical examples of how BTRG has used xml publisher for our projects reporting solution.

  Track: Projects
  Product: Projects
  Presenter: Martin
  Company:
  Room: Lagoon J



































12 Association: OAUG
  Day/Time: Thursday   09:45 AM - 10:45 AM
  Title: xml publisher: Behind the Scenes and How Does it Work

  Abstract: xml publisher is fast becoming the tool of choice for Oracle eBusiness Suite customers to fulfill their reporting needs. There is a lot of focus on how this tool makes report development easier and more robust. Join me to find out how xml publisher really works. This presentation will talk about behind the scenes look at the database as well as the developer components that are required in making xml publisher work. The presentation will provide you with a technical overview of what schema, tables and packages are used to store your templates. What XML technologies are used to format your templates? What conversions happen to your templates when they are stored in the database? How to transfer your templates from one instance to another using Oracle supplied tools? This presentation will provide you with a complete overview of behind-the-scenes of xml publisher ? both from the DBA as well as the Developer point of view, facilitating a smooth development and deployment process.

Executive Summary:

Oracle has a strong commitment to xml publisher. It is now part of Oracle Business Intelligence suite and has been renamed to Oracle BI Publisher. As per Oracle, Release 12i of eBusiness Suite has almost 80% of the reports that are XML based. They encourage organizations to adopt this technology from now on, since this is 禅he tool of the future?. One of the biggest strength of xml publisher is the output formatting. It solves a huge problem of laying out the reports that was there with traditional reporting tools.

As a result of this, there has recently been a lot of focus by Oracle customers, on how to develop reports in xml publisher. They are trying to find out what is required for them to convert existing reports to xml publisher and how to develop new reports. They also want to know how to modify Seeded Oracle Reports (which are all in xml publisher in Release 12i onwards). This being a new tool, customers are still busy learning the tool itself. They are not yet emphasizing on learning the back end of this technology.

Oracle has developed wizard like interfaces to manage the report development using this tool. Wizards are very good to use but at times it helps to know what happens behind the wizard痴 interface. Having that knowledge makes the developer even more productive as there are always certain things that are harder to do via a wizard and in some cases impossible. Having this extra knowledge is like having a full control of the development environment as well as enormous flexibility and customization potential

This presentation will give you details about behind the scenes of xml publisher. To understand the nitty gritties of the tool would be beneficial to all - the database and system administrator as well as the developer. This would facilitate a smooth report development and deployment if both the DBA and the developer understand the entire process and the terminology each one is using. This presentation will provide both the parties with a complete understanding of this tool by providing them with the following:

1) What happens in the system when the xml publisher patch is installed? 2) What happens when a template is loaded? 3) What XML is generated when they create a template? 4) Where are templates stored? 5) How are templates linked to concurrent programs? 6) What tools does Oracle provide to transfer the templates from instance to another without having to do it manually? 7) How XSL-FO is used to format the report layout.

And much more.

  Track: Development
  Presenter: Kumar
  Company:
  Room: Lagoon C

April 12, 2007

Getting Vertical

With the 5.6.3 (Apps) and 10.1.3.2 (Standalone/BIEE) release of the BIP core engine you now have the ability to get vertical with your report objects. Its a small enhancement but quite useful ... how many of you receive a documents now with a barcode striped down the side, or maybe you have a table of data, column data is narrow but column names are long, now you can just flip em.


There are some caveats - you can only flip the text or data while its inside a table cell and it only works for PDF and RTF outputs. To set the content to show vertically just
1. Select the cell,
2. Right click > Text Direction
3. Choose the direction you want.

VertText:

There is another option and that is to use the 'text along a line' feature, this has been around for a while. Just:
1. Draw a line object on the template, can be straight, curve or freehand
2. Right click > Format Autoshape
3. Under the web tab enter: <?shape-text-along-path:YOURTEXT?>


When the output renders your text will follow the line.

VertText 2:


Samples here.

XMLP at Collab 07 is a Go!

I wrote yesterday about all of the great content at Collab07 there will be around XMLP/BIP ... I also mentioned that we would not be there :-(


There has been a reprieve, XMLP will be represented by yours truly. We, thats me and my laptop chock full of demos and 'intersting slides' (I kid you not) will be in South Seas F on Wednesday @4:30 ... looks like there will be plenty of room so join me for an hour of information, demos and news.


Details below, please excuse the meglomaniacal title and over the top session blurb ... we wanted to jump out at readers and pique their interest to find out who the heck is Tim.


Title: 'The Greatest of the Latest Oracle XML Publisher from Tim'

Abstract: Oracle XML Publisher, has fast become a key component of the EBS, Peoplesoft Enterprise and JD Edwards E1 reporting architectures reducing the high costs associated with the development, customization, and maintenance of business documents, while increasing the efficiency of reports management. Oracle XML Publisher is now being implemented in many other of the Oracle Applications family of products such as Siebel and Oracle Retail allowing a new group of Oracle customers to take advantage of this innovative approach to reporting.
This session explores the current and future features and benefits of XML Publisher within each of these applications showing how customers can take advantage of this innovative approach to reporting, packed full of demos, information and news you can use.


Time and Place: Wednesday April 18th @4.30pm in South Seas F

See you there.

May 14, 2007

New Look & BIPScriptions

As regular readers will have noticed we have a new look and feel ... playing with CSS and templates has been 'interesting' ... still, may prove useful elsewhere. I have to thank Martin from the ATG Doc Tech team for the banner image ... I have somewhat mangled the original into a montone format that really does not do the original justice, an awesome picture of Oracle HQ. Check out his other pictures on Flickr, some great photos. 


The useful part of this post, Martin's image aside, is the fact that I have added an email feed for the blog. You no longer need come here every day to check for an update, you can get a mail whenever we have something new. Just fill out the 'Get a BIPScription' box on the right hand side bar with your email, confirm the return email and you're all set, BIP updates will be coming to an inbox near you.


 

May 15, 2007

More Chart Tips

Charts ... the bane of my templating life ... our chart dialog is getting better and better but you're still going to need to tweak things that we are just not going to get to anytime soon. Case in point (thanks for the question Neida), I have a pie chart that looks like this:


PieLabel1:


but I want this


PieLabel2:


See the percentage values have been rounded up, you'll laso notice that the actual chart is bigger in its frame (yes the image is larger but the chart itself fills the plot area better), its not a trick, because the labels take less room then the actual chart can fill the space. We're concerned with the rounding for this post. Its not the XML data that we need to round but we need to instruct the charting engine to do the rounding for us on the calculated pie slice values. I had to dig and dig, I have written in the past about the graph.dtd and trying to decode it using an XML editor and fooling JDeveloper into helping us visually but for this little gem I thankfully found the answer on the Oracle Reports graph FAQ.


http://www.oracle.com/technology/products/reports/htdocs/faq/Graph_FAQ_with_style.html


The solution for this particular issue is to override the default slice labels thus: 


<SliceLabel>
<ViewFormat decimalDigit="0" decimalDigitUsed="true" decimalSeparatorUsed="true" />
</SliceLabel>


Please, if you have charting questions take a look see here, there are some 40 questions and answers and you can use most of them in your charts. If you can not find the answer drop us a message on the forum and we can help. 

May 21, 2007

New Template Builder release available for Apps

For those of you using EBS either 11i or R12 there is now patch available for the Template Builder for MS Word.


5887917      ORACLE XML PUBLISHER DESKTOP PATCH 5.6.3


You can download it from metalking for the Windows 32 bit platform. I covered some of the new functionality in a previous post.


For those of you using Peoplsoft or JD Ewards you should be OK using it, there is nothing in the builder that would not work once deployed to the server. If you folks do not have access to metalink you can get the builder from the OTN download page.


 

May 22, 2007

Where're my Checkboxes?

I have seen several threads lately on the forum asking along the lines of -  Where the heck are the checkboxes on my report that I included in my template? Well, they are there they are just hidden, sort of. When you add a check box field to a template the Publisher engine interprets them correctly i.e. should they be checked or not, but the problem is, that none of the standard PDF fonts or the fonts publisher ships have a decent checkbox glylph. Therefore, if you're lucky you get a filled/unfilled diamond shape (if the publisher fonts are accessible) or you get nothing at all.


There is a solution to all this and its down to configuration, if you let the engine know where the checkbox font is and which glyphs represent 'checked' and 'unchecked' then it will pick them up and use them in your output.  


The method to use to configure the font and glyphs is going to depend on your platform. I tested with the Wingdings ttf font and used characters 253 (unchecked) and 254 (checked).


CheckBoxes:


To get the right glyph number:
1. Open MSWord and use Insert->Symbol.
2. Now find the font you want
3. then the glyphs you want, the glyph characgter code will be in the bottom right hand corner of the dialog.


CheckBoxes2:


 


Dont forget to ensure you are licensed to use the font you choose for the check box glyphs.


Config File - EBS (pre-5.6), JDE, PS and if your using the APIs


Your documentation should tell you where the config file should located and what to put in it. For the check boxes you need:


1. The font location, we need to tell the publisher engine where the Wingdings font is located:

<font family="Wingdings" style="normal" weight="normal">
 <truetype path="c:\windows\fonts\wingding.ttf"/>
</font>

2. The glyphs to be used. Here we specify the font family name ie 'Wingdings' and the 253/254 glyphs

<property name="rtf-checkbox-glyph">Wingdings;253;254</property>

Config Manager - EBS (5.6 and above)


1. Load the font to the manager - thats been covered here
2. Update the 'Characters used for checkbox' field with the values you want ie Wingdings;253;254


Now when you run outputs to PDF you will see your checkboxes as expected and no longer be boxless.

June 21, 2007

Get Templates from Microsoft

In the latest template builder release there is a very neat feature that we have been trying to implement for quite a while. Some of you may know that with later versions of MSWord when you click File > New, you get a task bar on the right hand side that allows you to search for 'Templates on Office Online'. This allows you to search for templates from the MS website and then download them to Word ... et voila you have a layout ready to go.


MSTemplates:


Now all you need to do is 'markup' the template with some data fields. Of course the data needs to match the functional purpose of the layout. Single header fields are simple enough, just use the Insert Field dialog to drop fields into the template.


MSTemplates2:


The key feature is being able to drop the detail or 'line' fields and then wrap the grouping tags for you. You can now drop the line fields into the table row, then highlight the row and use Insert > Repeating Group.


MSTemplates3:


You can then select the grouping level you want to wrap around the fields. Of course you will need to know the grouping level you wish to wrap buts its a good step forward and opens up the tool to those folks less knowledgeable about the data i.e. your funkies. They can now download a template, mark it up, test and deploy very quickly.

June 22, 2007

Merge and Secure PDFs

Another question on the forum that deserves a bit more than a 5 line answer. Neeraj has been trying to merge PDF documents using the Publisher APIs. From the question I think he has merged the docs but he wants to add a security password on top of the merged docs too.


I am trying to merge multiple pdf document and want to secure the output using pdf security attributes.
Is there a way to achieve this while pdf merge ?

(I am able to do so while generating the pdf using FO Processor but not while merging existing pdf files.)

There are several ways to merge PDFs using APIs, the simplest is the PDFDocMerger API. Its a pretty simple API, just get the documents to be merged into an array, specify the output file and then call the process method.

package pdftester;



 

import java.io.File;
import java.util.Properties;
import oracle.apps.xdo.XDOException;
import oracle.apps.xdo.common.pdf.util.PDFDocMerger;



public class PDFMerger {
    public PDFMerger() {
   
    // Output destination of the merged PDF document.
    File outFile = new File("c:\\temp\\mergePDF.pdf");    
// PDF documents to be merged.
    File[] inpFiles = new File[2];
    inpFiles[0] = new File("c:\\temp\\1.pdf");
    inpFiles[1] = new File("c:\\temp\\2.pdf");
    // Create PDFDocMerger instance.
    PDFDocMerger pdfMerger = new PDFDocMerger(inpFiles, outFile);
    // Set the security property
    Properties prop = new Properties();
    prop.put("pdf-security","true");
    prop.put("pdf-open-password","welcome");
    pdfMerger.setConfig(prop);
      
    // Run the merging process.
    try {
         pdfMerger.process();
   
        } catch (XDOException e) {
            e.printStackTrace();
        }
    }
    public static void main(String[] args) {
        PDFMerger pDFMerger = new PDFMerger();
    }
}


Neeraj wanted to add a password to the resulting document. We can us the setConfig method to set the appropriate properties to set the password.

    // Set the security property
    Properties prop = new Properties();
    prop.put("pdf-security","true");
    prop.put("pdf-open-password","welcome");
    pdfMerger.setConfig(prop);

Of course you can fetch that