2 Replies Latest reply: May 17, 2013 5:05 AM by Kavipriya RSS

    XML Bursting to a printer

    user578908
      Hello experts out there. Can one of you give me some guidance on how to send a pdf file to a printer via xml bursting?
      One of the requirements I have is to email an invoice if customer has an email address. If no email address is found then print it.
      This is what I have so far in the XML Bursting file. (FYI: the email part works) We are using R12.1.3

      <?xml version="1.0" encoding="UTF-8"?>
           <xapi:requestset xmlns:xapi="http://xmlns.oracle.com/oxp/xapi" type="bursting">
                <xapi:request select="/RAXINV/LIST_G_ORDER_BY/G_ORDER_BY/LIST_G_INVOICE/G_INVOICE">
                     <xapi:delivery>
                          <xapi:email server="localhost" port="25" from="CreditDepartment@zak.com" reply-to="CreditDepartment@zak.com">
                               <xapi:message id="123" to="${XXZAK_INVOICE_EMAIL}" cc="" attachment="true" content-type="html/text" subject="Zak Designs Invoice">Please review and approve attached invoice(s) for payment.
                               
                               
                               
      Thank You,




      </xapi:message>
                          </xapi:email>
                          <xapi:filesystem id="file1" output="/usr/tmp/ar_invoice_${TRX_NUMBER}_temp.pdf"/>
                          <xapi:print id="PRINT" printer="10.10.5.19" copies="1" />
                     </xapi:delivery>
                <xapi:document output="${TRX_NUMBER}_${BILL_CUST_NAME}_${TRX_DATE}.pdf" output-type="pdf" delivery="123">
                     <xapi:template type="rtf" location="xdo://AR.RAXINV_SEL.en.US/?getSource=true" filter=".//G_INVOICE[XXZAK_INVOICE_EMAIL!='NO EMAIL']" >
                     </xapi:template>               
                </xapi:document>
                <xapi:document output-type="pdf" delivery="PRINT">
                     <xapi:template type="rtf" location="xdo://AR.RAXINV_SEL.en.US/?getSource=true" filter=".//G_INVOICE[XXZAK_INVOICE_EMAIL='NO EMAIL']" >
                </xapi:template>               
                </xapi:document>
                </xapi:request>
           </xapi:requestset>


      When I run the report for printing, I get the following error message:

      [051313_112504249][][EXCEPTION] java.lang.NullPointerException
           at java.util.Hashtable.put(Hashtable.java:394)
           at oracle.apps.xdo.oa.cp.CPUtil.setProperty(CPUtil.java:67)
           at oracle.apps.xdo.oa.cp.CPUtil.getSessionProperties(CPUtil.java:45)
           at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.runProgram(JCP4XDOBurstingEngine.java:84)
           at oracle.apps.fnd.cp.request.Run.main(Run.java:157)

      XML/BI Publisher Version : 5.6.3
      Updating request description
      Retrieving XML request information
      Preparing parameters
      Set Bursting parameters..
      Bursting propertes.....
      {user-variable:cp:territory=US, user-variable:cp:ReportRequestID=7239988, user-variable:cp:language=en, user-variable:cp:responsibility=50449, user-variable.OA_MEDIA=http://oracletest.zak.com:8010/OA_MEDIA, burstng-source=EBS, user-variable:cp:DebugFlag=N, user-variable:cp:parent_request_id=7239988, user-variable:cp:locale=en-US, user-variable:cp:user=SYSADMIN, user-variable:cp:application_short_name=XDO, user-variable:cp:request_id=7239993, user-variable:cp:reportdescription=Invoice Print Selected Invoices, user-variable:cp:Dummy for Data Security=Y}
      Start bursting process..
      Bursting process complete..
      Generating Bursting Status Report..
      --Exception
      ZIP file must have at least one entry
      java.util.zip.ZipException: ZIP file must have at least one entry
           at java.util.zip.ZipOutputStream.finish(ZipOutputStream.java:304)
           at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.zipOutputFiles(JCP4XDOBurstingEngine.java:534)
           at oracle.apps.xdo.oa.cp.JCP4XDOBurstingEngine.runProgram(JCP4XDOBurstingEngine.java:292)
           at oracle.apps.fnd.cp.request.Run.main(Run.java:157)