XMLP Concurrent Program With Bursting
XMLP Concurrent Program With Bursting
You will also be able to download each of the component used in this demo.
2.
3.
10. Download & install XML Publisher desktop software latest version[as yet]
13. Preview the report output within MS Word using XMLP Preview option
18. Create pl/sql procedure xx_submit_bursting in apps schema, that submits fnd_request for
XDOBURSTREP, with debug parameter= Y
19. Call XDOBURSTREP from After report trigger, passing it current request_id
20. Ensure that srw.user_exit('FND SRWINIT') has been called from before report trigger
22. 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.
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
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.
Output will appear as shown below
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
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 as below from within MS Word, using XMLP Desktop Preview option
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.
As soon as you create a Data Definition, you will then be presented with Bursting Control File option as shown below.
Click on the button for uploading Bursting Control File
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.
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/
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;
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 as below, this will submit the Bursting process too.