LanverseLanverse
LanHubCommunityJobsCompaniesNewsBlogServices
LanverseLanverse

Real IT jobs, company reviews, salary insights, and career discussions from the tech community.

Explore
LanHubIT JobsCompany ReviewsSalary InsightsCommunityTech News
Company
Oracle ServicesPost a JobSubmit ReviewWrite a PostBlog
Connect
About UsMethodologyFeedbackFAQTerms of UsePrivacy Policy
© 2026 Lanverse. All rights reserved.Built for IT professionals and verified career data.
HomeJobsCommunityCompaniesAbout Us
BlogOracle BI Publisher Bursting Explained for Beginners: How It Works Step by Step
BI Publisher10 August 2026

Oracle BI Publisher Bursting Explained for Beginners: How It Works Step by Step

Lanverse
Lanverse TeamOfficial Blog

On this page

Related reads

Suggested Articles

BI PublisherOracle BI Publisher (BIP) Reports in Oracle Fusion: Complete Beginner Guide from ScratchLearn Oracle BI Publisher (BIP) reports in Oracle Fusion from scratch. Understand Data Model…7 August 2026BI PublisherOracle Fusion SQL Performance Tuning Guide (2026) — BIP, OTBI & Integration SQLA field-tested Oracle Fusion SQL performance tuning guide with real execution-plan reasoning…10 July 2026Oracle FusionOracle AI Agent Studio Update (July 2026) — AI-Native Builder & Gemini Models ExplainedTwo major Oracle AI Agent Studio announcements landed within two weeks of each other in July…31 July 2026

Learn how Oracle BI Publisher bursting works step by step. Understand Split By, Deliver By, bursting SQL, KEY, TEMPLATE, OUTPUT_FORMAT, DEL_CHANNEL, email parameters, runtime flow, examples, and common mistakes.


Oracle BI Publisher bursting can look confusing when you see it for the first time.

You create a report, add a bursting query, configure Split By and Deliver By, return columns such as KEY, TEMPLATE, OUTPUT_FORMAT, and DEL_CHANNEL—and somehow BI Publisher creates multiple files and sends each one to the correct person.

The good news is that the basic idea is much simpler than it looks.

BI Publisher bursting means running the report data query once, splitting the generated data into multiple sections, creating a separate output for each section, and delivering each output according to its own delivery rules.

A common example is a monthly payslip report.

Instead of running the report separately for 1,000 employees, BI Publisher can:

  1. Run the report query once.

  2. Generate data for all employees.

  3. Split the data by employee.

  4. Create one PDF per employee.

  5. Email each PDF to the correct employee automatically.

This guide explains the complete process from a beginner's point of view.


What Is BI Publisher Bursting?

Bursting is a feature in Oracle BI Publisher that allows one report execution to produce multiple personalized outputs.

Imagine that a report returns this data:

Employee IDEmployee NameEmailNet Salary
1001Rahulrahul@company.com75,000
1002Priyapriya@company.com82,000
1003Arjunarjun@company.com68,000

Without bursting, you might generate one report containing all three employees.

With bursting, BI Publisher can create:

Employee_1001.pdf → rahul@company.com
Employee_1002.pdf → priya@company.com
Employee_1003.pdf → arjun@company.com

The same concept can be used for:

  • employee payslips

  • customer invoices

  • purchase orders

  • supplier statements

  • department reports

  • cost center reports

  • manager-wise reports

  • country-wise reports

  • legal entity reports

The key benefit is that you do not need a separate report execution for every recipient.


Why Do We Use Bursting?

Bursting is useful when the same report structure must be generated for many groups or recipients.

For example, suppose an organization has 5,000 employees.

Running the payslip report 5,000 times would be inefficient.

Instead, BI Publisher can execute the report data query once and then split the resulting data into employee-wise sections.

Each section can have its own:

  • template

  • locale

  • output format

  • file name

  • delivery channel

  • recipient

  • email subject

  • email body

  • destination

This makes bursting useful for high-volume automated report distribution.


The Three Main Parts of Bursting

For a beginner, it is easiest to think of bursting as three components.

1. Report Data

This is the normal BI Publisher data model query.

It fetches the actual business data that will appear in the report.

For a payslip report, it may return:

Employee
Salary
Allowances
Deductions
Tax
Net Pay
Email Address

