You are on page 1of 4

Execute XML publisher report from PLSQL

Example:
DECLARE
-l_responsibility_id NUMBER;
l_application_id NUMBER;
l_user_id
NUMBER;
l_request_id
NUMBER;
l_layout
NUMBER;
-BEGIN
-SELECT DISTINCT fr.responsibility_id,
frx.application_id
INTO l_responsibility_id,
l_application_id
FROM apps.fnd_responsibility frx,
apps.fnd_responsibility_tl fr
WHERE fr.responsibility_id = frx.responsibility_id
AND LOWER (fr.responsibility_name) LIKE LOWER('XXTest Resp');
-SELECT user_id INTO l_user_id FROM fnd_user WHERE user_name = 'STHALLAM';
---To set environment context.
-apps.fnd_global.apps_initialize (l_user_id,l_responsibility_id,l_application_id);
---Setting Layout for the Request
-l_layout := apps.fnd_request.add_layout(
template_appl_name => 'XXCUST',
template_code
=> 'XXEMP',
template_language => 'en',
template_territory => 'US',
output_format
=> 'EXCEL');
---Submitting Concurrent Request

-l_request_id := fnd_request.submit_request (
application => 'XXCUST',
program
=> 'XXEMP',
description => 'XXTest Employee Details',
start_time => sysdate,
sub_request => FALSE,
argument1 => 'Smith'
);
-COMMIT;
-IF l_request_id = 0
THEN
dbms.output.put_line ('Concurrent request failed to submit');
ELSE
dbms_output.put_line('Successfully Submitted the Concurrent Request');
END IF;
-EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Error While Submitting Concurrent Request '||
TO_CHAR(SQLCODE)||'-'||SQLERRM);
END;
/

DECLARE
---Cursor to fetch the data
-CURSOR data_cur
IS
-SELECT empno,ename,job,hiredate,sal FROM emp;
-output_row data_cur%rowtype;
BEGIN
--dbms_output.put_line('<?xml version="1.0" encoding="US-ASCII"
standalone="no"?>');
fnd_file.put_line(fnd_file.output,'<?xml version="1.0" encoding="US-ASCII"
standalone="no"?>');
dbms_output.put_line('<OUTPUT>');
fnd_file.put_line(fnd_file.output,'<OUTPUT>');
-OPEN data_cur;
LOOP
-FETCH data_cur INTO output_row;
EXIT
WHEN data_cur%notfound;
-dbms_output.put_line('<ROW>');
fnd_file.put_line(fnd_file.output,'<ROW>');
-dbms_output.put_line('<ENUM>'||
dbms_xmlgen.CONVERT(output_row.empno)||'</ENUM>');
fnd_file.put_line(fnd_file.output,'<ENUM>'||
dbms_xmlgen.CONVERT(output_row.empno)||'</ENUM>');
-dbms_output.put_line('<ENAME>'||dbms_xmlgen.CONVERT(output_row.ename
)||'</ENAME>');
fnd_file.put_line(fnd_file.output,'<ENAME>'||
dbms_xmlgen.CONVERT(output_row.ename )||'</ENAME>');
-dbms_output.put_line('<JOB>'||dbms_xmlgen.CONVERT(output_row.job
)||'</JOB>');
fnd_file.put_line(fnd_file.output,'<JOB>'||
dbms_xmlgen.CONVERT(output_row.job )||'</JOB>');
-dbms_output.put_line('<HIRE_DATE>'||
dbms_xmlgen.CONVERT(output_row.hiredate )||'</HIRE_DATE>');
fnd_file.put_line(fnd_file.output,'<HIRE_DATE>'||
dbms_xmlgen.CONVERT(output_row.hiredate )||'</HIRE_DATE>');
-dbms_output.put_line('<SAL>'||dbms_xmlgen.CONVERT(output_row.sal
)||'</SAL>');
fnd_file.put_line(fnd_file.output,'<SAL>'||
dbms_xmlgen.CONVERT(output_row.sal )||'</SAL>');

-dbms_output.put_line('</ROW>');
fnd_file.put_line(fnd_file.output,'</ROW>');
-END LOOP;
CLOSE data_cur;
-dbms_output.put_line('</OUTPUT>');
fnd_file.put_line(fnd_file.output,'</OUTPUT>');
-END;
/

You might also like