如何创建一个即时打印XML报表?

Posted OracleEBS探索

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建一个即时打印XML报表?相关的知识,希望对你有一定的参考价值。

即时打印的XML报表不需要创建PLSQL程序包,功能顾问良师益友,写个简单的XML报表还是可以的。

其步骤大致分为如下:

  1. 创建XML文档。

  2. 创建RTF模板。

  3. 创建数据源和上传RTF模板。

  4. 创建请求并添加到你需要的请求组。

以下具体说明:

创建XML文档,其包括如下部分:

分别是参数、触发器、数据查询、数据结构。

参数:顾名思义,报表参数,用于输入查询条件。

触发器:用于执行系列的FUNCTION,比如用于初始化,这个非必输。

数据查询:SQL主体。

数据结构:输出结构。

文档格式示例如下:

如何创建一个即时打印XML报表?

举例说明,我要建立一个银企直连付款记录清单(客户化数据)主要取客户化付款表和发票,没有复杂报表控制及输出:

先建立XML数据如下:

如何创建一个即时打印XML报表?

说明:

<dataTemplate name="CUXPAYLIST" description="Customation Pay reord List" dafaultPackage="employee" version="1.0"> 是数据头。

<parameters>和</parameters>之间的是报表的参数,这里定义了两个参数,起始日期和结束日期。

<dataQuery>和</dataQuery>之间是报表的主体查询SQL,里面传递了两个参数。

<dataStructure>和</dataTemplate>之间是报表的数据结构,即报表的输出元素。

这个没有使用触发器。

编写完成后保存文件为XML类型,我存为CUXPAYLIST.XML。

几个小细节:

  1. 主要是日期要转换为文本,不然输出有问题;

  2. 注意数字的格式化;

  3. 注意不能使用中文作为元素名称,不然可能不识别。


接下来定义RTF模板,RTF模板用于控制报表的输出格式。

我们使用XML PUBLISHER创建一个新模板,也可以使用其他报表模板基础上调整,我选择在一个历史模板上修改,另存为CUXPAYLIST(1)(1).RTF

大概是这样的:

首先是表标题,第二行是参数,第三行是表头,第四行是表内容,就是取XML要素,这里对应的是WORD里面的域,所以是灰色的。

如何创建一个即时打印XML报表?

注意:

因为帐号很长,会被EXCEL转换为数字并截取,这里我在前面加了'(单引号)。

此外循环开始处有个F,表示循环的开始。

如何创建一个即时打印XML报表?


以上工作做完了,就可以上传数据源和模板了,这项工作在XML PUBLISHER职责里面完成。

参见下图:

先定义数据源:

如何创建一个即时打印XML报表?

关联XML文件到数据源:

如何创建一个即时打印XML报表?

然后定义模板:

如何创建一个即时打印XML报表?

关联RTF文件到模板:

如何创建一个即时打印XML报表?


接下来去系统管理员定义并发和关联请求组:

如何创建一个即时打印XML报表?

注意可执行的名称,这里是固定值XDODTEXE,用来解析数据源和模板。

定义参数:

如何创建一个即时打印XML报表?

挂请求到请求组就不再赘述。

最后,让我们验证下报表。

大功告成!


以上是关于如何创建一个即时打印XML报表?的主要内容,如果未能解决你的问题,请参考以下文章

如何获取jasperReport报表总页数

EOS的开发流程

Microsoft Access 报表 - 如何在打印视图中循环浏览报表的所有页面?

如何让创建fastreport的主从报表

如何创建带有大纲和书签的交互式web报表

Odoo 打印报表定制方法