视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
Oracle XML Publisher开发技术
2025-10-04 04:13:20 责编:小OO
文档
Oracle E- Business Suite R12 Application Technical Oracle XML Publisher开发技术

Author: 管世勇( Gavin.Guan )

MSN: gavin08_guan@hotmail.com

Create Date : September 15, 2007

Last Updated: September 15, 2007

Document Ref:

Verson: V1.0文档控制

更改记录

日期作者版本说明

2007-09-15 管世勇V1.0 创建者(初稿)

审阅

姓名(签字) 职位/日期

发布

拷贝号姓名地点和位置

1

2

3

4

5

6目录

文档控制 (ii)

更改记录 (ii)

审阅 (ii)

发布 (ii)

1.Oracle XML Publisher 概述 (1)

1.1 数据源到报表输出 (1)

1.2 开发流程 (1)

2.Oracle XML Publisher 设计实列 (2)

2.1 创建RDF数据源 (2)

2.2 创建RTF报表输出模板 (5)

3.Oracle XML Publisher 技术分解 (10)

4.未解决的技术 (13)1.Oracle XML Publisher 概述

Oracle XML Publisher 是随Oracle EBS一起发布的一套基于模版的打印解决方案,它提

供了一种设计报表和打印报表的新方式,很好的将桌面文字处理工具和EBS数据报表输

出集成在一起。

XML Publisher 将数据表现和数据结构完全分开,通过在EBS中取得数据,在模版文件

中定义报表的输出格式。

在运行的时候,XML Publisher合并数据和模版文件来输出各种样式和格式的报表1.1 数据源到报表输出

1.2 开发流程

2.Oracle XML Publisher 设计实列

开发环境

工具:Oracle Report Builder 10g 、Ms Word 2003

应用环境:Oracle EBS R12

2.1 创建RDF数据源

2.1.1 创建RDF数据源

在Report Builder 中数据模型中写上想要数据的语句,并设计好格式(包传递参数),但不要布局。如:

设计完成后,上传到应用服务器相应的目录(与普通的Report Builer方法一样,包下面的也是)

2.1.2 报表SQL:

SELECT T.NAME DELIVER_NUMBER ,C.CUSTOMER_NAME ,H.ORDER_NUMBER

,MSI.SEGMENT1

,WDD.ITEM_DESCRIPTION ,WDD.REQUESTED_QUANTITY

,WDD.REQUESTED_QUANTITY_UOM

,TO_CHAR(T.INITIAL_PICKUP_DATE,'RRRR/MM/DD') INITIAL_PICKUP_DATE ,T.ADDITIONAL_SHIPMENT_INFO ,L.ATTRIBUTE1 MEMO

FROM WSH.WSH_NEW_DELIVERIES T ,WSH.WSH_DELIVERY_ASSIGNMENTS D ,WSH.WSH_DELIVERY_DETAILS WDD ,APPS.ARFV_CUSTOMERS C ,INV.MTL_SYSTEM_ITEMS_B MSI ,ONT.OE_ORDER_HEADERS_ALL H ,ONT.OE_ORDER_LINES_ALL L WHERE T.STATUS_CODE = 'OP'

AND T.DELIVERY_ID = D.DELIVERY_ID

AND D.DELIVERY_DETAIL_ID = WDD.DELIVERY_DETAIL_ID AND WDD.CUSTOMER_ID = C.CUSTOMER_ID

AND T.ORGANIZATION_ID = MSI.ORGANIZATION_ID

AND WDD.INVENTORY_ITEM_ID = MSI.INVENTORY_ITEM_ID AND WDD.SOURCE_HEADER_ID = H.HEADER_ID AND H.HEADER_ID = L.HEADER_ID AND H.ORG_ID = L.ORG_ID

AND WDD.SOURCE_LINE_ID = L.LINE_ID

AND T.ORGANIZATION_ID = :P_MFG_ORG_ID --参数 &P_WHERE --参数

ORDER BY MSI.SEGMENT1 ASC

2.1.3 定义并发执行

和report 报表定义一样

2.1.4 定义并发程序

特别注意:

输出的格式选择:XML 参数和report一样

2.2 创建RTF报表输出模板

2.2.1 创建RTF报表输出模板(MS Word)

1. 对主组的里面的数据进行定义

说明:

◆ 加入“文字型窗体域”(视图->工具栏->窗体)

◆双击“文字型窗体域”->“添加帮助文字”里面输入:

其中:

1.”for-each”是对组G_DELIVER_NUMBER(与report Builder名字相同)循环

2.加上“@section“ 是对组G_DELIVER_NUMBER进行分页

◆ 以 对进行结束

◆ 加入要显示的栏位

2.把要输入的内容加入,对主组的完整如:

