An Oracle blog about BI Publisher

Bursting at the Seams

Down on the demo grounds this morning ... a slow start but boy did it get going. We are right next to the concourse - not buried at the back like last year so there were lots of folks coming by. Im very impressed by what some of you are getting up to with publisher - you have moved on from getting that invoice listing out and are now attacking the bursting engine with a vengeance. I heard today of a customer, sorry I can not remember your name, doing 'double bursting' - burst once and then take the results and burst those again - I did not catch the business problem we were solving but solving it we were and thats what matters. So bursting is hot - just about every one I spoke to wanted to know how to burst-  other than to drink 3 gallons of water and see if you can hang on!

For the initiated, bursting is a term used to describe the taking of a set of batch data, splitting them in to individual documents and then delivering them to recipients. A good example was quoted at the SIG yesterday - a company generates commission statements for all of its sales force every month. Rather than run 100s of individual reports, just run one for all of the sales force and then burst each report to the appropriate employee - simple n'est-ce pas? Thanks Jean Pierre - my 20 year old French is more than a little rusty :)

Publisher offers a little more, what if each employee had a delivery preference, or some wanted HTML while others PDF? what if some wanted it formatted using Layout A and others Layout B? Publisher can do that - as long as those values around layout, format and delivery option are available at run time then the bursting engine will dynamically apply templates, format layouts and deliver according to preferences.

We go a stage further thou, for real low level control, at each stage of the burst e.g. data split, format, generate, etc we have created a 'listener' - you can subscribe to any listener in your own code so that as a stage is reached in the burst you can interrupt the flow, step in, execute some logic and then let the burst continue. Let's say you wanted a copy of each document sent to your content management system - in the case of partner documents such as invoice, you can not just dump the documents into the repository, you need to add some attributes to it so that its searchable later on. Use the listener functionality - subscribe to the 'generate' event - once the document has been generated, get a copy of it and its XML data - now parse out what you need from the XML data and create your meta data file - now push this into your content manager et voila. The customer gets their invoice and you get an indexed copy of it for retrieval and record if needed later.

There are versions of bursting for EBS, PS and Standalone and I believe JDE will deliver a solution next year.

Go forth and burst! 

Join the discussion

Comments ( 2 )
  • James Monday, June 1, 2009
    I want to use BIP to burst an html document to iRecrutiment applicants who have a particular application status. As an example: an applicant who is on hold gets an on hold HTML message via BIP, an applicant who is rejected gets an HTML notification saying they have been rejected. The email addresses for applicants with certain statuses could be numerous and dynamic, would this be a problem for BIP?
  • Issac Maez Saturday, September 11, 2010
    My goodness, can you believe its been almost 10 years to this day. R.I.P. To everyone who died, it was a sad day. 9/11 was a very awful day. It brought us together and made us closer than ever as a nation. All of the brave men and women who helped in the enormous rescue attempt, I salute each and every one of you. There were over 2000 innocent people who died that day, that still gives me the chills thinking about it. Men and women died, to save the lives of others. Over 300 firefighters, dead. Cherish the day. Remember the memories.
Please enter your name.Please provide a valid email address.Please enter a comment.CAPTCHA challenge response provided was incorrect. Please try again.