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为模板的简单例子(案例)的更多相关文章

  1. BIP_开发案例06_以RB.RDF为数据源BIP.RTF为模板的简单例子(案例)

    2014-05-31 Created By BaoXinjian

  2. 第3章 文件I/O(8)_贯穿案例:构建标准IO函数库

    9. 贯穿案例:构建标准IO函数库 //mstdio.h #ifndef __MSTDIO_H__ #define __MSTDIO_H__ #include <unistd.h> #de ...

  3. 【全面解禁!真正的Expression Blend实战开发技巧】第一章 真正的开发中的最佳的做法

    原文:[全面解禁!真正的Expression Blend实战开发技巧]第一章 真正的开发中的最佳的做法 从设计者到开发者 设计师创建一个应用程序的布局然后让开发者去实现. 从开发者到设计者 开发者创建 ...

  4. BI Publisher(rtf)模板开发语法大全

    Rtf模板开发例如背景,纹理分栏等等功能都能用word工具实现不再具体总结大家可以参考word教程.....   一.组 定义一个组的目的是告诉XMLPublisher对重复的数据行进行循环显示,也就 ...

  5. solr简单搜索案例

    solr简单搜索案例 使用Solr实现电商网站中商品信息搜索功能,可以根据关键字搜索商品信息,根据商品分类.价格过滤搜索结果,也可以根据价格进行排序,实现分页. 架构分为: 1. solr服务器 2. ...

  6. 一个简单的案例带你入门Dubbo分布式框架

    相信有很多小伙伴都知道,dubbo是一个分布式.高性能.透明化的RPC服务框架,提供服务自动注册.自动发现等高效服务治理方案,dubbo的中文文档也是非常全的,中文文档可以参考这里dubbo.io.由 ...

  7. 简单登录案例(SharedPreferences存储账户信息)&联网请求图片并下载到SD卡(文件外部存储)

    新人刚学习Android两周,写一个随笔算是对两周学习成果的巩固,不足之处欢迎各位建议和完善. 这次写的是一个简单登录案例,大概功能如下: 注册的账户信息用SharedPreferences存储: 登 ...

  8. MyBatis学习总结(一)简单入门案例

    MyBatis学习总结(一)简单入门案例 主要内容:本文主要通过对数据库中的use表进行增删改查总结mybatis的环境搭建和基本入门使用 一.需要的jar包: 1.核心包 2.依赖包 3.jdbc数 ...

  9. android json解析及简单例子+Android与服务器端数据交互+Android精彩案例【申明:来源于网络】

    android json解析及简单例子+Android与服务器端数据交互+Android精彩案例[申明:来源于网络] android json解析及简单例子:http://www.open-open. ...

随机推荐

  1. leetcode 122. Best Time to Buy and Sell Stock II ----- java

    Say you have an array for which the ith element is the price of a given stock on day i. Design an al ...

  2. Hibernate设置派生属性(formula)

    一.Customer中包含的字段: private static final long serialVersionUID = 1L;    private Integer id;    private ...

  3. HDU-5792 World is Exploding(树状数组)

    题目大意:给一个整数序列,统计四元组(a,b,c,d)的个数,满足条件1:a<>b<>c<>d:条件2:<a,b>组成一个顺序对,<c,d> ...

  4. Compute Mean Value of Train and Test Dataset of Caltech-256 dataset in matlab code

    Compute Mean Value of Train and Test Dataset of Caltech-256 dataset in matlab code clc;imPath = '/ho ...

  5. 使用 margin 让div块内容居中

    问:有一个div块,其width为300px,如何设置margin让div块居中显示? 答:margin设置为 margin:0 auto,即div块的上下外边距设置为 0 , 左右外边距设置为 自动 ...

  6. 采用libsvm进行mnist训练

    #coding:utf8 import cPickle import gzip import numpy as np from sklearn.svm import libsvm class SVM( ...

  7. Is it possible to configure PostgreSQL to automatically close idle connections?

    1.use pgbouncer As new connections/transactions/statements arrive, the pool will increase in size up ...

  8. IIS6下PHP环境的资源未找到(404)问题

    故障现象: 无法找到该页, 404错误

  9. shell之条件表达式

    conditional expressions are used by the [[ compound command and the test and [ builtin commands. ari ...

  10. Python报错UnicodeDecodeError: 'ascii' codec can't decode byte 0xe0 in position 0: ordinal not in range(128)

    解决办法: 在报错的页面添加代码: import sys reload(sys) sys.setdefaultencoding('utf8')