如何创建一个即时打印XML报表?
Posted OracleEBS探索
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何创建一个即时打印XML报表?相关的知识,希望对你有一定的参考价值。
即时打印的XML报表不需要创建PLSQL程序包,功能顾问良师益友,写个简单的XML报表还是可以的。
其步骤大致分为如下:
创建XML文档。
创建RTF模板。
创建数据源和上传RTF模板。
创建请求并添加到你需要的请求组。
以下具体说明:
创建XML文档,其包括如下部分:
分别是参数、触发器、数据查询、数据结构。
参数:顾名思义,报表参数,用于输入查询条件。
触发器:用于执行系列的FUNCTION,比如用于初始化,这个非必输。
数据查询:SQL主体。
数据结构:输出结构。
文档格式示例如下:
举例说明,我要建立一个银企直连付款记录清单(客户化数据)主要取客户化付款表和发票,没有复杂报表控制及输出:
先建立XML数据如下:
说明:
<dataTemplate name="CUXPAYLIST" description="Customation Pay reord List" dafaultPackage="employee" version="1.0"> 是数据头。
<parameters>和</parameters>之间的是报表的参数,这里定义了两个参数,起始日期和结束日期。
<dataQuery>和</dataQuery>之间是报表的主体查询SQL,里面传递了两个参数。
<dataStructure>和</dataTemplate>之间是报表的数据结构,即报表的输出元素。
这个没有使用触发器。
编写完成后保存文件为XML类型,我存为CUXPAYLIST.XML。
几个小细节:
主要是日期要转换为文本,不然输出有问题;
注意数字的格式化;
注意不能使用中文作为元素名称,不然可能不识别。
接下来定义RTF模板,RTF模板用于控制报表的输出格式。
我们使用XML PUBLISHER创建一个新模板,也可以使用其他报表模板基础上调整,我选择在一个历史模板上修改,另存为CUXPAYLIST(1)(1).RTF
大概是这样的:
首先是表标题,第二行是参数,第三行是表头,第四行是表内容,就是取XML要素,这里对应的是WORD里面的域,所以是灰色的。
注意:
因为帐号很长,会被EXCEL转换为数字并截取,这里我在前面加了'(单引号)。
此外循环开始处有个F,表示循环的开始。
以上工作做完了,就可以上传数据源和模板了,这项工作在XML PUBLISHER职责里面完成。
参见下图:
先定义数据源:
关联XML文件到数据源:
然后定义模板:
关联RTF文件到模板:
接下来去系统管理员定义并发和关联请求组:
注意可执行的名称,这里是固定值XDODTEXE,用来解析数据源和模板。
定义参数:
挂请求到请求组就不再赘述。
最后,让我们验证下报表。
大功告成!
以上是关于如何创建一个即时打印XML报表?的主要内容,如果未能解决你的问题,请参考以下文章