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/
BIP_开发案例07_将原有Report Builer报表全部转为XML Publisher形式(案例)的更多相关文章
- BIP_开发案例03_将原有Report Builer报表全部转为XML Publisher形式(案例)
2014-05-31 Created By BaoXinjian
- OAF_开发系列07_实现OAF下拉菜单的上下联动Poplist Synchor(案例)
20150706 Created By BaoXinjian
- OAF_开发系列27_实现OAF中Java类型并发程式开发调用XML Publisher(案例)
20150814 Created By BaoXinjian
- BIP_开发案例05_BI Pubisher标准做法以BIP.XML为数据源以BIP.RTF为模板的简单例子(案例)
2014-05-31 Created By BaoXinjian
- PowerDesigner导出Report通用报表
PowerDesigner导出Report通用报表 通用模板下载地址:http://pan.baidu.com/s/1c0NDphm
- 号外号外:9月13号《Speed-BI云平台案例实操--十分钟做报表》开讲了
引言:如何快速分析纷繁复杂的数据?如何快速做出老板满意的报表?如何快速将Speed-BI云平台运用到实际场景中? 本课程将通过各行各业案例背景,将Speed-BI云平台运用到实际场景中 ...
- XML Publisher Report Issues, Recommendations and Errors
In this Document Purpose Questions and Answers References APPLIES TO: Oracle Process Manufactu ...
- 开发JAVA9以上的项目时,出现ClassNotFoundException: javax.xml.bind.JAXBException的解决方法
一.问题描述: 开发JAVA9以上的项目时,出现ClassNotFoundException: javax.xml.bind.JAXBException的解决方法 二.问题样例 三.解决方案 打开mv ...
- [翻译] Using Custom Functions in a Report 在报表中使用自己义函数
Using Custom Functions in a Report 在报表中使用自己义函数 FastReport has a large number of built-in standard ...
随机推荐
- UVa 400
一开始没怎么看懂题目,原来就是M字符就是这一列的宽度为M个字符,包括空格. #include<iostream> #include<algorithm> #include< ...
- leetcode 97 Interleaving String ----- java
Given s1, s2, s3, find whether s3 is formed by the interleaving of s1 and s2. For example,Given:s1 = ...
- 跟上节奏 大数据时代十大必备IT技能(转)
新的想法诞生新的技术,从而造出许多新词,云计算.大数据.BYOD.社交媒体……在互联网时代,各种新词层出不穷,让人应接不暇.这些新的技术,这些新兴应用和对应的IT发展趋势,使得IT人必须了解甚至掌握最 ...
- Java并发编程-并发工具包(java.util.concurrent)使用指南(全)
1. java.util.concurrent - Java 并发工具包 Java 5 添加了一个新的包到 Java 平台,java.util.concurrent 包.这个包包含有一系列能够让 Ja ...
- 动态链接库中函数的地址确定---PLT和GOT [转]
前面写过动态链接库 延迟绑定的一篇博文,那篇文章我非常喜欢,但是当时刚搞清楚,自己写的比较凌乱,我最近学习了Ulrich Drepper的How to write share library,学习了几 ...
- 【深入Cocos2d-x】使用MVC架构搭建游戏Four
喜欢Four这个项目,就赶快在GitHub上Star这个项目吧! 喜欢我的文章,来微博关注我吧:王选易在学C艹 点我下载 项目起源 项目Logo: 下面是该游戏的项目地址,各位想参考源代码的同学可以到 ...
- AndroidStudio导入项目常见问题
问题一: 解决:少了依赖的路径 问题二: 解决:把runProguard 改成minfyEnable 来源:http://blog.csdn.net/pengkv/article/details/44 ...
- nginx实现日志按天切割
背景 nginx的日志文件没有rotate功能.一段时间过后,日志将越发臃肿,一个accesslog很快就突破1G,因此有必要通过脚本实现按天切割日志. 解决思路 1 重命名日志文件,如更改为acc ...
- 1分钟去除word文档编辑限制密码
http://blog.sina.com.cn/s/blog_4bd446f30101dc4t.html
- cocos2dx 2.x 在ios8下clippingNode不起作用 解决办法
升级xcode到6.1后,跑以前的cocos2dx 2.x写的项目,发现clippingNode失效了. 后来看到这个帖子,解决了我的问题:http://discuss.cocos2d-x.org/t ...