About
To burst in BIP, you just need to fill the Bursting Properties.
The SQL Query of the Bursting property defines the bursting properties.
When you schedule a bursting, You can use a parameter:
- in the SQL Query of the data set
- but also in the SQL Query of the Bursting properties.
Articles Related
Properties
Query
For each key (Deliver by) in the original report, you must have a key in the SQL Query of the Bursting properties.
If you want to filter and not burst on every key, you need to burst to a bin (directory, mail, …).
Syntax:
select
KEY,
TEMPLATE,
TEMPLATE_FORMAT,
LOCALE,
OUTPUT_FORMAT,
DEL_CHANNEL,
PARAMETER1,
PARAMETER2,
PARAMETER3,
PARAMETER4,
PARAMETER5,
PARAMETER6,
PARAMETER7
from
myTable
where:
- Key is the “delivered by” Key
- TEMPLATE is the name of the template used (Lowercase and Uppercase are important
- TEMPLATE_FORMAT is the template format. (RTF, …)
- LOCALE is the locale ('en-US', …)
- OUTPUT_FORMAT is the report format (PDF, HTML, …)
- DEL_CHANNEL is one of the following channel with the list of parameters attached:
Channel | Printer | Fax | WEBDAV | File | FTP | |
---|---|---|---|---|---|---|
Parameter1 | Email address | Printer Group | Fax server Name | Server Name | Directory | Server Name |
Parameter2 | cc | Printer | Fax Number | Username | File Name | Username |
Parameter3 | From | Number of copies | Password | Password | ||
Parameter4 | Subject | Sides | Remote Directory | Remote Directory | ||
Parameter5 | Message Body | Tray | Remote File Name | Remote File Name | ||
Parameter6 | Attachment (true/false) Pdf = true | |||||
Parameter7 | Reply-To |
For the email channel in case of a list of email, they must be separated by a comma.
Support
java.lang.NullPointerException
If you schedule a bursting rapportage that failed and that you checked the application server (OC4j) log file and that you get the following error:
[061512_041107407][][EXCEPTION] java.lang.NullPointerException
at oracle.apps.xdo.batch.bursting.ProcessEnterpriseDocument.processLayout(Unknown Source)
at oracle.apps.xdo.batch.BurstingProcessorEngine.addDocument2Queue(Unknown Source)
at oracle.apps.xdo.batch.BurstingProcessorEngine.createBurstingDocument(Unknown Source)
at oracle.apps.xdo.batch.BurstingProcessorEngine.endDocument(Unknown Source)
at oracle.xml.parser.v2.XMLContentHandler.endDocument(XMLContentHandler.java:119)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:311)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:263)
at oracle.apps.xdo.batch.BurstingProcessorEngine.burstingRequest(Unknown Source)
at oracle.apps.xdo.batch.BurstingProcessorEngine.process(Unknown Source)
at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:2008)
at oracle.apps.xdo.servlet.scheduler.XDOJob.execute(XDOJob.java:358)
at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Pay attention to the name of the template in your bursting SQL Query property.
SELECT
myKey KEY,
'standard' TEMPLATE
FROM
myTable
is not the same than
SELECT
myKey KEY,
'Standard' TEMPLATE
FROM
myTable
Can not find the delivery details
Obviously, you can filter the content but not the delivery details. One solution is to send the bursted report to a bin directory.
Delivery Key : Nico Gerard
Delivery Type :
Status : Failed
System Message : Error!! Can not find the delivery details for the delivery Id :Nico Gerard
oracle.apps.xdo.XDOException: ORA-00911: invalid character
If you get this:
oracle.apps.xdo.servlet.scheduler.ProcessingException: oracle.apps.xdo.XDOException: ORA-00911: invalid character
at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:2116)
at oracle.apps.xdo.servlet.scheduler.XDOJob.execute(XDOJob.java:358)
at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: oracle.apps.xdo.XDOException: ORA-00911: invalid character
at oracle.apps.xdo.servlet.ReportException.fillInStackTrace(ReportException.java:124)
at oracle.apps.xdo.servlet.data.DataException.fillInStackTrace(DataException.java:127)
at java.lang.Throwable.<init>(Throwable.java:181)
at java.lang.Exception.<init>(Exception.java:29)
at oracle.apps.xdo.servlet.ReportException.<init>(ReportException.java:40)
at oracle.apps.xdo.servlet.data.DataException.<init>(DataException.java:44)
at oracle.apps.xdo.servlet.BurstingDefinitionImpl.getControlXML(BurstingDefinitionImpl.java:83)
at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:1886)
... 3 more
verify first that you don't have a semicolon at the end of the Bursting SQL.
java.util.NoSuchElementException
oracle.apps.xdo.servlet.scheduler.ProcessingException: java.util.NoSuchElementException
at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:2116)
at oracle.apps.xdo.servlet.scheduler.XDOJob.execute(XDOJob.java:358)
at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: java.util.NoSuchElementException
at java.util.Vector.lastElement(Vector.java:456)
at oracle.apps.xdo.batch.BurstingProcessorEngine.removeEndPath(Unknown Source)
at oracle.apps.xdo.batch.BurstingProcessorEngine.globalDataEndElement(Unknown Source)
at oracle.apps.xdo.batch.BurstingProcessorEngine.endElement(Unknown Source)
at oracle.xml.parser.v2.XMLContentHandler.endElement(XMLContentHandler.java:210)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1318)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:336)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:303)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:263)
at oracle.apps.xdo.batch.BurstingProcessorEngine.burstingRequest(Unknown Source)
at oracle.apps.xdo.batch.BurstingProcessorEngine.process(Unknown Source)
at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:2008)
... 3 more
Verify the bursting key.
Missing or invalid Template
Delivery 1 :
Delivery Key 6154
Delivery Type
Status Failed
System Message MyTemplateName: Missing or invalid Template ....
The name of the template in the bursting query is not found in the report.
Job execution failed because the user who scheduled this job has no more permission or priviledge to run the job
oracle.apps.xdo.servlet.scheduler.ProcessingException: Job execution failed because the user who scheduled this job has no more permission or priviledge to run the job. [REPORT_URL]=[/Team Barometer/Bursting/Team Barometer Bursting Non-respons/Team Barometer Bursting Non-respons.xdo], [USERNAME]=[gerar600]
at oracle.apps.xdo.servlet.scheduler.XDOJob.execute(XDOJob.java:356)
at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
With the BI Server security model, BIP uses a proxy authentication then be sure that the proxy user (often the administrator) has also the right to access the report (ie the Admin right, ie that he is a member of the XMLP_ADMIN group).
Invalid parameters requested
If you script the burst, you may get this error:
oracle.apps.xdo.servlet.scheduler.ProcessingException: oracle.apps.xdo.servlet.data.DataException: Invalid parameters requested.
at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:2169)
at oracle.apps.xdo.servlet.scheduler.XDOJob.execute(XDOJob.java:372)
at org.quartz.core.JobRunShell.run(JobRunShell.java:195)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:520)
Caused by: oracle.apps.xdo.servlet.data.DataException: Invalid parameters requested.
at oracle.apps.xdo.servlet.ReportException.fillInStackTrace(ReportException.java:124)
at oracle.apps.xdo.servlet.data.DataException.fillInStackTrace(DataException.java:127)
at java.lang.Throwable.<init>(Throwable.java:196)
at java.lang.Exception.<init>(Exception.java:41)
at oracle.apps.xdo.servlet.ReportException.<init>(ReportException.java:36)
at oracle.apps.xdo.servlet.data.DataException.<init>(DataException.java:39)
at oracle.apps.xdo.servlet.ReportImpl.renderReportXML(ReportImpl.java:287)
at oracle.apps.xdo.servlet.scheduler.XDOJob.runBurstingReport(XDOJob.java:1929)
... 3 more
It just means that the parameter is not in the available list of value (for a menu).