3.定义从组的输出,同样也要对输入的范围进行循环定义

注意

1)此处可不用内容分页,即没有@section;

2)结束标志一样也是结束.

4.把所有的要输入的内容全加设计好,如下图所示:

5.保存此文档为.rtf格式

2.2.2 添加XML Publisher职责

2.2.3 定义XML Publisher数据源

名称:数据定义的名称,建议输入一个友好的名称;

代码:如果使用 Oracle Application 并发管理器来产生XML数据,那这个代码必须并发程序的简称相同;

应用:从LOV选择报表对应的应用;

起始日期:数据定义的有效起始日期;

终止日期:数据定义一经保存就不能够删除,只能通过此字段来失效数据定义

说明: 对此定义加以备注注:

1.数据定义创建之后,除了 Application 和 Code 之外的字段都可以修改

2.建议代码和名称定义成一样,尽量不要用中文字

2.2.4 定义XML Publisher数据模板(上传.rft模板)

名称:模板的名称,建议输入一个友好的名称

代码:模板代码,建议使用产品模块的简称 + 简短的描述 (此处一定要与并发程序里面

的简称一样,也是通过此项来关联的);

应用产品:从LOV选择报表对应的应用;

数据定义:选择已经定义的报表数据定义,它必须是已经存在的数据定义;

类型:模版文件的类型,目前支持:eText, PDF, RTF, XSLFO,XSL-HTML, XSL-TEXT, and

XSL-XML (此处是选择 RTF,与刚出制作的文件格式相对应)

起始日期:模板的有效起始日期;

终目日期:模板一经保存就不能够删除,只能通过此字段来失效数据定义;

子模板:如果模板是一个子模板,选择 “Yes”。子模板是被其它模板引用的,它自己不

能运行;

文件:使用 Browse 按钮来上传模板文件(上传制作的模板);

语言:模板的语言(选择中文);

地区:语言的区域;

可转换:如果需要转换模板,选中。只有RTF模板能够转换;

注:数据定义创建之后,除了 Application 、 Code 和 Type 之外的字段都可以修改

3.Oracle XML Publisher 技术分解

3.1 窗体域方法

3.2 组

3.3 定义页眉和页脚

使用Word内置的功能来定义页眉页脚功能

1. 如果模板中要求多个页眉页脚,使用下面的标记来标示出报表的主体部分

……

2. 嵌套模板

◆ 定义子模板

子模板标记之间可以使用任何的标记和内容,和模板的主体部分没有任何区别

……

◆ 调用子模板

3.3 图片

1.直接插入图片

可以直接在模板中插入 jpg、gif 或 png 格式图片

2. URL链接图片

在模板中随意插入一张图片

在设置图片对话框中的网站标签页中,在可选文字中输入如下的URL格式链接

url:{’http://image location’}

url:{’http://www.oracle.com/images/ora_log.gif’}

3. OA Media 库图片

在模板中随意插入一张图片

在设置图片对话框中的网站标签页中,在可选文字中输入如下的URL格式链接

url:{’${OA_MEDIA}/image name’}

url:{’${OA_MEDIA}/ORACLE_LOGO.gif’}

3.3 格式化功能

1. 分页符

在分组结束标记之前添加 Ctrl+Enter,使用这个功能会使报表打印的最后有一

空白页,为了避免打印空白页,需要使用XML Publisher的分页别名

2. 页码

使用Word的插入页码功能来给模板添加页码

3. 对齐

使用Word中的对齐功能来对齐文本、图像、对象和表格

4.日期

使用Word的插入日期功能来定义模板的日期,这个日期对应的是报表的发布

日期而不是请求允许的日期。

Oracle的 format-date功能

5. 分栏

XML Publisher 支持Word中的分栏功能,使报表输出能够以多栏的方式打印。

如下是地址簿的多栏打印效果:

6. 条件格式化

在不同的条件下显示不同的颜色、不同的列数、不同的标题、不同的布局风格等等,这些都属于条件格式化,需要借助IF命令。

◆ 比如不同币种凭证打印格式不同

任何布局

任何布局

◆比如货币为CNY时才显示列,在目标列的单元格内写如下语句

字段值和格式

注:这还不是真正的动态列。

◆ 比如偶数行底色为灰色,在行的任何单元格内写如下语句

name="background-color">gray

◆ 比如超过100单元格呈红色,在目标单元格内写如下语句

100?>

red

3.4 强制分页

为了在特定的元素之后进行分页,只要在元素之前插入如下的命令标记:

这个方法避免了使用Word内置的分页功能导致报表最后会有空白页的情况

3.5 页码初始值

有些报表要求报表的页码被设置为一个特定的值,可以使用如下的标记来设置初始化页码:

4.未解决的技术

如何实现报表?下载本文

显示全文
专题