日期:2014-05-16  浏览次数:20601 次

提交请求
1、首先调用函数 fnd_request.add_layout 来设置打印报表的rtf模板,

result := fnd_request.add_layout(template_appl_name   => :template_appl_name,
template_code              => :template_code,
template_language      => :template_language,
template_territory       => :template_territory,
output_format              =>utput_format,
nls_language                 => :nls_language);
?
说明:
返回值: boolean 类型的变量;
template_appl_name:为请求模板对应的应用简;
template_code :为请求模板的简称,一般与请求的简称相同;
template_language :指运行请求时模板的语言,中文为 ZH,英文为US,此参数必需在挂模板时所选的语言范围内;
template_territory :指语言对应的区域,中国为 CN;
output_format: 指报表输出时的格式类型,如 PDF,EXCEL等;
nls_language: 留空即可。

2、在 result 返回值为 true 时再调用函FND_REQUEST.SUBMIT_REQUEST 来正式提交请求:

ln_request_id := fnd_request.submit_request(application              => :application,
program                => :program,
Description           => :description,
start_time             => :start_time,
sub_request          => :sub_request,
argument1..100    => :argument1..100);
说明:
返回值:数值类型的变量;
application         :指请求对应的应用简称;
program              :指请求的简称;
description         :指描述,在调用时留空即可;
start_time           :指请求开始运行的时间,在调用时留空即可,表示即时执行;
sub_request       :指当前请求是否是子请求,一般在调用时赋值 false;
argument1..100: 指调用请求时的参数,最多100个,在form中调用时可在最后一个参数后用 chr(0)来表示为最后一个参数,不用写满100个参数,如果在pl/sql中调用则需要写满100个参数。

3、执行后如果 ln_request_id > 0 表示提交成功,则需要显式执行 commit才可最终提交成功。
如果期间没有显式执行commit导致请求提交后不能立刻执行,而且会导致请求不成功。

4、 还可以使用函数
fnd_concurrent.wait_for_request(request_id IN  NUMBER   DEFAULT   NULL,
????????????????????????????????????????                      INTERVAL?? IN NUMBER DEFAULT 60,
????????????????????????????????????????                      max_wait?? IN NUMBER DEFAULT 0,
????????????????????????????????????????                      phase????? OUT VARCHAR2,
?????????? ??????????????????????????????                     status???? OUT VARCHAR2,
????????????????????????????????????????                      dev_phase? OUT VARCHAR2,
????????????????????????????????????????                      dev_status OUT VARCHAR2,
???????????????????????????????????????? &nb