PLSQL开发XMLPublisher

上传人:宝路 文档编号:2142947 上传时间:2017-07-20 格式:DOCX 页数:5 大小:19.19KB
返回 下载 相关 举报
PLSQL开发XMLPublisher_第1页
第1页 / 共5页
PLSQL开发XMLPublisher_第2页
第2页 / 共5页
PLSQL开发XMLPublisher_第3页
第3页 / 共5页
PLSQL开发XMLPublisher_第4页
第4页 / 共5页
PLSQL开发XMLPublisher_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

《PLSQL开发XMLPublisher》由会员分享,可在线阅读,更多相关《PLSQL开发XMLPublisher(5页珍藏版)》请在金锄头文库上搜索。

1、使用 PL/SQL开发 XML PUBLISHER报 表的步骤,D:Wf3dM&146692141产生 XML格式数据:此步有两种实现方法:1)写 PL/SQL,按标准 XML文件格式用 fnd_file.put_line(fnd_file.output,)逐行输出所要的数据,例如:fnd_file.put_line(fnd_file.output,);2)直接使用 XSU(XML-SQL Utility)用 SQL语言产生 XML数据,下 面是一例。CREATE OR REPLACE PROCEDURE NANCY_TEST1(errbufOUT VARCHAR2,retcode OUT N

2、UMBER) ISqueryctx dbms_xmlquery.ctxtype;resultclob;xmlstrvarchar2(32767);linevarchar2(2000);BEGINqueryctx :=dbms_xmlquery.newContext(select distinct segment1 from gl_code_combinations);result:=dbms_xmlquery.getXML(queryctx);xmlstr:= dbms_lob.substr(result, 32767);loopexit when xmlstr is null;line :=

3、 substr(xmlstr, 1, instr(xmlstr, chr(10) - 1);fnd_file.put_line(fnd_file.output,line);xmlstr := substr(xmlstr, instr(xmlstr, chr(10) + 1);end loop;dbms_xmlquery.closeContext(queryctx);END;2在 EBS挂接该 PL/SQL,挂接方法与挂 RDF报表类似,注意将 output type改为 XML3在 XML PUBLISHER上注册报表并上传模板,方法类似上述 RDF报表注册方法。4设置完毕就可以调用 Requ

4、est中执行了。使用 fnd_request 函数提交 XML Publisher 报表方法1. 首先调用函数 fnd_request.add_layout 来确定输出文件调用方法: 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 = :output

5、_format,nls_language = :nls_language);其中 result 为 boolean 类型的变量template_appl_name 指请求模板对应的应用简称template_code 指请滶模板的简称,一般与请求的简称相同template_language 指运行请求时模板的语言,中文为 zh,英文为 us,此参数必需在挂模板时所选的语言范围内template_territory 指语言对应的区域,中国为 CNoutput_format 指报表输出时的格式类型,如 PDF,EXCEL 等nls_language 留空即可2. 在 result 返回值为 true

6、 时再调用函数 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);其中 ln_request_id 为数值类型的变量application 指请求对应的应用简称,必须pr

7、ogram 指请求的简称,必须description 描述,在调用时留空即可start_time 指请求开始运行的时间,在调用时留空即可,表求即时执行sub_request 指当前请求是否是子请求,一般在调用时赋值 false,必须argument1.100 指调用请求时的参数,最多 100个,在 form中调用时可在最后一个参数后用 chr(0)来表示为最后一个参数,不用写满 100个参数,如果在 pl/sql中调用则需要写满 100个参数3. 2步执行后如果 ln_request_id 0 表示提交成功,则需要显性执行 commit 才可最终提交成功例: procedure CUX_SUB

8、MIT_REQUEST(p_sob_id in number,p_com_code in varchar2,p_date_f in varchar2,p_date_t in varchar2, p_je_batch_id in number,p_je_header_id in number) isln_request_id NUMBER;exce_occ EXCEPTION;b_wait BOOLEAN;v_phase VARCHAR2(80);v_status VARCHAR2(80);v_dev_phase VARCHAR2(80);v_dev_status VARCHAR2(80);v_

9、message VARCHAR2(80);BEGINb_wait := fnd_request.add_layout(CUX,CUX0GLJEPTA4,zh,CN,PDF,);if b_wait thenln_request_id:= FND_REQUEST.SUBMIT_REQUEST(CUX, CUX0GLJEPTA4, , , FALSE,p_sob_id,p_com_code ,p_date_f,p_date_t,p_je_batch_id,p_je_header_Id,Y,N,chr(0),);IF ln_request_id = 0 thenfnd_message.debug(您的请求提交失败);elsefnd_message.debug(您的请求已经提交成功,请求编号为: |ln_request_id);end if;COMMIT;end if;end CUX_SUBMIT_REQUEST;

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号