BIP_开发案例05_BI Pubisher标准做法以BIP.XML为数据源以BIP.RTF为模板的简单例子(案例)
2014-05-31 Created By BaoXinjian
BI Pubisher, 在R12中推荐的标准报表开发工具,实现了Report Builder未实现的数据模型定义和布局模型定义进行分离
- 数据获取
- 布局设计
- 界面翻译
BI Publisher 是基于开放标准技术构建的。
它是一个 J2EE 应用程序,可以部署到任何 J2EE 容器。
数据将处理为 XML,在桌面应用程序中创建的布局模板将在内部转换为 XSL-FO(另一个 W3C 标准)。
该应用程序生成的输出也符合业界标准,如 PDF、RTF 和 HTML。传送协议是 Internet 打印协议 (IPP)、WebDAV、FTP 和 AS2。
1. 其中XML Data Definition通过XML标记实现
(1). 一个Data Template有四个部分构成
i. Parameter
ii. Data Query
iii.Data Trigger
iv. Data Structure
(2). Data Query 由多段具体的sqlStatement构成
(3). Data Structure由多段具体的Group构成
2. XML Data Definiation 结构
需求:以BI Publisher开发一个发票报表,建立xml文件定义数据如何取值,建立rtf文件定义数据如何显示
(1). 创建临时表
(2). 创建Package,以便在Before Trigger触发,将数据汇总到临时表
(3). 创建Xml 源文件
(4). 创建空白Rtf模板文件
(5). 注册Xml 源文件
(6). 注册Rtf Template文件
(7). 注册Concurrent
(8). 提交Request,以获取来自数据库的XML数据文件
(9). 通过XML数据文件编写Rtf Template模板
关键的两步
Step1. 建立自定义的XML Data Definition文件
Step2. 建立RTF模板
Step3. 注册并发程式
Step4. 注册Data Template Definition
Step5. 注册RTF Template Definition
Thanks and Regards
BIP_开发案例05_BI Pubisher标准做法以BIP.XML为数据源以BIP.RTF为模板的简单例子(案例)的更多相关文章
- BIP_开发案例06_以RB.RDF为数据源BIP.RTF为模板的简单例子(案例)
2014-05-31 Created By BaoXinjian
- 第3章 文件I/O(8)_贯穿案例:构建标准IO函数库
9. 贯穿案例:构建标准IO函数库 //mstdio.h #ifndef __MSTDIO_H__ #define __MSTDIO_H__ #include <unistd.h> #de ...
- 【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法
原文:[全面解禁!真正的Expression Blend实战开发技巧]第一章 真正的开发中的最佳的做法 从设计者到开发者 设计师创建一个应用程序的布局然后让开发者去实现. 从开发者到设计者 开发者创建 ...
- BI Publisher(rtf)模板开发语法大全
Rtf模板开发例如背景,纹理分栏等等功能都能用word工具实现不再具体总结大家可以参考word教程..... 一.组 定义一个组的目的是告诉XMLPublisher对重复的数据行进行循环显示,也就 ...
- solr简单搜索案例
solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...
- 一个简单的案例带你入门Dubbo分布式框架
相信有很多小伙伴都知道,dubbo是一个分布式.高性能.透明化的RPC服务框架,提供服务自动注册.自动发现等高效服务治理方案,dubbo的中文文档也是非常全的,中文文档可以参考这里dubbo.io.由 ...
- 简单登录案例(SharedPreferences存储账户信息)&联网请求图片并下载到SD卡(文件外部存储)
新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...
- MyBatis学习总结(一)简单入门案例
MyBatis学习总结(一)简单入门案例 主要内容:本文主要通过对数据库中的use表进行增删改查总结mybatis的环境搭建和基本入门使用 一.需要的jar包: 1.核心包 2.依赖包 3.jdbc数 ...
- android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】
android json解析及简单例子+Android与服务器端数据交互+Android精彩案例[申明:来源于网络] android json解析及简单例子:http://www.open-open. ...
随机推荐
- HTML里的id等属性命名需要注意
提交 $(function(){ $('#submit').click(function(){ $('#form').submit() }) }) 这里的代码无法完成提交,因为id被命名为submit ...
- 【BZOJ1009】【HNOI2008】GT考试
依旧看人代码写,不过我觉得自己慢慢写一个也可以写成? 原题: 阿申准备报名参加GT考试,准考证号为N位数X1X2....Xn(0<=Xi<=9),他不希望准考证号上出现不吉利的数字.他的不 ...
- STM32学习笔记:系统时钟和SysTick定时器
原文:http://blog.sina.com.cn/s/blog_49cb42490100s60d.html 1. STM32的时钟系统 在STM32中,一共有5个时钟源,分别是HSI.HS ...
- lua操作常用函数学习一
(1)lua 和 C++之间的交互的基本知识: lua 和 C++ 之间的数据交互通过堆栈进行,栈中的数据通过索引值进行定位,(栈就像是一个容器一样,放进去的东西都要有标号)其中栈顶是-1,栈底是1, ...
- Python Queue实现生产与消费
Python Queue模块详解 from:https://blog.linuxeye.com/334.html Python中,队列是线程间最常用的交换数据的形式.Queue模块是提供队列操作的模块 ...
- 如何给EDIUS添加区域性马赛克
我们平时观看视频时会经常看到画面上的一部分信息被用马赛克来遮盖,那在使用EDIUS制作编辑视频时,这一效果要如何做到呢?下面,小编就来给大家讲讲如何给EDIUS区域添加马赛克吧. 1.首先在特效面板中 ...
- css设置透明度
使用新的CSS3的"RGBA"声明,不仅仅让我们像通常一样设置RGB颜色,而且还可以设置其透明度. RGBA像RGB一样设置颜色,而这个"A"--RGBA中的最 ...
- org.springframework.web.filter.CharacterEncodingFilter
感谢:http://blog.csdn.net/heidan2006/article/details/3075730 很简单很实用的一个过滤器,当前台JSP页面和JAVA代码中使用了不同的字符集进行编 ...
- 004. 线程间操作无效: 从不是创建控件“textBox1”的线程访问它
最简单的方法(不推荐): 在窗体构造函数中写Control.CheckForIllegalCrossThreadCalls =false; 为什么不推荐上面的方法: 为避免空间造成死锁, .net f ...
- OpenJudge计算概论-错误探测
/*======================================================================== 错误探测 总时间限制: 1000ms 内存限制: ...