Tuesday 27 February 2024

Bursting Process

 Bursting Process

--------------------------

Bursting is a process of splitting data into blocks, generating documents for each block, and delivering the documents to one or more destinations.

The data for the report is generated by executing a query once and then splitting the data based on a "Key" value.

For each block of the data, a separate document is generated and delivered.


Using BI Publisher's bursting feature you can split a single report based on an element in the data model and deliver

the report based on a second element in the data model. Driven by the delivery element, you can apply a different template,

output format, delivery method, and locale to each split segment of the report. 


Example implementations include:

----------------------------------

1)Invoice generation and delivery based on customer-specific layouts and delivery preference.

2)Financial reporting to generate a master report of all cost centers,splitting out individual cost center reports to the appropriate manager.

3)Generation of pay slips to all employees based on one extract and delivered through e-mail.


As XML bursting will use the Email address to deliver the report output to supplier(G_SUPPLIER/SUPPLIER_EMAIL).


Bursting Control file for the above XML file:

--------------------------------------------------

<?xml version="1.0" encoding="utf-8"?>

<xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">

<xapi:request select="/INVOICEDATA/LIST_G_SUPPLIER/G_SUPPLIER">

<xapi:delivery>

<xapi:email id="${SUPPLIER_NUMBER}" reply-to="ap@testbursting.com" from="ap@testbursting.com" port="25" server="xx.test.us">

<xapi:message subject="Invoice Details" attachment="true" to="${SUPPLIER_EMAIL}" id="${SUPPLIER_NUMBER}">

Please find your electronically formatted Invoice Details.

</xapi:message>

</xapi:email>

</xapi:delivery>

<xapi:document delivery="${SUPPLIER_NUMBER}" output-type="pdf" output="/data/out/${SUPPLIER_NUMBER}.pdf">

<xapi:template type="rtf" location="xdo:// XX.XXSUPINV.en.00/?getSource=true" />

</xapi:document>

</xapi:request>

</xapi:requestset>

 


Please find below details of the XML tags.

---------------------------------------------------

xapi:request:(Details of how you want to split the XML File)

xapi:email:Details of the Email

id: unique value that identifies each group. In the above example it is the Supplier Number.

reply-to: This is reply to email address

from: This is the from email address that will be used while sending the email

port: Port number of the email server.

server: Details of the email server

xapi:message: Give details of the Email Message

subject: Subject of the Email

attachment: If We are attaching the report output with the email. So the value should be “true".

to: The email id of the Supplier, which is the recipient’s email address.

id: This is a unique value that identifies each group. In our case it is the Supplier Number.

xapi:document: Here we define the output document details

output-type: The output type of the report output.

output: The folder in which the output file will be saved.

xapi:template: Give details of the RTF Template

type: Give the details of the Template Type. In our case it is RTF

location: Location of the RTF Template.

location=" xdo://XX.XXSUPINV.en.00/?getSource=true "


 


location="xdo://Application Short Name.Template Code.Default Language.Default Territory/?getSource=true"


Below SQL Statement is used to get the details of the Template.

----------------------------------------------------------------

select   xtb.application_short_name||’.’||xtb.template_code ||’.’||xtb.default_language ||’.’|| xtb.default_territory

from   apps.xdo_templates_b xtb where   xtb.template_code ='<Template Code>’;


After Report Trigger Changes

-----------------------------

Now the Final Step,in the After report Trigger of your .RDf add the following code to call bursting program .

This will lanuch the bursting program from your report,otherwise you will have to run the Bursting program(which is a Java Concurrent Program) manually .


Function AfterReport

Return BOOLEAN

IS

req_id Number;

Begin

req_id := FND_REQUEST.SUBMIT_REQUEST('XDO',

'XDOBURSTREP'

NULL,

NULL,

FALSE,

'N',

TO_CHAR(:P_CONC_REQUEST_ID),

'Yes'

);   


If req_id=0 then

srw.message(100,'Failed to submit the bursting program');

END IF;

srw.user_exit('FND SRWEXIT');

return (true);

end;


After the report is generated,it executes the program named,XML Publisher Report Bursting Program.

The program is responsible for bursting the XML with the help of the bursting control file 

attached to the concurrent program whose output will be burst.Ensure that this program is attached

to the request group of this responsibility.

No comments:

Post a Comment