The data should be sorted or grouped by the element that you want to use for splitting.

For example:

EMPLOYEE_ID

2. Bursting Definition

The bursting definition tells BI Publisher:

  • where to split the report

  • how to identify the delivery rule

  • which SQL query contains the formatting and delivery information

The most important settings are:

Split By
Deliver By
Delivery SQL

3. Bursting Query / Delivery SQL

The bursting query does not normally return the report's business data.

Instead, it returns instructions telling BI Publisher how each section should be generated and delivered.

Typical columns include:

KEY
TEMPLATE
LOCALE
OUTPUT_FORMAT
DEL_CHANNEL
OUTPUT_NAME
SAVE_OUTPUT
PARAMETER1
PARAMETER2
...
PARAMETER10

Think of this query as the delivery instruction table for the bursting engine.


Split By vs Deliver By

This is one of the most common areas of confusion.

Split By

Split By tells BI Publisher:

Which element should be used to divide the report data into separate sections?

For an employee payslip report:

Split By = EMPLOYEE_ID

If the XML contains 1,000 different employee IDs, BI Publisher can create 1,000 logical sections.


Deliver By

Deliver By tells BI Publisher:

Which element should be used to find the formatting and delivery rule for each section?

For a simple payslip report:

Deliver By = EMPLOYEE_ID

In many implementations, Split By and Deliver By use the same element.

But conceptually they have different responsibilities.

Split By   → controls data splitting
Deliver By → controls delivery-rule matching

Why Does KEY Matter?

The bursting query returns a column named:

"KEY"

Oracle BI Publisher uses this value to match the bursting delivery rule to the corresponding Deliver By value.

For example:

Report section Deliver By = 1001
Bursting SQL KEY          = 1001

That is how BI Publisher knows which delivery instructions belong to employee 1001.

A very important rule is:

The value returned in KEY must match the Deliver By value for the corresponding report section.


How BI Publisher Bursting Works at Runtime

Now let us look at the complete runtime flow.

Step 1: The User Runs or Schedules the Report

The report can be executed manually or through a scheduled BI Publisher job.


Step 2: BI Publisher Runs the Report Data Query

The report query generates the XML data.

For example:

<EMPLOYEE>
    <EMPLOYEE_ID>1001</EMPLOYEE_ID>
    <EMPLOYEE_NAME>Rahul</EMPLOYEE_NAME>
    <NET_PAY>75000</NET_PAY>
</EMPLOYEE>

<EMPLOYEE>
    <EMPLOYEE_ID>1002</EMPLOYEE_ID>
    <EMPLOYEE_NAME>Priya</EMPLOYEE_NAME>
    <NET_PAY>82000</NET_PAY>
</EMPLOYEE>

Oracle documentation describes bursting as generating the report data by executing the query once and then splitting that data based on a key.


Step 3: BI Publisher Splits the Data

Suppose:

Split By = EMPLOYEE_ID

BI Publisher identifies separate sections:

1001
1002
1003
...

Each section can become an individual document.


Step 4: BI Publisher Runs the Bursting Query

The bursting query returns one or more rows containing the formatting and delivery instructions.

Example:

KEYTEMPLATEOUTPUT_FORMATDEL_CHANNELPARAMETER1
1001Payslip LayoutPDFEMAILrahul@company.com
1002Payslip LayoutPDFEMAILpriya@company.com

BI Publisher matches:

Deliver By value ↔ KEY

Step 5: BI Publisher Generates the Output

For every matched section, BI Publisher applies the requested:

  • layout

  • locale

  • output format

  • file name

For example:

1001 → Payslip Layout → PDF
1002 → Payslip Layout → PDF

Step 6: BI Publisher Delivers the Output

Finally, the document is sent using the configured delivery channel.

Depending on configuration and BI Publisher version, common delivery methods include:

EMAIL
FILE
FTP
PRINT
WEBDAV
FAX

SFTP is typically handled through the FTP delivery configuration with secure FTP settings.

The final result may look like:

EMP 1001 → PDF → rahul@company.com
EMP 1002 → PDF → priya@company.com
EMP 1003 → PDF → arjun@company.com

What Is the Bursting Query?

The bursting query is a SQL query defined inside the bursting definition.

Its purpose is to provide BI Publisher with the information required to format and deliver each burst section.

A simplified structure looks like this:

