BIP Bursting Process

Hello
Currently i am using Apps environment - 11.5.10 with patchset level - CU2. which was the basic assumption to use bursing.
I have a requrement to send the excel sheet to the mail recepients once the report is run successfully. My report is Oracle reprot and able to get the proper excel output, i want to implement the bursting by adding the XDOBURST submit request in the after report trigger in the Oracle Reprot.
In search of this i have down loaded the java file and ctl file etc related from Tim's blogs "http://blogs.oracle.com/xmlpublisher/2007/04/05". As it says to have the java file at $JAVA_TOP/oracle/apps/xdo/oa/cp and we tried to move and compile the java file, It thown error as below
Veng:applmgr[find1]javac XMLPReportBurst.java
XMLPReportBurst.java:220: cannot resolve symbol
symbol : constructor OADocumentProcessor (java.io.InputStream,java.io.InputStream,java.lang.String)
location: class oracle.apps.xdo.oa.util.OADocumentProcessor
OADocumentProcessor dp = new OADocumentProcessor(ctlFile,fis,"/home/applmgr/tmp");
^
1 error
when i checked the class OADocumentProcessor its different version at my instance.
So my question is at what patch set level xmlp bursting can be implemented in EBS
Currently i am using Apps environment - 11.5.10 with patchset level - CU2.
Is there any other things i am left over to implement the same.
If some one has done this pls share some tips for a newbi like me..
or pls share some links or notes related to bursting.
Thanks in advance
PBV.

Hi,
Yes, i was able to fix the issue. The template associated with the bursting process needs to be in a single table. I had 2 separate tables due to which the program was completing with error. When i placed both those tables in a single table the issue was resolved.
Regards,
Anand

