Tuesday, November 29, 2011

any concurrent request producing XML where you don't have control over the template/layout

Here's one solution, and this applies equally for any concurrent request producing XML where you don't have control over the template/layout.

Source


create or replace package XXV8_XMLP_PKG AUTHID CURRENT_USER AS
function submit_request_xmlp
( p_code in varchar2
, p_request_id in number
) return number;
end XXV8_XMLP_PKG;
/

create or replace package body XXV8_XMLP_PKG AS
function submit_request_xmlp
( p_code in varchar2
, p_request_id in number
) return number
is
l_req_id number := 0;
begin
if p_code = 'ARXSGP' then
l_req_id := FND_REQUEST.SUBMIT_REQUEST('XDO','XDOREPPB',NULL,NULL,FALSE,
p_request_id,
222, -- Receivables
'ARXSGP', -- Statement Generate
'en-US', -- English
'N','RTF','PDF');
end if;
return l_req_id;
end submit_request_xmlp;

end XXV8_XMLP_PKG;
/

Add the following to the after report trigger in ARXSGPO.rdf:


declare
v_req_id number := 0;
begin
v_req_id := xxv8_xmlp_pkg.submit_request_xmlp('ARXSGP',:p_conc_request_id);
if v_req_id > 0 then
srw.message(20002, 'Submitted request_id ' || v_req_id);
commit;
else
srw.message(20002, 'Failed to submit request');
end if;
end;

No comments:

Post a Comment