Pages

Recently Viewed

Friday, January 20, 2012

XML Bursting

Requirement -Split the generated report output into multiple reports based on no of suppliers.
For example - Report is having 3 invoices, 2 for one supplier and 1 for second. concurrent program will generate one file as output having  all 3 invoice detail.
Project need is to split output either on 3 files (one for each invoice) or 2 files ( for 2 supplier). 
  
XML bursting concept help us to cut down the generated output in multiple pieces based on requirement.
Also we can send output through email using this service. 

Assumption - SMTP configuration should be available

Steps for XML bursting -
1) Create and set temp folder  
   - Create one folder in unix box ( application server) and set the temp path in application
       - Go to XML administrator responsibility
       - Administrator Function
       - Give the folder path for TEMP directory

2)Create the bursting control file
    Create the control file. control file contains split logic and delivery method, which will be used by bursting engine. Sample file as below-
   -     
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
          <xapi:request select="/XXXXX/LIST_G_SUPPLIER_NO/G_SUPPLIER_NO">

  <xapi:delivery>
   <xapi:email id="123" server="smtp.host.com" port="25" from="${EMAILFROM}" reply-to="${EMAILFROM}">
   <xapi:message id="123" to="${SUPPLIERSITEEMAIL}" cc="${EMAILCC}" attachment="true" subject="XML Bursting">This program is for xml bursting check
</xapi:message> </xapi:email> </xapi:delivery>

   <xapi:document output="AttachmentName" output-type="pdf" delivery="123">
  <xapi:template type="rtf" location="xdo://APPSHORTNAME.TEMPLATECODE.en.00/?getSource=true" />
 </xapi:document>

</xapi:request></xapi:requestset>


*${XML_TAG_NAME}
Request – Describe group level, on which bursting is required. In above example bursting will be on G_SUPPLIER_NO level
Delivery – How to send the split data ( Email, Fax, Printer etc).
Document output – Subject and format of output    
Template Type – Related template information. Location can have temp directory path ( make sure your rtf file is placed at temp directory too) too  or use the above syntax only.

***en is the territory code.Either use the correct territory code or upload rtf file without territory name.

3)Place the control file –
 XML publisher responsibility >> Data Definition >> Search for your Data Definition >> Bursting Control file >> Add File

4)Invoke Bursting Concurrent Program – XDOBURSTREP is oracle provided standard concurrent program for bursting. Invoke this concurrent program in your program at the last.
   This will read the instructions given in control file and perform bursting.

l_request_id := FND_REQUEST.SUBMIT_REQUEST (
    'XDO',
    'XDOBURSTREP',
    'XML Publisher Report Bursting Program',
    '',
    FALSE,
    'N',
    fnd_global.conc_request_id, 'Y',
    chr(0), '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '',
    '', '', '', '', '', '', '', '', '', '');

13 comments:

  1. very useful info..thanks

    ReplyDelete
  2. Thanks Anonymous!

    Happy if it has helped u.

    ReplyDelete
  3. Hi Sandeep,
    my requirement is like need to send one pdf file and one excel file via email.can u suggest me in this with sample code.

    ReplyDelete
  4. Sorry for late response.You are having XML publisher report with 2 different output format? Can you brief your requirement in detail.I'll surely try to helo u.

    ReplyDelete
    Replies
    1. Hello Sandeep,

      I have the same requirement, Like I have to run a report based on employees. The Report should generate an report for each emplloyee number. I had done all the set ups and configurations

      The problem I have is it is working fine for an single employee but when I run for more than one employee. The report is not generating seperate report but instead generating one report. The report output is correct. But I wanted in each individual employee report output.

      Below is my control file. Can you please let me know as how to get the report for each employee and it needs to write to a folder.















      Thanks



      Delete
    2. Hi Vinod,

      separate report based on employee number can be achieved using bursting, only thing u should take is bursting control file.use as below.



      It will cut the report for each employee level.
      Could not see any file content in your post. Also I did not get the wht you mean by writing in folders.

      Delete
  5. Hi Sandeep,
    Thanks for the great post!
    Currently we have ePO which sends out approved POs to their respective supplier. The requirement is to CC the same PO pdf output as an attachment to the PR creator so that the PR creator knows their PR is approved and sent to the supplier. We tried PO: Secondary Email profile option for that but it is not flexible enough and only sends CC emails to the PO submitter (i.e. Buyer).
    PO pdf files are created and submitted to the supplier by "PO: Communications for Output" concurrent program. Is it possible to apply XML bursting in this case to achieve what we need?
    Thanks in advance.

    ReplyDelete
  6. Hi. My requirement is that I need to send the 2 attachmnts having similar supplier in 1 mail an d 1 attachmnt having diffrent tsupplier in other mail. How can I achieve this requirmnt. Please help

    ReplyDelete
  7. Hello Ratna,
    Please share the details with example. You can write @ Sandeep19rm@gmail.com

    ReplyDelete
  8. Hi,
    can you guide me to send output file into particular folder.

    ReplyDelete
  9. I won't think by BI capability, this is feasible.
    Alternately you can write a host program to move the file in different folders and call that in after trigger.

    ReplyDelete
  10. Oracle apps blog
    http://ebiztechnics.blogspot.com

    ReplyDelete
  11. Good day Friends, please I need to burst an excel attachment to the hiring manager. The excel should contain only applicants for that specific manager instead of my output sending all the list of applicants per vacancy in a single file. I need to send it to individual hiring manager of all the applicants that applied for the position for that specific hiring manager.



    This is not working, please advice.

    ReplyDelete