SELECT
    employee_id              AS "KEY",
    'Payslip Layout'          AS TEMPLATE,
    'en-US'                   AS LOCALE,
    'PDF'                     AS OUTPUT_FORMAT,
    'EMAIL'                   AS DEL_CHANNEL,
    employee_email            AS PARAMETER1
FROM employee_delivery_data

This query tells BI Publisher:

For this KEY
→ use this layout
→ generate this format
→ use this delivery channel
→ send it to this destination

Important Bursting Query Columns

Here are the most important columns a beginner should understand.

ColumnPurpose
KEYDelivery key. Must match the corresponding Deliver By value.
TEMPLATEName of the BI Publisher layout to apply.
LOCALETemplate locale, such as en-US.
OUTPUT_FORMATOutput format such as PDF, EXCEL, CSV, HTML, XML, or RTF.
DEL_CHANNELDelivery method such as EMAIL, FILE, FTP, PRINT, or WEBDAV.
OUTPUT_NAMEOptional name for the generated output.
SAVE_OUTPUTControls whether the output is saved in report job history.
PARAMETER1 to PARAMETER10Delivery-channel-specific values.

Important: TEMPLATE Means Layout Name

This is a very common mistake.

If your uploaded RTF file is:

Payslip_Template.rtf

but the layout name inside BI Publisher is:

Employee Payslip

then the bursting query should use:

'Employee Payslip' AS TEMPLATE

not:

'Payslip_Template.rtf' AS TEMPLATE

TEMPLATE refers to the layout name, not the physical RTF filename.


Simple Bursting SQL Example

Assume we have a payslip report where:

Split By   = EMPLOYEE_ID
Deliver By = EMPLOYEE_ID

A beginner-friendly bursting query could look like this:

SELECT DISTINCT
       employee_id                         AS "KEY",
       'Payslip Layout'                    AS TEMPLATE,
       'en-US'                             AS LOCALE,
       'PDF'                               AS OUTPUT_FORMAT,
       'EMAIL'                             AS DEL_CHANNEL,
       employee_email                      AS PARAMETER1,
       NULL                                AS PARAMETER2,
       'payroll@company.com'               AS PARAMETER3,
       'Your Monthly Payslip'              AS PARAMETER4,
       'Please find your payslip attached.' AS PARAMETER5,
       'true'                              AS PARAMETER6
FROM employee_payslip_data
WHERE employee_email IS NOT NULL;

Let us understand it line by line.

KEY

employee_id AS "KEY"

This must match the Deliver By value.


TEMPLATE

'Payslip Layout' AS TEMPLATE

This is the BI Publisher layout name.


LOCALE

'en-US' AS LOCALE

This tells BI Publisher which locale to use.


OUTPUT_FORMAT

'PDF' AS OUTPUT_FORMAT

Each employee receives a PDF.


DEL_CHANNEL

'EMAIL' AS DEL_CHANNEL

The document will be delivered by email.


PARAMETER1

employee_email AS PARAMETER1

For email delivery, PARAMETER1 is the primary recipient email address.


Email Delivery Parameters

When DEL_CHANNEL = 'EMAIL', the parameter columns have specific meanings.

A commonly used mapping is:

ParameterEmail Meaning
PARAMETER1To email address
PARAMETER2CC
PARAMETER3From
PARAMETER4Subject
PARAMETER5Message body
PARAMETER6Attach output: true or false
PARAMETER7Reply-To
PARAMETER8BCC

For example:

SELECT
    employee_id                    AS "KEY",
    'Payslip Layout'               AS TEMPLATE,
    'en-US'                        AS LOCALE,
    'PDF'                          AS OUTPUT_FORMAT,
    'EMAIL'                        AS DEL_CHANNEL,
    employee_email                 AS PARAMETER1,
    NULL                           AS PARAMETER2,
    'payroll@company.com'          AS PARAMETER3,
    'Payslip - July 2026'          AS PARAMETER4,
    'Please find attached payslip' AS PARAMETER5,
    'true'                         AS PARAMETER6
FROM employee_payslip_data;

For PDF email delivery, setting:

PARAMETER6 = true

instructs BI Publisher to attach the generated output to the email.


Real Payslip Bursting Example

Let us put everything together.

Suppose the requirement is:

Generate a monthly payslip for every employee and email the PDF to the employee's work email address.

Report Setup

