使用fnd_request可以实现在PLSQL
代码中提交并发请求。
但是如果请求 设置了 模板,代码提交请求是带不出来模板的,需要添加代码来为请求指定模板。代码如下
但是如果请求 设置了 模板,代码提交请求是带不出来模板的,需要添加代码来为请求指定模板。代码如下
PROCEDURE
submit_concurrent_program
(
x_request_id OUT NUMBER ,
x_return_msg OUT VARCHAR2 ,
p_conc_prog_code VARCHAR2 ,
p_group_id NUMBER ,
p_doc_seq_num VARCHAR2
) IS
l_layout BOOLEAN;
l_output_type VARCHAR2 ( 30 );
BEGIN
BEGIN
SELECT xt.default_output_type
INTO l_output_type
FROM xdo_templates_vl xt
WHERE xt.application_short_name = ' CUX '
AND xt.template_code = p_conc_prog_code;
EXCEPTION
WHEN OTHERS THEN
l_output_type : = NULL ;
END ;
--
l_layout : = fnd_request.add_layout( ' CUX ' ,
p_conc_prog_code,
NULL ,
NULL ,
l_output_type);
--
IF l_layout AND l_output_type IS NOT NULL THEN
x_request_id : = fnd_request.submit_request( ' CUX ' ,
p_conc_prog_code,
NULL ,
NULL ,
FALSE,
p_doc_seq_num,
p_group_id);
IF x_request_id = 0 THEN
x_return_msg : = ' 提交并发请求失败,请联系系统管理员. ' ;
RETURN ;
ELSE
COMMIT ;
END IF ;
ELSE
x_return_msg : = ' 获取默认输出格式失败,请联系系统管理员检查设置. ' ;
END IF ;
EXCEPTION
WHEN OTHERS THEN
x_request_id : = NULL ;
x_return_msg : = SQLCODE || ' : ' || SQLERRM;
END submit_concurrent_program;
(
x_request_id OUT NUMBER ,
x_return_msg OUT VARCHAR2 ,
p_conc_prog_code VARCHAR2 ,
p_group_id NUMBER ,
p_doc_seq_num VARCHAR2
) IS
l_layout BOOLEAN;
l_output_type VARCHAR2 ( 30 );
BEGIN
BEGIN
SELECT xt.default_output_type
INTO l_output_type
FROM xdo_templates_vl xt
WHERE xt.application_short_name = ' CUX '
AND xt.template_code = p_conc_prog_code;
EXCEPTION
WHEN OTHERS THEN
l_output_type : = NULL ;
END ;
--
l_layout : = fnd_request.add_layout( ' CUX ' ,
p_conc_prog_code,
NULL ,
NULL ,
l_output_type);
--
IF l_layout AND l_output_type IS NOT NULL THEN
x_request_id : = fnd_request.submit_request( ' CUX ' ,
p_conc_prog_code,
NULL ,
NULL ,
FALSE,
p_doc_seq_num,
p_group_id);
IF x_request_id = 0 THEN
x_return_msg : = ' 提交并发请求失败,请联系系统管理员. ' ;
RETURN ;
ELSE
COMMIT ;
END IF ;
ELSE
x_return_msg : = ' 获取默认输出格式失败,请联系系统管理员检查设置. ' ;
END IF ;
EXCEPTION
WHEN OTHERS THEN
x_request_id : = NULL ;
x_return_msg : = SQLCODE || ' : ' || SQLERRM;
END submit_concurrent_program;
主要是加入这段代码
l_layout :
=
fnd_request.add_layout(
'
CUX
'
,
p_conc_prog_code, -- 这里的并发请求简称,和模板简称相同
NULL ,
NULL ,
l_output_type);
p_conc_prog_code, -- 这里的并发请求简称,和模板简称相同
NULL ,
NULL ,
l_output_type);
参数依次为
应用简称,模板简称,语言,国家,默认输出方式(PDF,EXCEL等)。
转:http://bbs.itjaj.com/thread-5466-1-3.html