PostRank

2009/10/22

[轉載]使用PL/SQL开发XML PUBLISHER报表的步骤

摘自:likesky http://space.itpub.net/8118583/viewspace-166464

 

1. 产生XML格式数据:此步有两种实现方法:

1)     PL/SQL,按标准XML文件格式用fnd_file.put_line(fnd_file.output,<out put string>)逐行输出所要的数据,例如:fnd_file.put_line(fnd_file.output,'<?xml version = "1.0" ?>');

2)     直接使用XSUXML-SQL Utility)用SQL语言产生XML数据,下面是一例。

CREATE OR REPLACE PROCEDURE NANCY_TEST1(errbuf OUT VARCHAR2,

                                       retcode OUT NUMBER) IS

 queryctx dbms_xmlquery.ctxtype;

 result  clob;

 xmlstr  varchar2(32767);

 line    varchar2(2000);

BEGIN

 queryctx :=dbms_xmlquery.newContext('select distinct segment1 from gl_code_combinations');

 result   :=dbms_xmlquery.getXML(queryctx);

 xmlstr   := dbms_lob.substr(result, 32767);

 loop

   exit when xmlstr is null;

   line := 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改为XML

3. XML PUBLISHER上注册报表并上传模板,方法类似上述RDF报表注册方法。

4. 设置完毕就可以调用Request中执行了。

5. 有关XSU的资料:

http://www.oracle.com/technology/tech/xml/xdk/doc/production/java/doc/java/xsu/dbmsxsu.html

http://www.oracle.com/technology/tech/xml/xdk/doc/production10g/doc/java/xsu/xsu_userguide.html

 

 

沒有留言: