Using submit_request will only submits the program and will not attach any layout or print option. Code below will help to set XML publisher template/layout along with print option.
*****Add_layout and Add_printer procedures are optional in calling submit_request. Use only if you need to set them.
Layout is submitted to a concurrent request using below procedure
fnd_request.add_layout (
template_appl_name => 'Template Application',
template_code => 'Template Code',
template_language => 'en', --Use language from template definition
template_territory => 'US', --Use territory from template definition
output_format => 'PDF' --Use output format from template definition
);
Setting printer while submitting concurrent program
fnd_submit.set_print_options (printer => lc_printer_name
,style => 'PDF Publisher'
,copies => 1
);
fnd_request.add_printer (
printer => printer_name,
copies => 1);
DECLARE
lc_boolean BOOLEAN;
ln_request_id NUMBER;
lc_printer_name VARCHAR2 (100);
lc_boolean1 BOOLEAN;
lc_boolean2 BOOLEAN;
BEGIN
-- Initialize Apps
fnd_global.apps_initialize (>USER_ID<
,>RESP_ID<
,>RESP_APPL_ID<
);
-- Set printer options
lc_boolean :=
fnd_submit.set_print_options (printer => lc_printer_name
,style => 'PDF Publisher'
,copies => 1
);
--Add printer
lc_boolean1 :=
fnd_request.add_printer (printer => lc_printer_name
,copies => 1);
--Set Layout
lc_boolean2 :=
fnd_request.add_layout (
template_appl_name => 'Template Application',
template_code => 'Template Code',
template_language => 'en', --Use language from template definition
template_territory => 'US', --Use territory from template definition
output_format => 'PDF' --Use output format from template definition
);
ln_request_id :=
fnd_request.submit_request ('FND', -- application
'COCN_PGM_SHORT_NAME',-- program short name
'', -- description
'', -- start time
FALSE, -- sub request
'Argument1', -- argument1
'Argument2', -- argument2
'N', -- argument3
NULL, -- argument4
NULL, -- argument5
'Argument6', -- argument6
CHR (0) -- represents end of arguments
);
COMMIT;
IF ln_request_id = 0
THEN
dbms.output.put_line ('Concurrent request failed to submit');
END IF;
END;
This is very helpful.
ReplyDeleteThank you for sharing your knowledge.
This comment has been removed by the author.
Delete