All posts · BI Reports

Report Bursting in BI Publisher

Bursting splits a single report run into multiple outputs delivered to different recipients — one execution generates hundreds of personalised PDFs or emails automatically.

Anurag Jangra · January 23, 2026 · 6 min read · ... views

What bursting is

Bursting takes a report that contains data for many employees, customers, or business units, splits it into individual segments, and delivers each segment to the right recipient — via email, FTP, or the content server.

Example: a monthly payslip report runs once, generates one payslip PDF per employee, and emails each to the employee’s address. One BIP job, thousands of deliveries.

How bursting works

  1. The data model includes a bursting query that maps split key → delivery details
  2. BIP runs the main query
  3. The burst splits the XML output by the key column
  4. Each split section is formatted using the template and delivered per the bursting definition

Setting up a bursting query

In the data model, add a Bursting element with a SQL query:

SELECT
  employee_id AS KEY,
  employee_email AS EMAIL,
  'PDF' AS TEMPLATE,
  'Payslip_' || TO_CHAR(SYSDATE, 'YYYYMM') AS FILE_NAME,
  'en-US' AS LOCALE,
  'EMAIL' AS DELIVERY_CHANNEL,
  'payslip@company.com' AS FROM_EMAIL,
  'Your payslip for ' || TO_CHAR(SYSDATE, 'Month YYYY') AS SUBJECT
FROM hr_payslip_burst_v
WHERE payroll_period = :P_PERIOD

Delivery channels

BIP supports bursting to:

  • Email: attach the rendered document or embed in email body
  • FTP/SFTP: deliver files to a file server path
  • Printer: print to a network printer
  • Content Server (UCM): upload to Oracle’s document management system
  • Fax: if a fax server is configured

Scheduling bursts

Configure bursting via the report properties → Bursting → enable. Schedule the report as an ESS job with the relevant parameters. The burst runs automatically.

Debugging burst failures

Common issues:

  • Invalid email addresses in the burst query causing partial failures
  • Missing data for some keys resulting in blank PDFs
  • SMTP server configuration errors

Check the burst report’s job history in BI Publisher — it shows per-key delivery status and error details. Test with a small subset (ROWNUM < 5) before running full production bursts.

Conditional delivery

Use bursting query CASE logic to send different templates to different recipients:

CASE WHEN grade = 'EXEC' THEN 'EXEC_PAYSLIP_TEMPLATE'
     ELSE 'STANDARD_PAYSLIP_TEMPLATE'
END AS TEMPLATE

Think Beyond the Implementation

Questions worth sitting with after reading this

01

Why is this architecture appropriate for this specific context — and where would it be the wrong choice?

02

What assumptions did we make that aren't stated explicitly? What happens if those assumptions are wrong?

03

What would break first if the requirements changed — volume doubled, a third system was added, or the deadline halved?

04

What alternatives did we reject, and why? Was the decision made on evidence — or habit?

AJ
Anurag Jangra
Oracle Cloud PaaS Consultant · OIC & VBCS Specialist

4.5+ years delivering enterprise Oracle Cloud integrations and VBCS applications across manufacturing, IT services, and financial sectors. OCI Certified — writes about real-world OIC, VBCS, SQL, and BI Publisher patterns from production experience.

Chat on WhatsApp