2014-05-31 Created By BaoXinjian


Oracle Report Builder  因落伍的技术和糟糕的交互性,特别是无法随心所欲的进行排版,逐渐被淘汰,而BI(XML) Publisher  也是其中的一种替代技术, 此文介绍了如何将Report Builder建立的RDF文件转换成最新的XML Publisher所使用的xml data definition 和 rtf template definition,从而实现数据源和输出模板分离,从而将原有难易维护的report builder 替代为易维护的XML Publisher/

Oracle提供了一种做法,将Oracle RDF文件的Data Model和Layout Model进行分离,转为BI Publisher的形式

  • 在转换过程主要有6个文件

    • rdf -> 原始需转换的旧格式报表
    • xml-rdf -> 一个中间文件, 一个非常大的xml文件,其中包含了数据源定义, 输出模板定义, 和Report中的Program Unit及触发器PLSQL包定义
    • rtf -> 转换后新的BI Publisher 的template文件
    • xml-> 转换后新的BI Publisher 的data 定义
    • plsql -> Report中定义的program unit, 和在触发器公式列中定义的PLSQL
  • 所需的工具
    • rwconverter.exe  本地Report Builder安装路径bin下 / 作用将rdf文件转化为xml-rdf文件
    • java oracle.apps.xdo.rdfparser.DataTemplateGenerator  服务器上$JAVA_TOP / 作用数据定义模板产生
    • java oracle.apps.xdo.rdfparser.RTFTemplateGenerator  服务器上$JAVA_TOP / 作用布局模板产生


需求: 将原有客制化的客制化报表(invoice rdf) 通过工具 转为XML Publisher形式,产生xml data definition 和 rtf template definition


    1. 下载需转为xml报表的rdf file

2. 通过rwconverter.exe将rdf转为xml文件,此文件定义了xml data defination, rdf data template, program unit

3. 关键一步,进行数据模型转换, 转为bxjrpinvoice.xml后,将此文件上传至server,

(1). 以下语句转为为xml data definition 

(2). $JAVA_TOP: java oracle.apps.xdo.rdfparser.DataTemplateGenerator /usr/tmp/bxjrpinvoic.xml

(3). 产生三个文件bxjrpinvoice_template.xml/bxjrpinvoiceB.pls/bxjrpinvoiceB.pls

4. 关键一步,进行布局模型转换,转为bxjrpinvoice.xml后,将此文件上传至server,

(1). 通过以下语句转为为rdf data defination

(2). $JAVA_TOP: java oracle.apps.xdo.rdfparser.RTFTemplateGenerator /usr/tmp/bxjrpinvoic.xml

(3). 产生一个文件bxjrpinvoice.rtf

5. 将产生的产生的5个文件按XML Publisher的做法进行注册

(1). 将5个文件存放至一个文件下

(2). 注册产生的pls文件至数据库, bxjinvoiceB.pls & bxjinvoiceS.pls

(3). 注册并非程式,保持参数的一致性

(4). 注册DataDefinitions, bxjrpinvoice_template.xml

(5). 注册Templates

(6). 运行程式,以XML Publisher的注册方式进行运行

Step1. 下载需转为xml报表的rdf file

Step2. 通过rwconverter.exe将rdf转为xml文件,此文件定义了xml data defination, rdf data template, program unit

  Step2.1 调用rwconverter.exe

Step2.2 输入参数

Step2.3 产生一个大文件,bxjrpinvoice.xml

Step3. 进行数据模型转化, 转为bxjrpinvoice.xml后,将此文件上传至server,

Step3.1 以下语句转为为xml data definition

Step3.2 在server短调用 $JAVA_TOP: java oracle.apps.xdo.rdfparser.DataTemplateGenerator /usr/tmp/bxjrpinvoic.xml

Step3.3 产生三个文件bxjrpinvoice_template.xml/bxjrpinvoiceB.pls/bxjrpinvoiceB.pls

Step4. 进行布局模型转化, 转为bxjrpinvoice.xml后,将此文件上传至server

Step4.1 通过以下语句转为为rdf data defination

Step4.2 在server短调用$JAVA_TOP: java oracle.apps.xdo.rdfparser.RTFTemplateGenerator /usr/tmp/bxjrpinvoic.xml

Step4.3产生一个文件bxjrpinvoice.rtf


Test. 将产生的产生的5个文件按XML Publisher的做法进行注册

Test1. 将5个文件存放至一个文件下

Test2. 注册产生的pls文件至数据库, bxjinvoiceB.pls & bxjinvoiceS.pls

Test3. 注册并非程式,注意保持参数的一致性

Test4.注册DataDefinitions, bxjrpinvoice_template.xml

Test5.注册Templates

Test6. 运行程式,以XML Publisher的注册方式进行运行

