BIP_开发案例07_将原有Report Builer报表全部转为XML Publisher形式(案例)
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/
技术交流,技术讨论,欢迎加入
Technology Blog Created By Oracle ERP - 鲍新建
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?