Report            = Monthly Payslip Report
Split By          = EMPLOYEE_ID
Deliver By        = EMPLOYEE_ID
TEMPLATE          = Payslip Layout
OUTPUT_FORMAT     = PDF
DEL_CHANNEL       = EMAIL
PARAMETER1        = Employee work email
PARAMETER4        = Email subject
PARAMETER6        = true

Report Data

The report query returns:

Employee 1001
Employee 1002
Employee 1003

Bursting Query

The bursting query returns:

KEY 1001 → rahul@company.com
KEY 1002 → priya@company.com
KEY 1003 → arjun@company.com

Runtime Result

BI Publisher creates:

Employee_1001.pdf
Employee_1002.pdf
Employee_1003.pdf

and delivers:

Employee_1001.pdf → rahul@company.com
Employee_1002.pdf → priya@company.com
Employee_1003.pdf → arjun@company.com

That is BI Publisher bursting in its simplest form.


How to Configure Bursting Step by Step

The exact screen names can vary slightly depending on the BI Publisher version and whether you are using BI Publisher inside Oracle Fusion Applications, but the overall configuration is the same.

Step 1: Create the Data Model

Create the normal report data set first.

Make sure the report XML contains the element that will be used as the split key.

Example:

EMPLOYEE_ID

Step 2: Sort or Group the Data

The report data should be sorted or grouped by the element selected as Split By.

For example:

ORDER BY employee_id

or design the XML grouping so employee records are grouped correctly.


Step 3: Create a Bursting Definition

Inside the data model, create the bursting definition.

Configure:

Name
Data Source
Split By
Deliver By
SQL Query

The bursting definition uses a SQL query for the delivery information.


Step 4: Select Split By

Choose the XML element that divides the report into separate sections.

Example:

EMPLOYEE_ID

Step 5: Select Deliver By

Choose the XML element that BI Publisher will use to match the delivery rules.

Example:

EMPLOYEE_ID

Step 6: Write the Bursting SQL

Return the required columns.

At minimum, most practical bursting queries contain fields such as:

KEY
TEMPLATE
LOCALE
OUTPUT_FORMAT
DEL_CHANNEL
PARAMETER1...

Step 7: Configure the Report to Use Bursting

Once the bursting definition is created, configure the report properties or scheduled report job to use the bursting definition.

Oracle documentation notes that a data model can contain multiple bursting definitions, but only one bursting definition can be enabled for a report at a time.


Step 8: Schedule or Run the Report

When you submit the report with bursting enabled, BI Publisher:

Runs data query
→ creates XML
→ splits XML
→ matches delivery rules
→ generates outputs
→ delivers outputs

How to Test Bursting

Do not test a new bursting setup with thousands of records immediately.

Start with two or three keys.

For example:

WHERE employee_id IN (1001, 1002)

Then validate:

  • Does the data model generate correct XML?

  • Is the Split By element present?

  • Is the data correctly grouped?

  • Does the bursting query return the expected KEY values?

  • Does KEY exactly match Deliver By?

  • Is TEMPLATE the correct layout name?

  • Is OUTPUT_FORMAT valid?

  • Is DEL_CHANNEL valid?

  • Are email addresses correct?

  • Is the generated attachment readable?

  • Is the correct document going to the correct recipient?

This small test can prevent accidental distribution of incorrect reports.


Common Bursting Mistakes

1. KEY Does Not Match Deliver By

This is one of the most common reasons bursting does not work correctly.

Example:

Deliver By = EMPLOYEE_ID = 1001
KEY        = PERSON_NUMBER = E1001

Those values do not match.

Use a key that corresponds to the actual Deliver By value.


2. Using the RTF Filename in TEMPLATE

Wrong:

'Payslip_Template.rtf' AS TEMPLATE

Correct when the layout is named Payslip Layout:

'Payslip Layout' AS TEMPLATE

3. Data Is Not Sorted or Grouped by Split By

If the data is not structured correctly around the split element, the bursting engine may not create the expected sections.

Make sure your data model and XML grouping align with the selected Split By.


4. Duplicate Rows in the Bursting Query

If the delivery SQL returns unexpected duplicate rows for the same key, you may create duplicate outputs or deliveries.

Review joins carefully and use DISTINCT only when it is logically appropriate.


5. Wrong Delivery Channel

For example:

