Thanks to the wonderful XML Bursting article written by Prasad CP.
Following his explanations in this link, I have re-created the old tutorial for XML Publisher Concurrent Program that was written in Year 2006.
Old tutorial has now been further enhanced to burst the report output to each email address in the manager table.
This article simply shows the steps, however for detailed explanation of concepts bursting control file etc, please read Prasad CP's articles, where he has explained each node of the Bursting Control File.
You will also be able to download each of the component used in this demo.
Overview of steps in this article are
-
Create table which will provide data for Bursting Report
-
Create a report name XX_MANAGERS.rdf
-
Run the report in preview mode in reports designer
-
Add user parameters to this report and FTP to $AR_TOP/reports/US
-
Register this report as concurrent program of type XML
-
Add this report to Receivables group
-
Run this report and save the xml file as xx_manager_output.xml
-
Download & install XML Publisher desktop software latest version[as yet]
-
Import xx_manager_output.xml in MS Word, and create default layout
-
Save the default layout as rtf file MANAGER_XML_TEMPLATE.rtf
-
Preview the report output within MS Word using XMLP Preview option
-
Define data definition for the XMLP Report
-
Prepare a simple bursting file, with help of XML xx_manager_output.xml
-
Upload the bursting control file to data definition
-
Create XMLP Template XX_MANAGERS, and upload MANAGER_XML_TEMPLATE.rtf to this template.
-
Create pl/sql procedure xx_submit_bursting in apps schema, that submits fnd_request for XDOBURSTREP, with debug parameter= Y
-
Call XDOBURSTREP from After report trigger, passing it current request_id
-
Ensure that srw.user_exit('FND SRWINIT') has been called from before report trigger
-
FTP the XX_MANAGERS.rdf againt to $AR_TOP/reports/US
-
Run the report, and you will see the Bursted Output in mailbox.
Ensure that you have the desired patches, as per your EBS Level, as mentioned in Prasad's article.
select application_short_name, bug_number, to_char(creation_date,'DD-MON-YYYY HH24:MI:SS') dated
from apps.ad_bugs
where bug_number = '5968876';
Run the below in non-apps schema [but for demo I am using APPS]
--Create the tables as below
create table xx_managers ( manager_no integer, manager_name varchar2(200) ) ;
insert into xx_managers ( manager_no, manager_name ) values ( 1000, 'Anil Passi') ;
insert into xx_managers ( manager_no, manager_name ) values ( 1001, 'Martin') ;
commit;
--add email address column to the table
commit;
Note:- To each record in the table, we will Burst the output via Email.
Please note, the intention is just to show the steps, and not necessary the breakdown of data structure.
Hence only a simple single repeating frame based layout is being used.
In control file you need to specify the level at which data should be broken down while bursting.
Create a new report as shown below, and name it XX_MANAGERS
Add the user parameters[i.e. P_CONC_REQUEST_ID, P_RESPONSIBILITY_ID, P_USER_ID] as shown above.
Preview the report in reports builder itself, by running the same in Reports Builder
FTP XX_MANAGERS.rdf to $AR_TOP/reports/US
Silly it is, but for demo I will use standard Application [forgive me, but I am making it easier for you to run the source code].
Create Concurrent program executable for XMLP report, as if it is a normal report
Create a concurrent program for the executable. Note that I have kept the shortname and the program name both as XX_MANAGERS.
IMPORTANT:- Note that format is XML
Register this program with Receivables request group.
Now, make the report available to default request set of “Receivables Manager” responsibility.
DECLARE
BEGIN
fnd_program.add_to_group(program_short_name => 'XX_MANAGERS'
,program_application => 'AR'
,request_group => 'Receivables All'
,group_application => 'AR');
COMMIT;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Object already exists');
END;
/
Login to receivables Manager, and Run the report from Submit Request window, as a concurrent program submission.
IMPORTANT NOTE - Save the above XML outpur as xx_manager_output.xml on your PC.
Ensure that you have installed the latest version of XML Publisher desktop software
http://updates.oracle.com/ARULink/PatchDetails/process_form?patch_num=5887917
Open MS Word, you will see the menu’s as shown
Load the xml output of concurrent program into XMLP Desktop too
Now, click on insert and click on Table/Form
Within Insert Table/Form, as shown below, drag the List G Manager No to Template section
The default Layout is created as below
You can preview the output from within MS Word, using XMLP Desktop Preview option
Now, lets do the real bit in attaching the Concurrent Program definition to XML
Publisher. Logon to responsibility “XML Publisher Administrator”.
Click on “Data Definition” menu as above…so that we can create the XMLs source data Definition. Effectively we are saying that output of the Concurrent program becomes the data definition for XMLP.
Lets create “Data Definition” with the values in below fields
Name : XX_MANAGERS
Application : Receivables
Code : XX_MANAGERS [Note: This is the short name of the Concurrent program]
Start Date : Leave it to default Sysdate
Click on “Apply”
As soon as you create a Data Definition, you will then be presented with Bursting Control File option
Click on the button for uploading Bursting Control File
Ensure that a bursting file created as below has been uploaded
Sample definition of bursting control file is
Ensure that temp directory is set, for this, navigate to Administration in XML Publisher Administrator
In this case, I am setting the Temporary directory to /tmp
Ensure that the XML Template file is there on the server. It can be anywhere on server, we simply note down the path to use it in bursting control file.
In the above example, the RTF template file[MANAGER_XML_TEMPLATE.rtf] is in /tmp
Hence in bursting control file, we will mention the path /tmp/MANAGER_XML_TEMPLATE.rtf
VERY IMPORTANT NOTE- In real life, this rtf file will not be in /tmp directory
If your concurrent managers run on DB Tier itself, then ensure that rtf template file has been FTP’ed to /tmp on DB Tier.
Create template as below, by uploading the rtf file during template creation
Name : XX_MANAGERS [this is the name of the template]
Code : XX_MANAGERS [short name of conc program]
Application : Receivables
Data Definition : XX_MANAGERS [the one that we created in prior step 12]
Start Date : Leave this default.
Type : RTF
Click on browse and select the RTF file[MANAGER_XML_TEMPLATE.rtf] that you had saved using MS-Word/
Click on Apply, and you will get the record.
Your template has now been created
Run the below procedure in APPS Schema
CREATE OR REPLACE PROCEDURE xx_submit_bursting(p_request_id IN INTEGER) AS
n_request_id NUMBER;
BEGIN
n_request_id := fnd_request.submit_request('XDO'
,'XDOBURSTREP'
,NULL
,NULL
,FALSE
,p_request_id
,'Y'
);
END xx_submit_bursting;
/
Ensure that the procedure has been created
Open report XX_MANAGERS in reports editor, and in the After Report Trigger & Before Report Triggers, write code below
FUNCTION afterreport RETURN BOOLEAN IS
BEGIN
xx_submit_bursting(:p_conc_request_id);
RETURN(TRUE);
END;
FUNCTION beforereport RETURN BOOLEAN IS
BEGIN
srw.user_exit('FND SRWINIT');
RETURN(TRUE);
END;
Next, ftp the file XX_MANAGERS.rdf again to the $AR_TOP/reports/US. This is so, because, now we are calling the bursting process from the After Report Trigger
Run the XX_MANAGERS , this will submit the Bursting process too.
I can now see the emails in my inbox
Second email is as shown below
Downloads
The rdf file can be downloaded from here
Click here to download bursting control file in this example
Click here to download xml output of concurrent program
Click here to download rtf file used in this example
Comments
Thanks for the wonderful article.
Sri
Thanks a lot for such beautiful article... :)
I am having some problem i.e. the standard 'XML Publisher Report Bursting Program' is erroring out . Can you please have a look at the bellow log message?
Excep tion in thread "main" java.lang.NullP ointerException
at java.util.Hasht able.put(Hashta ble.java:396)
a t oracle.apps.xdo .oa.cp.CPUtil.g etSessionProper ties(CPUtil.jav a:42)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:80)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 157)
oracle.app s.xdo.oa.cp.JCP 4XDOBurstingEng ine
Program exited with status 1
Regards,
Swa in
This error might be related to your org_id not being set.
Are you on R12 using MOAC?
If so, raise SR with Oracle, this is a bug. They will give you a patch.
Thanks,
Anil Passi
Thanks you very much. yes I am in R12. Yes I will raise SR for it.
Regards,
S wain
Our Check printing process is failing because of the character recognition test and its signal level as new regulation from the Bank industry for Canada
required a specific font and a higher level of iron in the toner. In order to meet this requirement, we need to send the check to our printer using RTF and NOT PDF so the printer can use its character set and increase the amount of iron on the check. (from the printer people). However, in 11i I do not know the style or type to set for the printer to print with RTF file. Our process is working fine when sending a PDF to the printer using PDF Publisher print type. CAn you give me some insight on format ( PDF, RTF...) as well as printer style and type.
any advise on this?
I follow the above mentioned procedure but the program going into error. Plz. help me.
error---
X ML/BI Publisher Version : 5.6.3
--Excepti on
null
java.la ng.NullPointerE xception
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.g etSystemTempDir ectory(JCP4XDOB urstingEngine.j ava:413)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:106)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 161)
Regards,
Kamlesh Nikhade
Ensure that temp directory is set, for this, navigate to Administration in XML Publisher Administrator and set this up.
Also, ensure that this directory has write permissions for concurrent managers.
Than ks,
Anil Passi
Thanx..it is done.
Now the program running fine. But when I select the range of employees for my payslip report the bursted output should email to the respective employee but it is going to the last employee from the range.And the attachment contains all employees data.
I confused , where I mistook.
Plz. help as asap.
Regards,
KamleshN.
Could you please copy paste section of your report xml file and the control file ?
"request select "tag defines the group at which your report data should break , please check if its set to the employee group name as in the report .
${D ESCRIPTION} is a hard worker
${D ESCRIPTION} is a hard worker
--
--
--
--
--${DESCRIP TION} is a hard worker
--
--
--
--
--
--
--
${DESC RIPTION} is a hard worker
"
$ {DESCRIPTION} is a hard worker
"
(?xml version="1.0" encoding="UTF-8 " ?)
(xapi:reques tset xmlns:xapi="htt p://xmlns.oracl e.com/oxp/xapi" type="bursting" )
(xapi:request select="/MODULE 1/LIST_G_USER_N AME/G_USER_NAME ")
(xapi:delive ry)
(xapi:email id="email" server="[server name]" from="oraclecompany.com" reply-to ="somebodycompany.com")
(xapi:message id="email" to="${EMAIL_ADD RESS}" content-type="t ext/html" attachment="tru e" subject="Things about ${USER_NAME}")$ {DESCRIPTION} is a hard worker
(/xapi:m essage)
(/xapi: email)
(/xapi:d elivery)
(xapi: document output-type="pd f" delivery="email ")
(xapi:templa te type="rtf" location="/usr/ tmp/Test_Burst. rtf")
(/xapi:te mplate)
(/xapi: document)
(/xap i:request)
(/xa pi:requestset)
Thanks a ton for this awesome steps for bursting report.
Do we have to configure the mail server for bursting report?
Pls let me know if we can do the bursting without configuring mail server on apps server?
Thanks,
Datta
dattapmsn.com
here you have referred of calling "After Report Trigger" for bursting to work
But in my case i am not generating XML with the help of RDF.Rather i am generating XML by usinf XMLGEN utility .
So how do i do the bursting?
Thank s,
Akash
at the end of that very pl/sql, i.e. after calling XMLGEN, you need to submit the Bursting concurrent request by passing the current concurrent request Id.
Hence you will
1. Define a PL/SQL or SQL Concurrent program that generates XML Output
2. Pass the request id of (1) to Bursting concurrent process.
Thank s,
Anil Passi
Thanks again!!!
XML/BI Publisher Version : 5.6.3
--Excepti on
For input string: "Y"
java.lang.N umberFormatExce ption: For input string: "Y"
at java.lang.Numbe rFormatExceptio n.forInputStrin g(NumberFormatE xception.java:4
at java.lang.Integ er.parseInt(Int eger.java:447)
at java.lang.Integ er.parseInt(Int eger.java:497)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:138)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 157)
Thank you for Providing the Excellent article on Bursting.It helped me a lot in my Application's.
Can you please let me know how to change the name of the attachement.
When we are using the Bursting facility the mail attachement name will be like the rtf name.There is a facility for chenging the name of the attachement.Ple ase let me know as soon as possible because we are sturk up at this stsage almost 2 week's
Thanks in Advance,
Raghav
Fir st download and install Patch 5838650 if not already done so
You can define output attribute within Document Element in bursting control file
to override the auto generated file name.
replace * by < and > by #
Quote:
or see image
Thanks
Anil passi
Thank you for the Quick Responce.
Can you provide the sample control file for changing the name of the attachement.
T hanks in advcance,
Ragha vendra.B
I am sending the PDF generated to a particular mail recipient using the bursting options.
There is requirement in which I have to attach another PDF (which is a common PDF file kept in e.g.: /tmp directory) to the mail. These multiple attachments should go in a single mail. Please let me know how we can achieve this.
Thanks in Advance,
Shashi
Thanks to all .
I will really appreciate if anyone..give me the link for any new articles published regarding performance tunning,xml publisher,repor t developing tools.
regards ,
Kamlesh Nikhade
Thanks in advance.
Jay
just wanted to know what should be put in the location section above?
I tried /usr/tmp/RTF name , my local directory , etc...but dint work...any permissions or any thing other than need to be set up? is there any relation between this location and location that is specified in adminstrator tab general option ...?
Thanks for your time
Jay
Is there any way to attach multiple attachments while sending email by using XML bursting? Could you please let me know ASAP?
Regards,
Ramarao.
Error!! Could not deliver the output for Delivery channel:null . Please check the Log for error details..
Howe ver, there aren't any details in the log file. I'm sure I am missing a printer set-up step, but I have been unable to locate any information on it.
Please advise.
You need to install CUPS Service and PDF-To-PostScri pt driver on a machine/server
Your printers to be used in bursting must be registered on that server.
For printing from BI Publiisher, IPP is the only way forward.
Thank s
Anil passi
I appreciate the helpful information provided. Do you know if the Bursting process can be used to break up an output file so that multiple PO's can be faxed to multiple fax numbers? If so, can you provide a sample bursting file for this and any other direction?
Than ks in advance for your help!
Kris
Using bursting control file, you can apply filter based on conditions.
Eff ectlively, for each condition you can either send fax or email or print.
Also , for each condition/filte r you can specify a different fax server if need be
Thanks
Anil Passi
Here we have an Issue. We are calling the Burting Xml Program for AR CUSTOMER REPORT.In the Control file we mentioned based on Customer Number. Whenever we submit that concurrent program it is printing two copies for the same customer. we set the printer name and copies as 1 in the control file. What I observed is the name of the RTF that is defined in the template is different from the name of the rtf that is called in the control file. But both has same layout Does this has any effect ?
Thanks
Krishna
Thanks.
Great Site.
I am currently working on Bursting concept in XML.
I have succesfully created the control file and got the email to work.
However I am not able to get Fax functionality to work at all.
My Unix guy has installed CUPS and he is able to fax from the cups server to the fax machine but when I submit the concurrent request nothing happens with the fax. There is no activity at all.
My fax section in the control file is as follows:
${FAX _NUMBER}
Is there anything more I have to do from control file, oracle rdf , Oracle apps point of view.
Any help you can provide will be really appreciated.
R egards
Ray
< (space) xapi : fax server="http:// cfdcups01:631/p rinters/efax" (space) >
< (space) xapi:number id="FAX1" (space) > ${FAX_NUMBER} < (space) /xapi:number (space) >
< (space) /xapi:fax (space) >
can u telnet to cups server from your tier where conc mgr is running?
How will I know if there is a firewall issue?
We were able to fax directly from the fax server to a fax machine.
We also installed the cupserver on the instance from which we run concurrent request and ran the lp print command and it faxes fine from that instance too.
But when I run the concurrent request, email is sent but there is no fax recieved on the fax machine.
As mentioned above I have shown the syntax I used for fax in the control file.
In the rdf , I have defined a user parameter , fax_number and use select :p_fax_number from dual
In the concurrent program define I have defined the parameter fax_number with token p_fax_number.
S o control file , rdf and conc. prog parameters are taken care of. Is there anything I am missing.
Anil can you please throw some light on this issue.
Thanks in Advance.
Regar ds
Ray
given that cups is installed locally, you can use localhost
xapi :email id="123" server="localho st" port="631" from="AnyNumber "
Thanks for the input but could you please help me out in how will the syntax be in the control file for fax if given "localhost" and as per my above fax information.
T hanks
Ray
< (space) xapi : fax server="localho st:631/printers /efax" (space) >
< (space) xapi:number id="FAX1" (space) > ${FAX_NUMBER} < (space) /xapi:number (space) >
< (space) /xapi:fax (space) >
Thanks for this very useful article Anil.
I am getting two attachements one is report (as expected)
and the other is body of the message. Below is the Control File.
Hello ${FULL_NAME},
Please review the attached Payslip for this month.
Regards,
Payroll
For the Printer URL, Is it necessary to have the printer registered in Apps ?
Thanks,
Suja y
How do you get the message on different line in the email BOdy.
Is there any provision for a new line etc in the bursting control file.
Eg: In the control file : after subject...I type:
Hello XYZ
How are you?
Thanks.
And in the email body I exactly want the same way...3 different lines but instead I get :
Hello XYZ How are you? Thanks.
Pleas e Help
I tried using the , also but it didn't work.
Can you give an example of how to insert line breaks in the message for the email body in the bursting control file.
Thanks in Advance.
Ray
< br >< / br > (without spaces)
< br / > (without spaces)
and some other combns...but message in email body comes in one line.
You have to add the whole html page syntax to use < br / >
Again Anil Thanks a lot.
Great website which I always visit for reference.
Reg ards
Ray
Thanks for your input.
XML/BI Publisher Version : 5.6.3
--Excepti on
For input string: "Y"
java.lang.N umberFormatExce ption: For input string: "Y"
at java.lang.Numbe rFormatExceptio n.forInputStrin g(NumberFormatE xception.java:4 8
at java.lang.Integ er.parseInt(Int eger.java:447)
at java.lang.Integ er.parseInt(Int eger.java:497)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:48)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 157)
Please suggest ??.
I am new to XML, i followed the above steps, there is no error coming but email is also not going. Can you please tell me if i need to enable any thing in application side.
Regards
Ashu
Thanks for the sharing a very nice document on XML bursting concepts.
In my case I have done XML bursting with RTF template.
Is it possible to get the bursting done for output type to XLS and template type to XSL-XML?
I tired with the above example but it didnt worked.
Your help will be appreciated.
T hanks
Satya
Thanks a lot for sharing your knowledge here...
While running XML bursting report I am getting the following error:
XML/BI Publisher Version : 5.6.3
--Excepti on
For input string: ""
java.lang.Nu mberFormatExcep tion: For input string: ""
at java.lang.Numbe rFormatExceptio n.forInputStrin g(NumberFormatE xception.java:4
at java.lang.Integ er.parseInt(Int eger.java:510)
at java.lang.Integ er.parseInt(Int eger.java:539)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:142)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 157)
Please suggest further.
Haris h.
I have followed all instructions here and still get the email body as one continuous line. XMLRay, when you say you have to include full html syntax, what exactly do you mean? I have tried all combinations of HTML XML but to no avail, including full html body and html syntax. Any help appreciated.
I done everything according to the artile, bursting program completed successfully but i dont received any mail. Did anyone faced this kind of problem, pls suggest some solution.
Thank s
I have done everything according to the artile, bursting program completed successfully but i dint received any mail, did anyone faced this kind of problem, are there anything settings that need to be configured by DBA, pls suggest some solution.
Thanks
I forgot to change the mailhost in bursting file and now its working fine.
Thanks for the great article.
XML/BI Publisher Version : 5.6.3
--Excepti on
For input string: "Y"
java.lang.N umberFormatExce ption: For input string: "Y"
at java.lang.Numbe rFormatExceptio n.forInputStrin g(NumberFormatE xception.java:4
at java.lang.Integ er.parseInt(Int eger.java:447)
at java.lang.Integ er.parseInt(Int eger.java:497)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:142)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 157)
Request ID: 2950823
All Parameters: ReportRequestID =2950822:DebugF lag=Y
Report Req ID: 2950822
Debug Flag: Y
Updating request description
Upd ated description
Ret rieving XML request information
Nod e Name:OSLCOE04
P reparing parameters
null output =/u04/VISR11APP /visr11comn/adm in/out/VISR11_o slcoe04/o295082 3.out
inputfile name =/u04/VISR11APP /visr11comn/adm in/out/VISR11_o slcoe04/o295082 2.out
Data XML File:/u04/VISR1 1APP/visr11comn /admin/out/VISR 11_oslcoe04/o29 50822.out
Set Bursting parameters..
Te mp. Directory:/tmp
[072010_0503081 53][][STATEMENT ] Oracle XML Parser version ::: Oracle XDK Java 9.0.4.0.0 Production
Star t bursting process..
[0720 10_050308160][] [STATEMENT] /tmp
[072010_05 0308175][][STAT EMENT] BurstingProcess or ::: Property Key ---> burstng-source
[072010_0503081 76][][STATEMENT ] Inside burstingConfigParser
[072010_050308185][oracle.apps.xdo.batch.BurstingProcess orEngine][STATEMENT] =============== =========> startElement() ::: startDocument is entered startElement() ::: startDocument is entered
I tried the example but the mail is delivered only the last manager no and also the complete list.
Please suggest.
Best Regards,
Bala
I tried the example, but the email delivered only to the last manger email id with the complete list as the attachment.
Ple ase suggest.
Thank s,
Bala
I have developed this example in R12 instance.
The request has been completed with status = 'Error'.
But i could not find any reason in the log file.
Please suggest me....
The log file is as below
XML/BI Publisher Version : 5.6.3
Updating request description
Ret rieving XML request information
Pre paring parameters
Set Bursting parameters..
Bu rsting propertes.....
{user-variable: cp:territory=US , user-variable:c p:ReportRequest ID=586681, user-variable:c p:language=en, user-variable:c p:responsibilit y=50539, user-variable.O A_MEDIA=http:.. ..com:8018/OA_M EDIA, burstng-source= EBS, user-variable:c p:DebugFlag=N, user-variable:c p:parent_reques t_id=586681, user-variable:c p:locale=en-US, user-variable:c p:user=MOHAPR, user-variable:c p:application_s hort_name=XDO, user-variable:c p:request_id=58 6682, user-variable:c p:org_id=101, user-variable:c p:reportdescrip tion=Bursting Test Demo, user-variable:c p:Dummy for Data Security=Y}
Sta rt bursting process..
+---- --------------- --------------- --------------- --------------- -----------+
St art of log messages from FND_FILE
+----- --------------- --------------- --------------- --------------- ----------+
+-- --------------- --------------- --------------- --------------- -------------+
End of log messages from FND_FILE
+----- --------------- --------------- --------------- --------------- ----------+
+ --------------- --------------- --------------- --------------- --------------- +
Executing request completion options...
Fi nished executing request completion options.
+---- --------------- --------------- --------------- --------------- -----------+
Co ncurrent request completed
Curre nt system time is 09-NOV-2010 12:51:15
+---- --------------- --------------- --------------- --------------- -----------+
PA.XXX_XX XPBSRA.en.US ==== hint: application.dat a definition short name.en.US
Now my error is that somehow the xml bursting file is appending the date and other info to the temporary directory path and causing my error, How do I get around this?
Start bursting process..
Burst ing process complete..
Gene rating Bursting Status Report..
--Exce ption
/u04/app/ xxxdevl/admin/o ut/DEVL/120110_ 015558817/Remit _Advice_.pdf (No such file or directory)
java .io.FileNotFoun dException: /u04/app/xxxdev l/admin/out/DEV L/120110_015558 817/Remit_Advic e_.pdf (No such file or directory)
at java.io.FileInp utStream.open(N ative Method)
at java.io.FileInp utStream.(FileI nputStream.java :106)
at java.io.FileInp utStream.(FileI nputStream.java :66)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.z ipOutputFiles(J CP4XDOBurstingE ngine.java:523)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:292)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 161)
"[012811_ 063157571][][EX CEPTION] java.lang.NullP ointerException
at java.util.Hasht able.put(Hashta ble.java:394)
a t oracle.apps.xdo .oa.cp.CPUtil.s etProperty(CPUt il.java:67)
at oracle.apps.xdo .oa.cp.CPUtil.g etSessionProper ties(CPUtil.jav a:45)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:84)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 157)
"
Any help would be much appreciated.
Is it possible to rename the output file dynamically? I know by default it has the following format - {REPORTNAME}_{R EQUEST_ID}_{COU NT}.PDF|RTF|EXC EL|HTML
Thanks !
If the template file is in the system already (loaded into the Template page), why do we also have to have a copy in the file system in a temp folder.
Can we not reference the Template setup in the system?
Ta
Phil
PS: Getting into this big sytle and your entries are just about the only help i've found - thanks.
I followed the above steps, i am getting the below error
Generating Bursting Status Report..
--Exce ption
/dbab3i/a pplmgr/common/t emp/051211_1248 36457/Remit_Adv ice_123.pdf (No such file or directory)
java .io.FileNotFoun dException: /dbab3i/applmgr /common/temp/05 1211_124836457/ Remit_Advice_12 3.pdf (No such file or directory)
at java.io.FileInp utStream.open(N ative Method)
at java.io.FileInp utStream.(FileI nputStream.java :106)
at java.io.FileInp utStream.(FileI nputStream.java :66)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.z ipOutputFiles(J CP4XDOBurstingE ngine.java:523)
at oracle.apps.xdo .oa.cp.JCP4XDOB urstingEngine.r unProgram(JCP4X DOBurstingEngin e.java:292)
at oracle.apps.fnd .cp.request.Run .main(Run.java: 157)
java.util .logging.ErrorM anager: 1:
oracle.core.oj dl.LoggingExcep tion: oracle.core.ojd l.LoggingExcept ion: Attempt to write to a closed LogWriter
at oracle.core.ojd l.ExceptionHand ler.onException (Unknown Source)
at oracle.core.ojd l.BufferedLogWr iter.handleExce ption(Unknown Source)
at oracle.core.ojd l.BufferedLogWr iter.write(Unkn own Source)
at oracle.core.ojd l.logging.ODLHa ndler.publish(U nknown Source)
at java.util.loggi ng.Logger.log(L ogger.java:472)
at java.util.loggi ng.Logger.doLog (Logger.java:49 4)
at java.util.loggi ng.Logger.log(L ogger.java:517)
at oracle.ias.cach e.CacheInternal .logLifecycleEv ent(Unknown Source)
at oracle.ias.cach e.CacheInternal .close(Unknown Source)
at oracle.ias.cach e.Cache.close(U nknown Source)
at oracle.apps.jtf .cache.IASCache Provider$CacheS topperThread.ru n(IASCacheProvi der.java:1480)
Caused by: oracle.core.ojd l.LoggingExcept ion: Attempt to write to a closed LogWriter
Pls advise
I wanted to offer another possible solution for the dreaded "Delivery channel:null" error that we were able to overcome. We are running in an Oracle On Demand environment that has strict security. We had existing code that sent emails using UTL_SMTP. Our incorrect assumption was that the email server used for UTL_SMTP was the email server to use for BI Publisher. Not so. Use the database server as the email server for pl/sql code executing utl_smtp commands. Use the apps server as the email server for BI Publisher Bursting.
Problem:
Error!! Could not deliver the output for Delivery channel:null . Please check the Log for error details..
One solution in addition to checking port, to, etc parameters in the delivery tag:
Try using the apps server as the server attribute in the bursting control file for BI Publisher. Better still, use localhost.
eg. server="localho st" port="25"
Than ks,
Ken
The problem is we are calling this terms and conditions into another template in that it was printing fine but that was printing on the last page.but our requirement is to print for every page.For me the if one invoice is for the four pages the requirement is if it was print then it has to print on each and every page and if it was sending through email then it has to printon the last page.Can u please help me out in this?
We have a requirement to Email Report Output along with FTP to some Server.
So far i am able to achieve email feature using XML Bursting, Can you please provide details on How to FTP Report Output to some Server using xml bursting.
Also , i need to check if file is empty then do not FTP.
Thanks in Advance..
My bursting program is working fine when there is a data. When there is no data then bursting concurrent program will error out.
we want that to be completed in Warning instead of Error when there is no data( I mean when there is no XML generated).
for me temporary directory location is /usr/tmp and i placed my rtf file in this location but bursting report errored out with /usr/tmp/XXVMDR ORDERSTS.rtf (No such file or directory).
Co uld you please help me on this.
Regards,
Anand
I am trying xml bursting and facing tmp directory problem. Please guide me how to configure tmp directory? Thanks in anticipation.
Regards
Khalid Mehmood
You have done really great job, we can not get clear article like this anywhere
Thanks
Karth ik
Can we burst the BPA Child Print Program output and send invoices to customers directly. I tried getting xml data of this program and wrote a bursting control file based on it. can you please help me to move further on this.
P lease review the attached Invoice
Tha nks in Advance,
Swarna .
Am successfully using XML Bursting for FTP file transfer.
My question here is: Eventhough i have passed wrong password through Bursting control file, 'Bursting status report' shows 'status' as 'Success'. As the password is wrong, file won't be transferred that is correct. Is there a way to show some message to users saying that 'You have given wrong password , and hence unable to connect to destination server'.
I appreciate your help.
Thanks
Kavitha
RSS feed for comments to this post