Similar Messages

  • Attaching additional BLOB pdf document to an email snet by BIP Bursting

    Hi,
    I am trying to attach an additional pdf document which is stored in the database as a BLOB to an email that is sent via BIP bursting. I am using Oracle Applications v11.5.10.2. Does anyone have any input on how to do this or if its possible? Basically, I am generating a BIP report and sending it in an email using the Bursting process within BIP, but I want to attach an additional .pdf document to the same email. Any help on this would be greatly appreciated.
    Regards,
    Ray

    Dynamic Delivery Content
    You can reference information in the XML data to be put into the delivery content. This
    takes the same format described above (that is, ${ELEMENT}).
    For example, suppose you wanted to burst a document to employees via e-mail and
    personalize the e-mail by using the employee's name in the subject line. Assuming the
    employee's name is held in an element called ENAME, you could use ${ENAME} to
    reference the employee's name in the control file as follows:
    subject="Employee Details for ${ENAME}"
    Sample Control File
    The following sample control file shows an example control file to split data based on
    an EMPLOYEE element and send an e-mail to each employee with their own data. The
    sample file is annotated.
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="[http://xmlns.oracle.com/oxp/xapi]">
    <xapi:request select="/EMPLOYEES/EMPLOYEE"><! - This sets the bursting
    element i.e., EMPLOYEE - >
    <xapi:delivery>
    <xapi:email server="rgmamersmtp.oraclecorp.com" port="25"
    from="[[email protected]|mailto:[email protected]]" reply-to ="[[email protected]|mailto:[email protected]]">
    <xapi:message id="123" to="${EMAIL}" cc="${EMAIL_ALL}"
    attachment="true" subject="Employee Details
    for ${ENAME}"> Mr. ${ENAME}, Please review the
    attached document</xapi:message><! - This assigns a delivery id
    of '123'. It also sets the e-mail
    address of the employee and a cc copy to a parameter value
    EMAIL_ALL; this might be a manager's e-mail. The employee's
    name (ENAME) can also be used in the subject/body
    of the email. - ></xapi:email>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="123">
    <xapi:template type="rtf" location="/usr/tmp/empGeneric.rtf">
    <xapi:template type="rtf" location="/usr/tmp/empDet.rtf"
    filter=".//EMPLOYEE[ENAME='SMITH']" ><! - Employees with the name
    SMITH will have
    the empDet template applied - >
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>

  • Filtering XML records while bursting - processing only a subset of the data

    Hi
    I'm attempting to filter the records in my XML data while bursting, so that depending on the value of a data element, the entire record is either skipped or included in the burst output.
    I only want a subset of the XML output to be included in the burst output.
    I've tried applying a filter at the select stage -
    <xapi:request select="/AR_INVOICE/LIST_EMAIL_HEAD/EMAIL_HEAD{EMAIL_IND!=''}">
    This removes all the records where 'EMAIL_IND' is not null - i.e. there is an email address to send to,
    but instead of giving me multiple emails, one for each /AR_INVOICE/LIST_EMAIL_HEAD/EMAIL_HEAD,
    I get just one mail address that contains all of the data for the records that have email addresses.
    I also tried putting a filter on the template
    <xapi:template type="rtf" locale="" location="xdo://AR.XXARINVEMAILDUMMY.en.00/?getSource=true" translation="" filter="{EMAIL_IND!=''}" />
    i.e. having only one template and filtering as shown, but this has no effect.
    Note: I had to change the square brackets - '[' to curly brackets '{' to get the examples to show.
    Any ideas?
    Thanks in advance.
    Mike

    Hi
    I worked out a way to conditionally use ony a number of the data records in the bursting process - discarding the others.
    In EBS, I generate a set of data in a a data-definition template that contains entries for some people who require email delivery, and some who require printed output.
    In the concurrent programme, I specify an output rtf template that has a filter in it to print only the records for those who don't need emails.
    (don't you just love the way that the designers call both the data definition and the output definition - TEPLATES - not confusing at all.....)
    This step generates a sinlge sorted pdf file that is printed)
    Then came the tricky part to send emails only to those who need them- using the bursting engine - to the other set of people - but to "cleanly" dispose of the records for the people who do not want emails.
    What is not clear in any of the documentation at all is that the XMLPublisher bursting engine MUST handle ALL the records that it receives in the XML input.
    If you specify a filter on the output template in the bursting control file, that excludes some records (those not needing the email) the bursting engine doesn't know what do with the remaining records.
    Enter stage left - multiple delivery methods.
    I simply defined another delivery method sample template with a filter including only those records for people who do NOT need emails - type filesystem - and routed the output to the /tmp directory - the trash.
    The lesson(s) to be learnt
    1) The bursting engine needs to have instructions to handle ALL the XML data that is fed to it.
    2) You can define as many output documents and delivery methods as you like - putting filters on each delivery method as you like - BUT ALL XML RECORDS MUST be provided for.
    3) XML records that are not required in one output / bursting stream can be handled in another - and trashed in the /tmp - or other - area.
    The full bursting control file is shown below
    1) First define the two delivery methods
    2) Then define the two "documents" - using filters - using the two delivery methods.
    Hope this helps others wanting to do similary things
    Mike
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
    <xapi:request select="/AR_INVOICE/LIST_EMAIL_HEAD/EMAIL_HEAD">
    ----- Define the two delivery methods - first the "email"---------
    <xapi:delivery>
    <xapi:email server="10.1.1.2" port="25"
    from="${EM_DOC_EMAIL_ADDRESS}" reply-to ="${EM_COLLECTOR_EMAIL_ADDRESS}">
    <xapi:message id="email" to="[email protected]"
    attachment="true" subject="${EM_OPERATING_UNIT} invoice for ${EM_CUSTOMER_NAME}">
    Please review the attached invoice - terms are ${EM_TERMS}
    This will be sent to collector email ${EM_COLLECTOR_EMAIL_ADDRESS} and customer email ${EM_DOC_EMAIL_ADDRESS}
    </xapi:message>
    </xapi:email>
    ------ Second - the "null" - type filesystem ----------------
    <xapi:filesystem id="null" output="/tmp/xmlp_null_${EM_CUSTOMER_NAME}" />
    </xapi:delivery>
    ------Then define the first document using the"email" delivery -------------
    <xapi:document output-type="pdf" delivery="email">
    <xapi:template type="rtf" locale=""
    location="xdo://AR.XXARINVEMAILDUMMY.en.00/?getSource=true" translation="" filter=".//EMAIL_HEAD[EM_DOC_EMAIL_ADDRESS!='NO_EMAIL']">
    </xapi:template>
    </xapi:document>
    ------ Then define the other document using the "null" delivery --------------
    <xapi:document output-type="pdf" delivery="null">
         <xapi:template type="rtf" locale=""
         location="xdo://AR.XXARINVEMAILDUMMY.en.00/?getSource=true" translation="" filter=".//EMAIL_HEAD[EM_DOC_EMAIL_ADDRESS='NO_EMAIL']">
         </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>

  • Is there any way to access the files to be sent by XML bursting process?

    Hi All,
    I have following problem (11i, 5.6.3):
    - XML output will be created from report
    - bursting process will e-mail to multiple addresses after converting to PDF using RTF template
    - now I need to split the output again (like XML bursting does before sending out), but save on the server instead of emailing out
    Is there any way to achieve last point? Please note that in second step file will be split by supplier and in the third by invoice, so I definitely need to run bursting process twice.
    Regards
    Piotr

    iOS does not natively support normal file structures or servers, but there are third party apps you can get that do, such as FileBrowser.
    Regards.

  • Save Output Xml Generated During Bursting Process To Database

    Hi All,
    I am using BI Publisher 10.1.3.4.1 to geneate pdf invoices from xml file. One xml file contains around 10k invoices. During bursting process, I can see that xml file for each individual invoice is generated in the log directory along with some other files. Can I save the individual xml files in database instead of in a directory. How do I achieve this?
    Help from any one is highly apreciated.
    Thanks
    Angshuman
    Edited by: Angshuman on Aug 23, 2010 12:28 AM

    you have to use the bursting engine api and burst in your java code, and listen to the listener, which will give you the handle to the xml files, then you can store them in DB.

  • BIP bursting large document size files.

    We have BIP and we are running FSG's and bursting them to BIP standalone product. Our files are large and when we process a 500 meg file, the tag on the xml file get removed. Is there away to burst large reports without this happening? Or what is the size limit. We are currently creating 10 reports with different sizes to get the information from EBS to BIP.
    Any help with will be appreciated.
    Thanks

    Thanks for your response.
    Apologies, I've not explained myself well here. The majority of the information within the large pdf has come from word files although not all of it. There are also visio drawings and AutoCAD drawings. Generally with the AutoCAD drawings, I receive them already pdf'd and it is I suspect these which cause the large file size (they often contain OS mapping data or ECW files). I guess this explains the main reason I used pdf in the first place, it's software that can convert many diffferent file types into the same format, like in this instance. Unfortunately I am unable to post an example as the information relates to a government agency and the content may be deemed sensitive.
    The large file is essentially an electronic version of a suite of 6 hardcopy ringbinders. The obvious answer is to break down the document into smaller files (i.e. one for each volume of the suite). The problem here is that there are links within the file whereby references to other volumes are linked, taking the user straight to the section referred to. If I break the large file down I will lose this functionality, unless there is a way to link to a specific section of another document? If so, please enlighten me how this works.
    Hopefully I've explained things a little better now but whether my explanation helps find a solution I don't know.

  • BIP Bursting and Invalid Delivery Channels

    Hi,
    I have a BIP report which is setup to demo bursting capability. It works fine with multiple channels such as File folder, FTP, Email (Oracle Email Server).
    However, if I have invalid email addresses in the list of my bursting destinations, the report job log will still show all bursting deliveries "SUCCESS" though those bursted parts will neve be actually delivered to invalid email addresses.
    So I end up having an embrassing situation that some bursting end-users can't get report in their email box (because someone made mistakes when putting end user's email addresses in bursting configuration file/table) and administrator can't be aware of those failures because those won't be shown as "failed" on job log.
    Is there any way to configue BIP so that un-delivered part of bursting can be shown to the Administrator?
    BTW, before I send this email out, I just found FTP delivery channel also has the same issue. i.e. The bursting log still shows "SUCCESS" even when an invalid FTP host address is configured.
    Thanks a lot.
    Sincerely,
    Yang

    Hi all,
    within the delivery note specification the FTP Server name has been set the same to the IP address.
    For example:
    OLD
    FTP server name: Test
    IP: 1.1.1.1
    Port:21
    NEW
    FTP server name: 1.1.1.1
    IP: 1.1.1.1
    Port:21
    Then issue was resolved.
    Please, refer to the SR# 3-1488517361.
    with regards,
    Eldar A.

  • Error while generating document through bursting process

    <?xml version="1.0" encoding="UTF-8" ?>
    - <BURS_REPORT>
    <REQUESTID>29462818</REQUESTID>
    <PARENT_REQUESTID>29462816</PARENT_REQUESTID>
    <REPORT_DESC>RDA Invoice Print Selected Invoices XML</REPORT_DESC>
    <OUTPUT_FILE>/applog/common/app/RDDEV3/out/RDDEV3_uspvloradev1/o29462818.zip</OUTPUT_FILE>
    - <DOCUMENT_STATUS>
    <KEY />
    <OUTPUT_TYPE>pdf</OUTPUT_TYPE>
    <DELIVERY />
    <OUTPUT />
    <STATUS>fail</STATUS>
    <LOG>Error while generating the Document...</LOG>
    </DOCUMENT_STATUS>
    </BURS_REPORT>

    Hi,
    only MM documents will be reveresed through MR8M transaction code.
    so what ever document you have created in MIRO and want to reverese it.
    enter the same document number and do the MR8M transaction.
    then the debit will be credit and credit will be debited.
    when you do the reversal original value will be zero and gets knock off.
    so, redo the process.
    Regards,
    Padma

  • BIP Bursting

    Hello all....
    I am looking into the bursting concepts from a couple of days and had certain queries regarding it:
    -> Can we burst a report without delivering it?
    -> Is there any option for saving the bursted reports in the local file system other than the API option?
    PLZ suggest......
    Any suggestions would be considered Helpful.....
    Thanks and Regards,
    Susane

    Hi Susane,
    Bursting without delivery doesn't achieve anything, you can burst to filesystem - see example in BI Publisher standalone.
    Regards,
    Gareth

  • Bursting with EBIZ12 and Listner Process

    Hi All,
    We are using BI Publisher with R12 Instance. We are using bursting to break the BIG XML file for the Employee data
    by manager and sending it to multiple desitnations and it is moving fine.
    We need to acheive the following also along with the bursting of the file :
    a) Store Individual File XML data into file system & corresponding Manager name and ID in table for retreival later.
    i ) Where can we plug this code ? Will the Listener Hook Provides have handle to each file XML data ?
    ii) How can we register the Listener hook with Standard Concurrent Program ( as we using the standard Bursting program in 5.6.3)?
    Any other approaches / pointers will be helpful.
    Regards,
    Abhishek

    a) Yes, listeners would work.
    i ) yes and no, the bursting engine prune's the doc and the xml disappears after the next delivery.
    ii) see below. super easy. you need to implement the bursting interface and java concurrent program.
    Here's an example homeslice of the *[Burst Designer| http://web.me.com/beth.wiggins/ike/bipublisher/BurstDesignerDist/launch.html]* creates a tree using the listeners:
    package bipublisher.burst.listener;
    import java.awt.Desktop;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.net.URI;
    import java.net.URISyntaxException;
    import java.util.Enumeration;
    import java.util.Properties;
    import java.util.Vector;
    import java.util.logging.Level;
    import javax.swing.JTextArea;
    import javax.swing.JTree;
    import javax.swing.SwingUtilities;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.TreeNode;
    import javax.swing.tree.TreePath;
    import oracle.apps.xdo.batch.BurstingListener;
    import oracle.apps.xdo.batch.DocumentProcessor;
    import oracle.apps.xdo.common.log.Logger;
    import oracle.apps.xdo.common.log.XDOLogImpl;
    * @author ike
    public class BurstDesignerListener implements BurstingListener, Runnable {
        private javax.swing.JTextArea logTextArea;
        private JTree tree;
        private String burstControlFileLocation = "";
        private String testFileLocation = "";
        String tempdir = System.getProperty("java.io.tmpdir");
        private DefaultTreeModel model;
        private Properties properties;
        DefaultMutableTreeNode top = new DefaultMutableTreeNode();
        DefaultMutableTreeNode request = null;
        DefaultMutableTreeNode delivery = null;
        DefaultMutableTreeNode attachmentsDtm = null;
        static Logger logger;
        public BurstDesignerListener() {
            super();
        public void run() {
            ByteArrayOutputStream out = new ByteArrayOutputStream();
            try {
                redirectXdoLogStreams(out);
                model = (DefaultTreeModel) tree.getModel();
                top = (DefaultMutableTreeNode) model.getRoot();
                DocumentProcessor dp = new DocumentProcessor(burstControlFileLocation, testFileLocation, tempdir);
                dp.setConfig(properties);
                dp.registerListener(this);
                dp.process();
            } catch (Exception e) {
                Logger.log(e);
            } finally {
                try {
                    out.flush();
                    out.close();
                //logTextArea.append(bao.toString());
                } catch (IOException ex) {
                    java.util.logging.Logger.getLogger(BurstDesignerListener.class.getName()).log(Level.SEVERE, null, ex);
        public void beforeProcess() {
            logger.log("LISTENER:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Start of Bursting Process", 1);
            tree.setEnabled(false);
        public void beforeProcessRequest(int requestIndex) {
            logger.log("LISTENER:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Start of Process Request ID" + requestIndex, 1);
            request = new DefaultMutableTreeNode("Request ID: " + requestIndex);
            top.add(request);
        public void beforeProcessDocument(int requestIndex, int documentIndex) {
            logger.log("LISTENER:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::Start of Process Document", 1);
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Request Index " + requestIndex, 1);
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Document Index " + documentIndex, 1);
        public void beforeDocumentDelivery(int requestIndex, int documentIndex, String deliveryId) {
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ========Start of Delivery", 1);
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Request Index " + requestIndex, 1);
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Document Index " + documentIndex, 1);
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: DeliveryId " + deliveryId, 1);
            delivery = new DefaultMutableTreeNode("Delivery ID: " + deliveryId);
            request.add(delivery);
        public void afterProcess() {
            logger.log("LISTENER:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::End of Bursting Process\r\n", 1);
            expandAll(tree, true);
            tree.setEnabled(true);
        public void afterProcessRequest(int requestIndex) {
            logger.log("LISTENER:::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::End of Process Request ID" + requestIndex + "\r\n", 1);
        //logTextArea.append("End of Process Request ID" + requestIndex + "\r\n");
        public void afterProcessDocument(int requestIndex, int documentIndex, Vector documentOutputs) {
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ========End of Process Document", 1);
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Outputs :" + documentOutputs, 1);
        public void afterDocumentDelivery(int requestIndex, int documentIndex, String deliveryId, Object deliveryObject, Vector attachments) {
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ========End of Delivery", 1);
            logger.log("LISTENER::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: Attachments : " + attachments, 1);
            Vector<String> attachments2 = attachments;
            for (String str : attachments2) {
                attachmentsDtm = new DefaultMutableTreeNode(str);
                delivery.add(attachmentsDtm);
        public String getTempdir() {
            return tempdir;
        public void setTempdir(String tempdir) {
            this.tempdir = tempdir;
        public String getBurstControlFileLocation() {
            return burstControlFileLocation;
        public void setBurstControlFileLocation(String burstControlFileDir) {
            this.burstControlFileLocation = burstControlFileDir;
        public String getTestFileLocation() {
            return testFileLocation;
        public void setTestFileLocation(String testFileDir) {
            this.testFileLocation = testFileDir;
        public JTextArea getTextArea() {
            return logTextArea;
        public void setTextArea(JTextArea textArea) {
            this.logTextArea = textArea;
        public JTree getTree() {
            return tree;
        public void setTree(JTree tree) {
            this.tree = tree;
        public void expandAll(JTree tree, boolean expand) {
            TreeNode root = (TreeNode) tree.getModel().getRoot();
            // Traverse tree from root
            expandAll(tree, new TreePath(root), expand);
        private void expandAll(JTree tree, TreePath parent, boolean expand) {
            // Traverse children
            TreeNode node = (TreeNode) parent.getLastPathComponent();
            if (node.getChildCount() >= 0) {
                for (Enumeration e = node.children(); e.hasMoreElements();) {
                    TreeNode n = (TreeNode) e.nextElement();
                    TreePath path = parent.pathByAddingChild(n);
                    expandAll(tree, path, expand);
            // Expansion or collapse must be done bottom-up
            if (expand) {
                tree.expandPath(parent);
            } else {
                tree.collapsePath(parent);
        public Properties getProperties() {
            return properties;
        public void setProperties(Properties properties) {
            this.properties = properties;
        private void updateTextArea(final String text) {
            SwingUtilities.invokeLater(new Runnable() {
                public void run() {
                    logTextArea.append(text);
        private void redirectXdoLogStreams(ByteArrayOutputStream out) {
            out = new ByteArrayOutputStream() {
                @Override
                public void write(int b) {
                    updateTextArea(String.valueOf((char) b));
                @Override
                public void write(byte[] b, int off, int len) {
                    updateTextArea(new String(b, off, len));
                @Override
                public void write(byte[] b) throws IOException {
                    write(b, 0, b.length);
            //System.setOut(new PrintStream(out, true));
            //System.setErr(new PrintStream(out, true));
            XDOLogImpl fileLog = new XDOLogImpl();
            // bao = new ByteArrayOutputStream();
            fileLog.setDestination(out);
            Logger.setLog(fileLog);
            Logger.setLevel(Logger.STATEMENT);
        public void displayDocument() {
            if (Desktop.isDesktopSupported()) {
                Desktop desktop = Desktop.getDesktop();
                // Now enable buttons for actions that are supported.
                URI uri = null;
                try {
                    uri = new URI("file:///Users/ike/Desktop/corporate_examples/SALES.pdf");
                    desktop.browse(uri);
                } catch (IOException ioe) {
                    ioe.printStackTrace();
                } catch (URISyntaxException use) {
                    use.printStackTrace();
        private void updateTextArea(final String text) {
        SwingUtilities.invokeLater(new Runnable() {
        public void run() {
        logTextArea.append(text);
        private void redirectSystemStreams() {
        OutputStream out = new OutputStream() {
        @Override
        public void write(int b) throws IOException {
        updateTextArea(String.valueOf((char) b));
        @Override
        public void write(byte[] b, int off, int len) throws IOException {
        updateTextArea(new String(b, off, len));
        @Override
        public void write(byte[] b) throws IOException {
        write(b, 0, b.length);
        System.setOut(new PrintStream(out, true));
        System.setErr(new PrintStream(out, true));
    Hope that helps!  If it does please give me the points!
    If your looking to test bursting I have an application that can help you design the bursting control file and run it. Keep in mind it still in beta. You'll be able to get your test scenerios much faster if you use my tool. It's free, so why not!
    Click here: *[Burst Designer| http://web.me.com/beth.wiggins/ike/bipublisher/BurstDesignerDist/launch.html | A free tool to design Burst Control Files - by Ike Wiggins]*
    if you want to see what you can do with the bursting designer look at the video: *[Burst Designer Video| http://web.me.com/beth.wiggins/ike/bipublisher/BurstingDesignerDemoComputer.m4v]*
    Ike Wiggins
    http://bipublisher.blogspot.com

  • Issue Bursting PDF file using delivery channel - filesystem

    I have an issue happening randomly with the files that are created by the bursting process in the filesystem path mentioned in the bursting control file.
    The PDF file that is the input to the Bursting process looks normal.
    However the splitted PDF file created by bursting in the filesystem is having the font all messed up.
    The input pdf file has multiple invoices. The issue is seen in one of the invoice that got bursted.
    Can anyone give me some input into the cause of this issue. should anything be changed in the bursting control file.
    <?xml version="1.0" encoding="UTF-8" ?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
    <xapi:globalData location="stream" />
    <xapi:request select="/ADP_OC_AR_INVOICE_PDF_PRINT_S/LIST_G_TRX_NUMBER/G_TRX_NUMBER">
    <xapi:delivery>
    <xapi:filesystem id="123" output="${URL}"/>
    </xapi:delivery>
    <xapi:document key="${TRX_NUMBER}" output-type="pdf" delivery="123">
    <xapi:template type="rtf" location="/otc/AR/in/fonts/XXX_INVOICE_PDF_PRINT.rtf" />
    </xapi:document>
    </xapi:request>
    </xapi:requestset>

    A few questions: Are you using an xsl-fo template or a RTF template? Doesn't location need to point to the complete path, including the template name? Is the path specified below in your post complete?
    Take a look at this: http://www.adivaconsulting.com/adiva-blog/item/9-bip-bursting
    Thanks!

  • Bursting with JAVA APIs / MultiThreading / Errors Handling

    We are trying to use the bursting JAVA APIs 10.1.3.3.1 Standalone) to burst huge XML files and generate PDF Files from RTF templates. Here are a list of our issues with this feature:
    1. We have some problems catching the errors when bursting. We have tried to use the "oracle.apps.xdo.common.log.Logger" class, but it is not always reacting like we think it should. Could you please give us an exemple of a clean bursting error catching or a brief description of how we could do it. We have a lot of difficulties to find information about using the JAVA APIs of BIP.
    2. Is it a clean way of catching the bursting errors to use the "oracle.apps.xdo.common.log.Logger" class?
    3. When using the 10.1.3.3.1 DocumentProcessor JAVA API, the process gets killed when the RTF template is not where the control file specified it. Even when using a finally clause containing the document processor, we can't fetch the error from the "oracle.apps.xdo.common.log.Logger" class. We did not find a way to catch this error which make our program crash.
    4. How can we enable multi-threading that is included in the DocumentProcessor JAVA APIs so it can take advantage of the multi-processors environnements?

    1. Check tim d. blog, you can use the bursting listners to get the errors. It's also in the documentation.
    First, on every exception, the Bursting APIs are dumping the error in the Logger. So I can't see how we can use the listeners to catch these. We can check the hasExceptions on the Logger but still, we have some problems with this. When we deploy our application as a MDB (Message driven bean), it seems that once the hasException flag has been raised, if we call the MDB again, it is still up. Is there documentation about that Logger class? Also, I'm worried that we won't be able to call our MDB twice to run simultaneously 2 different bursting process since it seems the Logger is something static, keeping every exception in memory... That's bad.. And show me where you have found documentation about this. All I see in documentation is how to call the DocumentProcessor in a couple of lines. I don't see anything about a clean way to catch errors.
    2. Yes/No/Depends. I think it's fine. If your changing the logger options in your program that could come back to haunt you.
    I guess so, I'm not changing anything and its already haunting me...
    3. When using the 10.1.3.3.1 DocumentProcessor JAVA API, the process gets killed when the RTF template is not where the control file specified it. Even when using a finally clause containing the document processor, we can't fetch the error from the "oracle.apps.xdo.common.log.Logger" class. We did not find a way to catch this error which make our program crash.
    Even worst, when we deploy the component has an MDB, when the error happens, it kills the whole oc4j container... please correct this quick.
    4. How can we enable multi-threading that is included in the DocumentProcessor JAVA APIs so it can take advantage of the multi-processors environnements?
    We got an answer from the dev team which is to add two properties to the document processor, something like:
    enable-multithreading: true
    thread-count: >2
    We did that and what we got is that the process started and it got stuck in a dead lock at the first document processing. How nice! :)
    We got a milestone in March and I'm really worried about all those problems... Not enough documentation, a pretty bad error handling, errors making crash the whole oc4j container, Logger seems not to be handling simultaneous calls/ threads, not even handling two subsequent calls... etc.
    If anyone has the magic answer, it would be pretty welcomed!
    Thanks

  • Only bursting one mail..

    Hi,
    According to BIP User Guide 10.3.1.2 (B40017-01).
    We make a testing for using bursting engine .
    It work but it only burst one mail out(we expected more...).
    Is there any problem in our control file ??
    The control file(burst.xml):
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
    <xapi:request select="/EMPLOYEES/EMP">
    <xapi:delivery>
         <xapi:email server="mail.server.ip.address" port="25" from="[email protected]" reply-to ="[email protected]">
         <xapi:message id="111" to="${EMAIL}" cc="[email protected]" attachment="true" subject="Bursting Test for ${NAME}">
    Hi ${NAME}, Please review the attached document... </xapi:message>
         </xapi:email>
    </xapi:delivery>
    <xapi:document output-type="pdf" delivery="111">
         <xapi:template type="rtf" location="/tmp/test.rtf"></xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    The XML data (emp.xml) is simple like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <EMPLOYEES>
         <EMP>
              <NAME>AAA</NAME>
              <EMAIL>[email protected]</EMAIL>
              <MSG>This is the first message for AAA</MSG>
         </EMP>
         <EMP>
              <NAME>BBB</NAME>
              <EMAIL>[email protected]</EMAIL>
              <MSG>This is the first message for BBB</MSG>
         </EMP>
         <EMP>
              <NAME>CCC</NAME>
              <EMAIL>[email protected]</EMAIL>
              <MSG>This is the first message for CCC</MSG>
         </EMP>
    </EMPLOYEES>
    And the attachment template is:
    This is a test...
    <?for-each:EMP?>
    Hi <?NAME?> .. <?MSG?>...
    and your email is <?EMAIL?>
    <?end for-each?>
    We except to get three email..
    ..send to AAA(cc to me) / send to BBB(cc to me) / send to CCC(cc to me)..
    But there is only one mail send to AAA(cc to me).
    The java concurrent program is complete with normal status:
    The log file is shown as below, and that stop at document index 1(we expect 2 and 3)..
    ==============Start of Bursting Process=================
    ========Start of Process Request
    Request Index +requestIndex
    ========Start of Process Document
    Request Index 1
    Document Index 1
    ========End of Process Document
    Outputs :[tmp/061207_120154592/3.pdf]
    ========Start of Delivery
    Request Index 1
    Document Index 1
    DeliveryId 111
    ========End of Delivery
    Attachments : [tmp/061207_120154592/3.pdf]
    ========End of Process Request
    ==============End of Bursting Process=================
    So is there any problem in our control file(burst.xml) or any mistake in the template file(test.rft)???
    Thanks in advance,
    best regards,
    Zhxiang

    What is the XMLP version?
    There was some bug in initial 5.6.2 which does not work if the bursting tag is substring of parent tag EMP and EMPLOYEE. replace EMPLOYEE to G_EMPLOYEEE or use latest xdo patch XDO 5.6.3..
    Regards
    Ashish

  • Bursting to etext

    Hi All,
    I am using BIP (5.6.3) embedded in Apps (12.1.2).
    I am trying to use the bursting functionality to produce an etext file. Below is my bursting control file:
    <?xml version="1.0" encoding="UTF-8"?>
    <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi">
    <xapi:request select="/">
    <xapi:delivery>
    <xapi:filesystem output="/usr/tmp" id="dd"/>
    </xapi:delivery>
    <xapi:document output="test" output-type="etext" delivery="dd">
    <xapi:template type="etext" location="xdo://XX.XXARXAPFRM.en.00/?getSource=true">
    </xapi:template>
    </xapi:document>
    </xapi:request>
    </xapi:requestset>
    Pretty basic!! When I run the bursting job in the Apps I get the following error in the log file for the bursting job:
    XML/BI Publisher Version : 5.6.3
    Request ID: 464529
    All Parameters: Dummy for Data Security=Y:ReportRequestID=464338:DebugFlag=Y
    Report Req ID: 464338
    Debug Flag: Y
    Updating request description
    Updated description
    Retrieving XML request information
    Node Name:RSAUOFS02
    Preparing parameters
    null output =/oracle/TEST/inst/apps/TEST_rsauofs02/logs/appl/conc/out/o464529.out
    inputfilename =/oracle/TEST/inst/apps/TEST_rsauofs02/logs/appl/conc/out/o464338.out
    Data XML File:/oracle/TEST/inst/apps/TEST_rsauofs02/logs/appl/conc/out/o464338.out
    Set Bursting parameters..
    Temp. Directory:/usr/tmp
    [051910_025226010][][STATEMENT] Oracle XML Parser version ::: Oracle XML Developers Kit 10.1.3.130 - Production
    [051910_025226011][][STATEMENT] setOAProperties called..
    Bursting propertes.....
    {user-variable:cp:territory=US, user-variable:cp:ReportRequestID=464338, user-variable:cp:language=en, user-variable:cp:responsibility=50699, user-variable.OA_MEDIA=http://aserver.com:8001/OA_MEDIA, burstng-source=EBS, user-variable:cp:DebugFlag=Y, user-variable:cp:parent_request_id=464338, user-variable:cp:locale=en-US, user-variable:cp:user=SETUPUSER, user-variable:cp:application_short_name=XDO, user-variable:cp:request_id=464529, user-variable:cp:org_id=84, user-variable:cp:reportdescription=XXAR: Produce ABA Remittance File, user-variable:cp:Dummy for Data Security=Y}
    Start bursting process..
    Bursting process complete..
    Generating Bursting Status Report..
    --Exception
    /usr/tmp/051910_025226030/test.text (No such file or directory)
    java.io.FileNotFoundException: /usr/tmp/051910_025226030/test.text (No such file or directory)
         at java.io.FileInputStream.open(Native Method)
         at java.io.FileInputStream.<init>(FileInputStream.java:106)
         at java.io.FileInputStream.<init>(FileInputStream.java:66)
         at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.zipOutputFiles(JCP4XDOBurstingEngine.java:523)
         at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.runProgram(JCP4XDOBurstingEngine.java:292)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:157)
    Can anyone confirm if bursting using a template type of etext and/or the output-type of etext is supported? I have tried various combinations of valid types some of which do not give the error but do not produce output. Thanks in advance

    I'm not an expert (I am about to work on this same requirement), so anyone else please feel free to reply.
    This post confirms that etext is a supported bursting option: Re: My XSL template runs fine from concurrent manager, but fails while bursting
    I noticed your document type was "etext". According to the user guide, I the valid values are pdf, rtf, html, excel, and text. Changing this one line might make all the difference:
    <xapi:document output="test" output-type="text" delivery="dd">
    Also, your filesystem output is missing the filename. I know the user guide only says to define the directory path here, but all the examples include the filename.
    You might also want to make use of the xdodebug.cfg file to turn on statement level logging to get more details.
    xdodebug.cfg should be put in your jre/lib dir. Find out which one by looking at the "java.home" property listed in your OPP manager log.
    The contents of the file should be the following two lines:
    LogLevel=STATEMENT
    LogDir=/usr/tmp
    Please post your new control file if you get it working.

  • XML Publisher Report Bursting Program (XDOBURSTREP) is failing after ATG7

    Hello
    After upgrading ATG RUP7, we have issue related to the XML Bursting Program.
    XML Publisher Report Bursting Program (XDOBURSTREP Short Name) is failing with error when there is no output is generated by the Oracle Report, this was working fine before the ATG RUP7.
    Oracle XML Publisher Template Builder for Word
    Version 5.6 Build 45
    Oracle RDBMS : 10.2.0.4.0
    Oracle Applications : 11.5.10.2
    Concurrent Program: XML Publisher Report Bursting Program
    Concurrent Short Name:XDOBURSTREP
    Executable: XDOBURSTRPT
    The following is the log file of Bursting
    XDOBURSTREP module: XML Publisher Report Bursting Program
    Current system time is 22-OCT-2010 08:41:09
    0.932: [GC 0.932: [DefNew: 1792K->191K(1984K), 0.0190521 secs] 1792K->243K(6080K), 0.0193017 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
    1.637: [GC 1.638: [DefNew: 1983K->45K(1984K), 0.0279269 secs] 2035K->283K(6080K), 0.0281136 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
    2.369: [GC 2.369: [DefNew: 1837K->192K(1984K), 0.0249747 secs] 2075K->597K(6080K), 0.0251559 secs] [Times: user=0.02 sys=0.00, real=0.03 secs]
    3.186: [GC 3.186: [DefNew: 1984K->130K(1984K), 0.0208499 secs] 2389K->713K(6080K), 0.0210453 secs] [Times: user=0.02 sys=0.01, real=0.02 secs]
    3.938: [GC 3.939: [DefNew: 1922K->114K(1984K), 0.0219872 secs] 2505K->825K(6080K), 0.0221742 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
    4.781: [GC 4.781: [DefNew: 1906K->192K(1984K), 0.0271288 secs] 2617K->1258K(6080K), 0.0273437 secs] [Times: user=0.03 sys=0.00, real=0.03 secs]
    4.931: [GC 4.931: [DefNew: 1983K->192K(1984K), 0.0114155 secs] 3049K->1575K(6080K), 0.0116308 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
    4.978: [GC 4.978: [DefNew: 1974K->1K(1984K), 0.0032511 secs] 3357K->1415K(6080K), 0.0034360 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]
    5.001: [GC 5.001: [DefNew: 1790K->34K(1984K), 0.0020751 secs] 3204K->1448K(6080K), 0.0022582 secs] [Times: user=0.01 sys=0.01, real=0.00 secs]
    5.023: [GC 5.023: [DefNew: 1814K->68K(1984K), 0.0021542 secs] 3228K->1481K(6080K), 0.0023365 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]
    5.273: [GC 5.273: [DefNew: 1860K->119K(1984K), 0.0055906 secs] 3273K->1533K(6080K), 0.0057779 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
    5.451: [GC 5.451: [DefNew: 1911K->58K(1984K), 0.0059780 secs] 3325K->1587K(6080K), 0.0061632 secs] [Times: user=0.00 sys=0.00, real=0.01 secs]
    5.653: [GC 5.653: [DefNew: 1850K->103K(1984K), 0.0034036 secs] 3379K->1632K(6080K), 0.0035865 secs] [Times: user=0.00 sys=0.00, real=0.00 secs]
    5.813: [GC 5.813: [DefNew: 1895K->86K(1984K), 0.0053900 secs] 3424K->1667K(6080K), 0.0055748 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
    5.932: [GC 5.932: [DefNew: 1878K->124K(1984K), 0.0035633 secs] 3459K->1705K(6080K), 0.0037447 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]
    6.057: [GC 6.057: [DefNew: 1916K->147K(1984K), 0.0043476 secs] 3497K->1760K(6080K), 0.0045299 secs] [Times: user=0.01 sys=0.00, real=0.00 secs]
    6.214: [GC 6.214: [DefNew: 1939K->192K(1984K), 0.0120992 secs] 3552K->2141K(6080K), 0.0122907 secs] [Times: user=0.01 sys=0.00, real=0.01 secs]
    XML/BI Publisher Version : 5.6.3
    Updating request description
    Retrieving XML request information
    Preparing parameters
    7.104: [GC 7.104: [DefNew: 1982K->192K(1984K), 0.0200714 secs] 3932K->2346K(6080K), 0.0202692 secs] [Times: user=0.02 sys=0.00, real=0.02 secs]
    Set Bursting parameters..
    Bursting propertes.....
    {user-variable:cp:territory=US, user-variable:cp:ReportRequestID=16649488, user-variable:cp:language=en, user-variable:cp:responsibility=23202, user-variable.OA_MEDIA=http://d1at2.atco.ca:8010/OA_MEDIA, burstng-source=EBS, user-variable:cp:DebugFlag=N, user-variable:cp:parent_request_id=16649488, user-variable:cp:locale=en-US, user-variable:cp:user=URU4.ASHAFI, user-variable:cp:application_short_name=XDO, user-variable:cp:request_id=16649506, user-variable:cp:org_id=43, user-variable:cp:reportdescription=XXPAY Database Audit Series Change Register}
    Start bursting process..
    7.845: [GC 7.845: [DefNew: 1984K->158K(1984K), 0.0181146 secs] 4138K->2495K(6080K), 0.0183025 secs] [Times: user=0.01 sys=0.00, real=0.02 secs]
    7.885: [GC 7.885: [DefNew: 231K->14K(1984K), 0.0055622 secs]7.891: [Tenured[Unloading class sun.reflect.GeneratedSerializationConstructorAccessor2]
    [Unloading class sun.reflect.GeneratedSerializationConstructorAccessor1]
    : 2486K->2073K(4096K), 0.2881229 secs] 2568K->2073K(6080K), 0.2940010 secs] [Times: user=0.29 sys=0.02, real=0.29 secs]
    8.682: [GC 8.682: [DefNew: 1787K->170K(1984K), 0.0120166 secs] 5861K->4243K(6080K), 0.0122079 secs] [Times: user=0.02 sys=0.00, real=0.01 secs]
    9.163: [GC 9.163: [DefNew: 1524K->74K(1984K), 0.0086781 secs]9.171: [Tenured: 4237K->2299K(4352K), 0.2773675 secs] 5597K->2299K(6336K), 0.2863681 secs] [Times: user=0.28 sys=0.00, real=0.29 secs]
    9.472: [GC 9.473: [DefNew: 90K->17K(1984K), 0.0025361 secs]9.475: [Tenured: 4299K->2311K(6104K), 0.2718601 secs] 4390K->2311K(8088K), 0.2747072 secs] [Times: user=0.28 sys=0.00, real=0.27 secs]
    9.822: [GC 9.822: [DefNew: 585K->42K(1984K), 0.0027399 secs]9.825: [Tenured: 4311K->2085K(6104K), 0.3354828 secs] 4897K->2085K(8088K), 0.3385340 secs] [Times: user=0.34 sys=0.00, real=0.34 secs]
    Bursting process complete..
    Generating Bursting Status Report..
    --Exception
    /oracle/appl/orad1at2/product/comn/temp/102210_084117484/AUDIT_GS_BI-WEEKLY.pdf (No such file or directory)
    java.io.FileNotFoundException: /oracle/appl/orad1at2/product/comn/temp/102210_084117484/AUDIT_GS_BI-WEEKLY.pdf (No such file or directory)
         at java.io.FileInputStream.open(Native Method)
         at java.io.FileInputStream.<init>(FileInputStream.java:106)
         at java.io.FileInputStream.<init>(FileInputStream.java:66)
         at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.zipOutputFiles(JCP4XDOBurstingEngine.java:532)
         at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.runProgram(JCP4XDOBurstingEngine.java:299)
         at oracle.apps.fnd.cp.request.Run.main(Run.java:161)
    Heap
    def new generation total 1984K, used 194K [0xb1000000, 0xb1220000, 0xb4780000)
    eden space 1792K, 10% used [0xb1000000, 0xb1030a98, 0xb11c0000)
    from space 192K, 0% used [0xb11c0000, 0xb11c0000, 0xb11f0000)
    to space 192K, 0% used [0xb11f0000, 0xb11f0000, 0xb1220000)
    tenured generation total 6104K, used 4085K [0xb4780000, 0xb4d76000, 0xd0400000)
    the space 6104K, 66% used [0xb4780000, 0xb4b7d490, 0xb4b7d600, 0xb4d76000)
    compacting perm gen total 12288K, used 7424K [0xd0400000, 0xd1000000, 0xd8400000)
    the space 12288K, 60% used [0xd0400000, 0xd0b402a8, 0xd0b40400, 0xd1000000)
    ro space 8192K, 80% used [0xd8400000, 0xd8a73430, 0xd8a73600, 0xd8c00000)
    rw space 12288K, 59% used [0xd8c00000, 0xd9330510, 0xd9330600, 0xd9800000)
    Start of log messages from FND_FILE
    End of log messages from FND_FILE
    Executing request completion options...
    Finished executing request completion options.
    Concurrent request completed
    Current system time is 22-OCT-2010 08:41:20
    Any Help Appreciated
    Thanks

    Hi;
    Similar issue mention at below notes, Please review:
    NPE Error While Bursting Using XDOBURSTREP in EBS R12 [ID 754790.1]
    Bursting Engine Ends With Java.Lang.Nullpointerexception[Article ID 559443.1]
    XDOBURSTREP - XML Publisher Report Bursting Program Fails with InvalidPropertyValueException[Article ID 603424.1]
    If its not help I suggest rise SR
    Regard
    Helios

Maybe you are looking for

  • Error 13 when trying to download or update.

    For months now I've been getting error 13 whenever I try to update apps or get new ones from the Mac Appstore. I already have six updates pending and this is starting to get on my nerves. I secrched the web upside down but no solution seemed to help

  • How do I add an additional iPhone number to my iMessage on my iPad to receive text messages?

    How do I add an additional iphone number to imessage to receive text messages from the second iphone device?

  • FR 9.3.1 - Show point values doesn't work properly

    Greetings, I'm experiencing a strange trouble with the show point values function in charts like Bar, Line or Combo Chart types. The values diplayed are rounded to the nearest value, even if the grid show decimal values. I didn't find any solution to

  • Sp user not resolving in the people picker SharePoint 2010

    Hi All, i have an account domain/bimoffice, this account resolves in all the site collections but only in one site collection is does not so not able to give permission to him for example http://acm/sites/gis works ! http://acm/sites/ww - works! http

  • Storing iphoto on an external drive

    Howdy, New to posting here...but have been a mac owner for some time now. My question is in regards to storing my iphoto library on my G-Raid external drive. I'm maxing out my internal drive (80 gig) w/ photo's & music. Is it possible to store the ap