DEL_CHANNEL = MAIL

is not the same as:

DEL_CHANNEL = EMAIL

Use supported BI Publisher delivery values.


6. Invalid Email Parameters

If using email bursting, verify:

PARAMETER1 = recipient
PARAMETER3 = from address
PARAMETER4 = subject
PARAMETER6 = attachment flag

The exact values must also comply with your BI Publisher email-server configuration.


7. Testing with Real Recipients Too Early

Always test with controlled email addresses first.

A bursting mistake can potentially send the wrong report to the wrong recipient.

This is especially important for:

  • payslips

  • invoices

  • tax documents

  • financial statements

  • confidential HR reports


Interview Questions

Here are some common BI Publisher bursting interview questions.

What is bursting in BI Publisher?

Bursting is the process of splitting report data into multiple sections, generating separate outputs for those sections, and delivering each output according to defined formatting and delivery rules.


What is the difference between Split By and Deliver By?

Split By controls how the report data is divided.

Deliver By controls how each divided section is matched to the delivery and formatting instructions.


What is KEY in a bursting query?

KEY is the delivery key returned by the bursting SQL.

It must match the corresponding Deliver By value so BI Publisher can map the correct delivery rule to each report section.


What does TEMPLATE contain?

TEMPLATE contains the BI Publisher layout name, not the physical .rtf filename.


What is DEL_CHANNEL?

DEL_CHANNEL tells BI Publisher how to deliver the generated output.

Examples include:

EMAIL
FILE
FTP
PRINT
WEBDAV

Can one report create different output formats?

Yes.

The bursting query can return different OUTPUT_FORMAT values for different delivery keys.

For example:

Customer A → PDF
Customer B → Excel
Customer C → PDF

Can one report use different templates?

Yes.

Because the bursting query can return a different TEMPLATE value for each delivery key, different sections can use different layouts.


Can Split By and Deliver By be different?

Yes.

They represent different concepts.

However, in many simple implementations such as employee payslips, both are set to the same value such as EMPLOYEE_ID.


Frequently Asked Questions

Is bursting available only for email?

No.

Email is one of the most common use cases, but BI Publisher also supports other delivery methods such as file, FTP, printing, WebDAV, and fax depending on the environment and configuration.


Does bursting execute the main report query for every recipient?

No.

The main benefit of bursting is that the report data can be generated from one execution and then divided into multiple blocks.


Where is the bursting query created?

The delivery or bursting SQL is defined as part of the bursting definition in the BI Publisher data model.


Can delivery information come from a table?

Yes.

The delivery information can be dynamic—for example, recipient email addresses and preferences stored in a database table.

It can also be statically coded in the bursting SQL when appropriate.


Can different recipients receive different layouts?

Yes.

The TEMPLATE value can vary by key.


Can different recipients receive different formats?

Yes.

The OUTPUT_FORMAT value can vary by key.


Can I rename the generated file?

BI Publisher supports an OUTPUT_NAME field that can be used to control the generated output name.


Should beginners use bursting for every report?

No.

Use bursting when one report execution needs to produce multiple personalized outputs or deliveries.

If you only need one normal report output, bursting adds unnecessary complexity.


Final Summary

The easiest way to understand BI Publisher bursting is to remember this flow:

Run the report query once
        ↓
Generate XML data
        ↓
Split the data using Split By
        ↓
Match each section using Deliver By ↔ KEY
        ↓
Apply TEMPLATE + LOCALE + OUTPUT_FORMAT
        ↓
Use DEL_CHANNEL + PARAMETER values
        ↓
Generate and deliver individual outputs

The most important concepts for a beginner are:

Split By      = How the data is divided
Deliver By    = How delivery rules are matched
KEY           = Must match the Deliver By value
TEMPLATE      = BI Publisher layout name
OUTPUT_FORMAT = PDF / EXCEL / CSV / etc.
DEL_CHANNEL   = EMAIL / FILE / FTP / PRINT / etc.
PARAMETER1..10 = Delivery-specific information

Once these pieces are clear, BI Publisher bursting becomes much easier to understand and troubleshoot.

For Oracle Fusion Technical Consultants, bursting is an important topic because it appears frequently in real implementations involving payslips, invoices, supplier documents, financial reports, and scheduled enterprise reporting.


Explore LanverseCompaniesReviewsJobsCompare
More Articles
Share