码迷,mamicode.com
首页 > Web开发 > 详细

自定义报表开发(HTML/XML)

时间:2016-03-17 10:48:03      阅读:455      评论:0      收藏:0      [点我收藏+]

标签:

  1. 定义报表执行的包或存储过程:

--创建包头

CREATE OR REPLACE PACKAGE XXPLM_AARONTEST001 IS

PROCEDURE MAIN(errbuf OUT VARCHAR2,

reccode OUT NUMBER,

???????? cnt IN NUMBER);

????END;

?

注意:这里的两个参数errbuf OUT VARCHAR2,reccode OUT NUMBER

必须要带,即使不使用。

?

--创建包体

CREATE OR REPLACE PACKAGE BODY XXPLM_AARONTEST001 IS

PROCEDURE MAIN(errbuf OUT VARCHAR2,

reccode OUT NUMBER,

???????????? cnt IN NUMBER) IS

v_cnt NUMBER := 0;

????BEGIN

--log

fnd_file.put_line(fnd_file.log, ‘**************************‘);

fnd_file.put_line(fnd_file.log,

‘Program Start :‘ ||

to_char(SYSDATE, ‘YYYY/MM/DD HH24:MI:SS‘));

fnd_file.put_line(fnd_file.log, ‘**************************‘);

--create xml file

fnd_file.put_line(fnd_file.output, ‘<XXPLM_AARONTEST002>‘);

fnd_file.put_line(fnd_file.output, ‘<LIST_DETAIL>‘);

--LINE OUTPUT

WHILE v_cnt < cnt LOOP

???????????????????? fnd_file.put_line(fnd_file.output, ‘<LIST_DATA>‘);

???????????????????? fnd_file.put_line(fnd_file.output,

‘<b>‘ || v_cnt || ‘</b>‘);

???????????????????? fnd_file.put_line(fnd_file.output, ‘</LIST_DATA>‘);

v_cnt := v_cnt + 1;

END LOOP;

???????? --create xml file

???? fnd_file.put_line(fnd_file.output, ‘</LIST_DETAIL>‘);

fnd_file.put_line(fnd_file.output, ‘</XXPLM_AARONTEST002>‘);

?

END MAIN;

END;

?

--进行测试

DECLARE

errbuf VARCHAR2(100);

???? reccode NUMBER;

BEGIN

???? XXPLM_AARONTEST002.MAIN(errbuf,reccode,2);

END;

测试无问题后,进行报表配置。

  1. 配置报表:

    定义可执行程序:

    技术分享

    报表定义:

    技术分享

    注意:这里面的检测必须要和前面可执行定义中简称一致,最好统一大写。

    定义参数:

    技术分享

    定义请求:

    --查看要将报表放入到哪个职责(注意:这里只需要查看责任即可,不需要创建):并记录"请求组"名称,为后续定义请求做准备

    技术分享

    ?

    在组中,添加我们定义的程序。XXPLM_AARONTEST001_报表测试

    技术分享

  2. 执行请求:

    切换职责至前面我们定义请求时,所查看的责任名:

    执行查看--请求:,点击提交新请求,名称选择定义的请求,系统跳出输入参数框,输入参数,点击确定,并提交。

    技术分享

    查看请求执行:

    技术分享

    查看输出:

    选择浏览器,在浏览器中看到输出结果:

    技术分享

  3. 创建模板RTF模板:

    将浏览器结果另存为,保存为本地XML文件。

    新建WORD文档,打开,选择加载项,可以看到"Oracle BI Publisher",如果没有此选项,需要安装Oracle BI Publisher,可自行下载安装。

    看到下图中,数据与插入两个功能,我们主要用这两个功能。1、加载数据:数据-》加载样本XML数据。2、插入-》表向导。

    技术分享

    数据-》加载样本XML数据,选择我们之前保存的XML文档。

    插入-》表向导,按照步骤,下一步,注意下图中步骤,需要将左侧的字段选入右侧,以作显示。点击完成。

    技术分享

    完成后,模板如下图所示,另存为->其他,选择RTF格式保存。

    技术分享

  4. 数据定义与模板创建:

    切换职责至:Oracle XML Publisher。选择主页-》数据定义,在浏览器中会打开数据定义页:

    技术分享

    创建数据定义页:如下图,注意代码必须与之前程序-》定义中的简称一致,并且区分大小写。如果测出填写错误,

    定义的程序与定义的RTF模板将无法连接,数据无法输出EXCEL,只会有XML.

    技术分享

    点击左侧模板页:创建模板,如下图,注意代码与之前程序-》定义中的简称一致,并且区分大小写。数据定义选择上图

    定义的数据定义,类型选择RTF,默认语言可以为英语或汉语,地区可选可不选。默认输出类型:一定选择EXCEL.

    技术分享

  5. 重新执行请求:

    参照3,执行请求项。在输出时,与之前不同,定义完模板后,如果挂接成功,这里输出会默认输出.XLS 格式,而不像之前,可以选择XML.

    看下图:

    技术分享

    保存输出结果:

    技术分享

    以上为自定义报表步骤与注意事项,后续将继续发表一些二次开发文章。

自定义报表开发(HTML/XML)

标签:

原文地址:http://www.cnblogs.com/leoyang0123/p/5286309.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!