Thanks and Regards

参考:张军礼-http://oracleseeker.com/2008/09/16/migrate-oracle-report-to-bi-publisher/

BIP_开发案例07_将原有Report Builer报表全部转为XML Publisher形式(案例)的更多相关文章

  1. BIP_开发案例03_将原有Report Builer报表全部转为XML Publisher形式(案例)

    2014-05-31 Created By BaoXinjian

  2. OAF_开发系列07_实现OAF下拉菜单的上下联动Poplist Synchor(案例)

    20150706 Created By BaoXinjian

  3. OAF_开发系列27_实现OAF中Java类型并发程式开发调用XML Publisher(案例)

    20150814 Created By BaoXinjian

  4. BIP_开发案例05_BI Pubisher标准做法以BIP.XML为数据源以BIP.RTF为模板的简单例子(案例)

    2014-05-31 Created By BaoXinjian

  5. PowerDesigner导出Report通用报表

    PowerDesigner导出Report通用报表 通用模板下载地址:http://pan.baidu.com/s/1c0NDphm

  6. 号外号外:9月13号《Speed-BI云平台案例实操--十分钟做报表》开讲了

    引言:如何快速分析纷繁复杂的数据?如何快速做出老板满意的报表?如何快速将Speed-BI云平台运用到实际场景中?         本课程将通过各行各业案例背景,将Speed-BI云平台运用到实际场景中 ...

  7. XML Publisher Report Issues, Recommendations and Errors

    In this Document   Purpose   Questions and Answers   References APPLIES TO: Oracle Process Manufactu ...

  8. 开发JAVA9以上的项目时,出现ClassNotFoundException: javax.xml.bind.JAXBException的解决方法

    一.问题描述: 开发JAVA9以上的项目时,出现ClassNotFoundException: javax.xml.bind.JAXBException的解决方法 二.问题样例 三.解决方案 打开mv ...

  9. [翻译] Using Custom Functions in a Report 在报表中使用自己义函数

    Using Custom Functions in a Report  在报表中使用自己义函数   FastReport has a large number of built-in standard ...

随机推荐

  1. DELPHI相应鼠标滚轮

    在鼠标的MouseWheel事件里写入以下内容 if WheelDelta < 0 then    SendMessage(scrollBox1.Handle, WM_VSCROLL, SB_L ...

  2. kuangbin_ShortPath L (POJ 2502)

    dij部分还是跟模板差不多的 但是这题的难点是处理输入 或者说理解题意 事实上每个点之间都是可以走的......WA了好几发就因为没意识到同一条路线上的各个站点之间居然也可以走得比车子快.... PS ...

  3. liunx之:rpm包安装

    使用rpm命令查询软件包: 1.查询系统中安装的所有RPM包 $ rpm -qa 查询当前linux系统中已经安装的软件包. 例:$ rpm -qa | grep -i x11 | head -3 察 ...

  4. [转]easyui常用控件及样式API中文收藏

    [转]easyui常用控件及样式收藏 2013-05-06 23:01 30612人阅读 评论(0) 收藏 举报  分类: java ee(5)  目录(?)[+] CSS类定义: div easyu ...

  5. Sql2008 全文索引应用(错误7625)

    在SQL Server 中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数 据的速度,不用在用LIKE这样低效率的模糊查询了. 下面简明的介绍如何使用Sql2008 全文索引 一.检查服务 ...

  6. 重新加载maven项目的依赖项

    最近在调试reportNG,测试允许完以后,报告总是使用的testNG的格式,并且只有index和overview两个文件. 找了好多帖子,大家都是那么设置的都没有问题,难道是哥人品不好?错! 大家基 ...

  7. Jenkins初探

    最近搞搞接口测试,Postman脚本搞好了,但是每次都要手动运行,是不是太low了?Yes,it is. 最近好多人都在用Jenkins搞自动化部署集成之类的,我也凑热闹搞一下. 前提: 1. 已经安 ...

  8. js最好的继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法。

    js最好的继承机制:用对象冒充继承构造函数的属性,用原型prototype继承对象的方法. function ClassA(sColor) { this.color = sColor; } Class ...

  9. 转:Scrapy安装、爬虫入门教程、爬虫实例(豆瓣电影爬虫)

    Scrapy在window上的安装教程见下面的链接:Scrapy安装教程 上述安装教程已实践,可行.(本来打算在ubuntu上安装Scrapy的,但是Ubuntu 磁盘空间太少了,还没扩展磁盘空间,所 ...

  10. Javax.mail.NoSuchProviderException: smtp

    UT 这个错误是因为缺jar包 下载地址:在oralce下载一个 JavaMail 包 http://www.oracle.com/technetwork/java/javamail/index-13 ...