学习PO的时候,遇到一个Quotation Import的问题,然后在程式中看到以下部分,特记录下来。
1:
2: l_request_id := fnd_request.submit_request('XAO',
3: 'XXAOIPO_R0007A',
4: 'Upload Quotations to Interface.',
5: to_char(SYSDATE,
6: 'YYYY/MM/DD HH24:MI:SS'),
7: FALSE,
8: p_file_name,
9: fnd_global.local_chr(0));
fnd_request.submit_request函数是用来提交一个请求的,它返回一个NUMBER值,具体调用如下:
1: BEGIN
2: :RESULT := fnd_request.submit_request(application CHAR, --AP模快
3: program CHAR, --应用程序
4: description CHAR, --请求说明(可选)
5: start_time CHAR, --RUN 时间(可选)
6: sub_request BOOLEAN, --立刻提交请求
7: argument1 CHAR, --参数1
8: argument2 CHAR, --参数2
9: argument3 CHAR, --参数3
10: argument4 CHAR, --参数4
11: argument5 CHAR, --参数5.......
12: argument100 CHAR);
13: END;
具体参数的意义可以参考上面两段程式。
补充说明:
在用fnd_request.submit_request的时候,第五个参数用false,不要被参数名称误导(没具体测试);
这个函数有105个参数,前面5个定义请求本身,后面100个是传递给请求的具体参数,都是Char类型,
如果不是Char的话我们需要转换,默认值是Chr(0),代表这个参数不用传递给调用的请求;
在package里面调用只需要传递需要的参数个数,因为它有默认值指示结束;而在form里面则不行,要写满105个,而且我们参数结束之后要用一个Chr(0)来表示结束。例如:
1: BEGIN
2: fnd_request.submit_request('AR',
3: 'SVAINEX_P',
4: '',
5: '',
6: FALSE,
7: :parameter.invoice_store,
8: chr(0),
9: '','','',
10: '','','','','','','','','','','','','','','','','','','','',
11: '','','','','','','','','','','','','','','','','','','','',
12: '','','','','','','','','','','','','','','','','','','','',
13: '','','','','','','','','','','','','','','','','','','','',
14: '','','','','','','','','','','','','','','');
15: END;
如果正常提交会返回request ID,否则就是有异常出现了。