深入浅出OracleEBS之XMLPublisher技巧集锦_第1页
深入浅出OracleEBS之XMLPublisher技巧集锦_第2页
深入浅出OracleEBS之XMLPublisher技巧集锦_第3页
深入浅出OracleEBS之XMLPublisher技巧集锦_第4页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Oracle ERP 最佳技术实践E-BUSINESS SUITEORACLE 核心应用技术XML Publisher 要点荟萃Author:黄建华MSN:Creation Date:October 16, 2006Last Updated:August 20, 2019Document Ref:<Document Reference Number>Version:DRAFT 1AApprovals:<Approver 1><Approver 2>Copy Number_Oracle ERP最佳技术实践Doc Ref: <Document Refere

2、nce Number>November 18, 2018Document ControlChange Record4DateAuthorVersionChange Reference16-Oct-06Jianhua.HuangDraft 1aNo Previous DocumentReviewersNamePositionDistributionCopy No.NameLocation1Library MasterProject Library2Project Manager34Note To Holders:If you receive an electronic copy of th

3、is document and print it out, please write your name on the equivalent of the cover page, for document control purposes.If you receive a hard copy of this document, please write your name on the front cover, for document control purposes.XML Publisher 要点荟萃Document Control iiFile Ref: 574091823.doc(v

4、. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Reference Number> November 18, 2018ContentsDocument Controlii1.BI Publisher基础21.1.读者基础要求21.2.文档贡献者21.3.About XMLP21.4.必要配置41.5.最简单的例子.输出 XML 数据源51.6.最简单的例子.设计 RTF 模版81.7.最简单的例子.注册数据源和模版141.8.最简单的例子.运行报表1

5、52.RTF 模版开发172.1.本章概述172.2.布局格式化172.3.字段计算技巧192.4.任何 Page相关问题202.5.使用多媒体元素212.6.其它常用语法222.7.高级布局243.其它数据源和模版开发(可选)273.1.Data Template273.2.PDF 模版273.3.eText 模版273.4.FO 模版274.集成和 API284.1.并发请求284.2.Report 报表迁移284.3.即时预览284.4.即时打印284.5.即时分发295.相关专题讨论305.1.服务器端版本305.2.Viewer 设置315.3.字体与乱码325.4.Output P

6、ost Processor335.5.字符集与乱码355.6.国际化支持375.7.Instance 间迁移37XML Publisher要点荟萃Document ControliiiFile Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref:<Document Reference Number>November 18, 20185.8.问题记录386.Open and Closed Issues for this Deliverab

7、le39Open Issues39Closed Issues39XML Publisher 要点荟萃Document Control ivFile Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Reference Number>November 18, 20181.BI Publisher 基础1.1.读者基础要求1、 熟悉 EBS并发程序开发2、 熟悉 Microsoft Word3、 了解并发管理器的定义

8、和作用4、 理解简单的XML 文件5、 有 XSL-FO 开发经验者更佳6、 有 Java 开发经验者更佳1.2.文档贡献者截止目前为止,本文档在编写过程中得到张礼军、刘平的鼎力支持,这里深表感谢!1.3.About XMLPXMLP在 EBS 中的地位XMLP 是 EBS的 11.510之后主要的报表解决方案。每种技术都有自己的特点和应用方向,仔细阅读下表,我们可以体会何种场景该使用XMLP 。EBS中的技术特点企业应用Oracle DB关系型数据库,其实是最佳的设计模式和开发框架所有 MIS 系统的基础,最可靠的数据持久存储PL/SQL标准 SQL+ 编程语言, Oracle 所有开发工具

9、的基石用于业务逻辑实现;系统质量的优劣、性能的高低,很大程度上取决于 PL/SQLReports过去流行的可视化报表设计环境,开发效率高数据检索 + 报表展现,尤其是单据打印DiscovererBI 展现工具,基于主题视图,分析企业数据因为布局工作量小,被广泛应用于普通报表开发ADI/Web ADI从日记账和 FA 起家,逐步发展为 EBS最强的桌面工具数据检索 +Excel 展现、数据批量录入和修改XML Publisher基于 XML 工业标准,数据抽取与展现分离,布局设数据检索 + 报表展现,除了单据打印,还可发布至计平易近人又高度灵活丰富,与Java亲密集成合作伙伴Concurrent

10、基于时间的任务并发、排队,合理利用系统资源立即、定时或周期执行程序、报表、维护和监控FlexfieldEBS最富特色的自定义字段,智能组合、智能验证会计科目、物料分类,业务特有信息的记录和传递Forms最快捷的数据库应用系统开发环境,UI 不够友好Windows 版的数据录入 +数据处理 + 数据检索JSP/JTF/OAF效率比较高的基于浏览器的应用开发框架纯 Web 版的数据录入 + 数据处理 +数据检索Workflow灵活的流程定义 / 自动化、通知发送、系统间集成流程式审批、流程式数据传递、事件式系统集成Alert基于触发器和定时器的数据监控、预警通知企业核心数据监控、系统运行异常监控I

11、nterface/API各模块开发人员留出的,除了UI 外的数据“出入口”客户化业务、外围系统与核心ERP的集成Web Service基于 Internet 的计算和服务,可用于数据交换跑在 Internet 上的 Interface/API官方资料XML Publisher简称 XMLP,现在叫BI Publisher,有独立版和EBS嵌入版。XML Publisher要点荟萃BI Publisher基础2 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle

12、ERP最佳技术实践数据逻辑报表布局翻译转化Doc Ref:<Document Reference Number>November 18, 2018以下站点是BI Publisher 的官方技术中心:以下站点是EBS的官方文档中心,其中包含XML Publisher的最新 User Guide:BI Publisher可以使用大多数用户熟悉的工具Microsoft Word或 Adobe Acrobat,来设计报表格式。不需要专用的设计Studio ,这意味着不需要额外的成本。这样,业务顾问或者用户仅需要简单的培训,就可以直接完成报表的设计。1.3.2. 解决了其它报表工具的鸡肋1、

13、 PL/SQL :布局过于简单;不便于Java集成,不便于对外发布。2、 Discoverer :布局过于简单、性能较差;不便于Java 集成,不便于对外发布。3、 Reports :输出 Excel 不方便、标题和内容漂移、PASTA 配置麻烦;不便于Java 集成,不便于对外发布。完全分离数据/ 布局 / UI 国际化数据获取、布局设计、界面翻译 三大工作全部分离,可由不同的人甚至第三方分工协作。XML Publisher报表输出数据不限来源、最终格式丰富、传送不限目的地BI Publisher可以接受并格式化任何格式规范的XML数据,它可以与能够生成XML的任何数据库、应用程序或过程集成

14、,无论是要格式化输出并发送给使用者的数据库、 ERP 应用程序还是Web 服务。 BI Publisher还允许您将来自多个数据源的数据置入单个输出文档。可以通过打印机、电子邮件、传真和 WebDav 传送您的内容,或者将报表发布到门户。 Delivery Manager 的开放式体系结构还允许您轻松地实现自定义传送通道。XML Publisher要点荟萃BI Publisher 基础3 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Or

15、acle,SQL ServerPeopleSoft,SAP, SiebelJava,Pearl,C+,etcWeb Services数据源Doc Ref:<Document Reference Number>November 18, 2018PDFEmailRTFHTMLPrinterXML PublisherExcelFaxXSLXML模 板EDIWebDAV?WordXML SpyEFT?Excel?JDevelopere-Commerce?Acrobat?Scriptura布局设计工具输出目标卓越的性能BI Publisher基于 W3C XSL-FO标准,它是当今世界上最快

16、、伸缩性最强的实现。它可以在较短的时间内处理大量的数据输入并生成输出,而只需占用很少的CPU 时间和内存。开放的标准,易于集成BI Publisher是基于开放标准技术构建的。它是一个J2EE 应用程序,可以部署到任何J2EE 容器。数据将处理为XML ,在桌面应用程序中创建的布局模板将在内部转换为XSL-FO (另一个W3C 标准)。该应用程序生成的输出也符合业界标准,如PDF 、RTF 和 HTML。传送协议是Internet打印协议(IPP) 、 WebDAV、 FTP 和 AS2 。1.4.必要配置服务器端 Patch最好升级到最新版本,至少也要到5.5,之前的版本可以说是Oracle

17、 的“小白鼠”。目前最新版为,Notes367394.1 ,有比较详细的描述。SELECT *FROMfnd_product_installationsWHEREpatch_levelLIKE%XDO%服务器端配置除非有特别需要,如设置临时文件夹、字体映射、PDF 报表文件密码控制等,否则不需要做什么配置。XML Publisher要点荟萃BI Publisher 基础4 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: &

18、lt;Document Reference Number>November 18, 2018新版配置: XML Publisher Administrator/Home/Administration。旧版配置: $XDO_TOP/resource/xdo.cfg或者 $AF_JRE_TOP/jre/lib/xdo.cfg。该文件默认不存在,需要手工创建。文件格式要按照Oracle XML Publisher UsersGuide 的要求来写。如果 PC 机安装了 XML Publisher Desktop,其实里面有个 xdoexample.cfg 文件,可以稍微修改即可使用。开发设计工

19、具XML Publisher Desktop目前最新版本是;需要先装好JDK1.4 以上版本。下载下来后直接安装,这样会在 Word 中嵌入 XMLP 的菜单,可以用来自动生成布局、预览等。1.5.最简单的例子 .输出 XML 数据源关于数据源XMLP 要求的数据,必须是 XML 格式的,这可以通过多种方式生成,最常见的有两种。1、Oracle Reports:仅创建Data Module、分组、求和,不用设计布局;其中求和也可以在模版中完成。2、PL/SQL or SQL:直接输出XML格式的内容。如果使用 XMLP 的 Java API 来生成报表,实际上可以从任何途径获得 XML 包括本

20、地文件、用 URL 指定的网络文件、其他 Java 函数返回的参数等等。格式的文件,开发数据源这里采用 Oracle Reports,为简单起见,参数写死,SQL 如下:SELECT poh.segment1 po_num,por.release_num release,pv.vendor_name,pvs.address_line1,pvs.address_line2,pvs.address_line3,pol.line_num |. | pll.shipment_num line_num,mst.segment1 item_num,mst.description,pll.quantity,

21、pll.unit_meas_lookup_code uom,pll.price_override unit_price,poh.currency_code,nvl(pll.need_by_date, mised_date) need_by_dateFROMpo_headers_allpoh,po_vendorspv,po_vendor_sites_allpvs,po_lines_allpol,po_line_locations_all pll,po_releases_allpor,mtl_system_items_vlmstWHEREpoh.vendor_id = pv.vend

22、or_id(+)AND poh.vendor_site_id = pvs.vendor_site_id(+)AND poh.po_header_id = pol.po_header_idAND pol.po_line_id = pll.line_location_idXML Publisher要点荟萃BI Publisher基础5 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref:<Document Reference

23、Number>November 18, 2018AND pll.po_release_id = por.po_release_id(+)AND pol.item_id = mst.inventory_item_idAND pll.ship_to_organization_id = anization_idAND _id =102AND poh.creation_date >= sysdate - 60在 Oracle Reports 中创建数据模型并分组如下:对组名称可以改得友好些,比如这里的XML 文件可读性更佳。代码参考:G_PO_HEADER CU

24、XXMLPDEMO.rdf和G_PO_LINE。,这样生成的注册并发程序,输出格式为XML1、 上传 CUXXMLPDEMO.rdf至服务器$SCF_TOP/reports/US2、 注册可执行:3、 注册并发程序,注意输出格式:XML Publisher要点荟萃BI Publisher基础6 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Reference Number>November

25、 18, 20184、 分配给相应的请求组。试运行,获得样例数据将报表上传服务起后,请求运行结果如下(只展开了一张PO ):可以看到,Oracle Reports可以自动输出XML名。具体文件可参考:CUXXMLPDEMO.xml,Tag 主要来自文件名、分组名、字段。XML Publisher要点荟萃BI Publisher基础7 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Referenc

26、e Number> November 18, 20181.6.最简单的例子 .设计 RTF 模版关于布局设计实际上和任何报表工具一样,布局设计时,先需要“想象”层次结构,如哪些内容位于页眉页脚,哪些内容是报表头,哪些内容是明细行,各部分是如何依次嵌套的,哪些地方需要合计等等。同时考虑一些特殊需求:如何进行页码编号、是否动态列、每页显示的行数是否固定、新单据是否从新页开始、行高和列宽是否固定、表头是否在新页重复等等。这些也是做布局设计的重点和难点,而且不同版本的 XMLP 支持的特性也不一样,总的来说之后,应该我们常用的需求都能被满足。布局设计最常用的工具是Word ,也可以是 Adobe

27、 Acrobat,也可以直接编写XSL-FO 模版。实际上,当上传RTF 文件到 XMLP 模版管理器时,将被自动转换为XSL-FO 。了解窗体域,这可是我们经常写XMLP 代码的地方用 Word 进行 RTF 模版设计时, XMLP 主要是利用“窗体域”来保存分组、格式、赋值等控制信息,其类似报表中的占位符,运行时将被实际的数据替换。先从菜单“视图/ 工具栏 / 窗体”调出窗体工具栏。然后就可以将“窗体域”插到 Word 文档中,最后通过右键“窗体域”调出属性,默认文字中输入比较直观的描述,在“添加帮助文字”的“自己键入”部分输入相应的XMLP 命令, 格式都是 <?各种命令 ?>

28、; 。 比如下面的命令是个占位符,意思是运行时,用数据文件中标记为“ ITEM_CODE ”的值替换:XML Publisher要点荟萃BI Publisher基础8 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Reference Number>November 18, 2018导入样例数据打开 Word ,通过 Template Builder/数据 / 装入 XML 数据:选择上一步

29、请求输出的 XML 文件,这样我们可以用向导加快模版设计,同时也方便预览。布局向导布局设计比较灵活,可以先搭好分组框架,也可先设计数据;可以通过向导创建,也可以手工设计。这里先介绍向导,这样可以减少手工添加“窗体域”的工作量。1、 启动向导,菜单Template Builder/插入 / 表 / 表单 / 向导 2、 选择布局风格,我们先要做采购订单单据头,所以选择“表单”3、 选择分组依据,我们这里选择G_PO_HEADERXML Publisher要点荟萃BI Publisher基础9 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Co

30、nfidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Reference Number>November 18, 20184、 选择需要的字段,假定我们需要如下5个字段5、 设置排序字段,我们需要按照PO 号和发放号同时排序XML Publisher要点荟萃BI Publisher 基础10 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc

31、 Ref: <Document Reference Number>November 18, 20186、 调整字段描述7、 完成后自动生成布局如下(可双击打开)F订单号PO_NUM发放号RELEASE供应商VENDOR_NAME地址ADDRESS_LINE1货币单位CURRENCY_CODEE其中的F和 E 是分组起始、终止标志,我们总结如下:XML Publisher要点荟萃BI Publisher 基础11 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use only

32、Oracle ERP最佳技术实践Doc Ref: <Document Reference Number>November 18, 2018字段默认文字XMLP 语句组开始F<?for-each:G_PO_HEADER?><?sort:PO_NUM;ascending ;data-type= text ?><?sort:RELEASE; ascending ;data-type= text ?>订单号PO_NUM<?PO_NUM?>发放号RELEASE<?RELEASE?>供应商VENDOR_NAME<?VENDOR_

33、NAME?>地址ADDRESS_LINE1<?ADDRESS_LINE1?>货币单位CURRENCY_CODE<?CURRENCY_CODE?>组结束E<?end for-each?>这里要掌握分组语法和值饮用语法。Tips :到这里就可以预览报表了。调整布局向导生成了基本框架,尤其是需要写代码的“窗体域”,接下来我们根据实际需求调整下布局,同时最好也改下“默认文字”,尤其是分组的。最终结果如下(可双击打开):Group Begin:PO Headers采购订单订单号:发放号:PO NumberRelease供应商:地址:SupplierAddress

34、货币单位: CurrencyGroup End:PO Headers验证布局菜单 Template Builder/工具 / 验证,可以验证语法错误和不支持的特性!完善报表和上边的步骤类似,首先运行向导添加订单行,这次布局风格选择“表”,分组选择PO_Line ,结果如下,排序选择Line_Number:XML Publisher要点荟萃BI Publisher基础12 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: &l

35、t;Document Reference Number> November 18, 2018Group Begin:PO Headers采购订单订单号:发放号:PO NumberRelease供应商:地址:SupplierAddress行号物品编码描述数量单位货币单位: Currency单价需求日期F LINITEM_NDESCRIPTIONQUANUOMUNIT_PRNEED_BUMTITYICEY_DATEEGroup End:PO Headers其中的 F和 E 是分组起始、终止标志,注意这次它们所处的位置,这样可以做到根据数量自动扩张行。同样我们需要做下调整,比如:Group B

36、egin:PO Headers采购订单订单号:发放号:PO NumberRelease供应商:地址:SupplierAddress行号物 品 编描述数量单位单价货币单位: Currency需求日期码LineBeginItemDescriptionQuantityUOMPriceDateEndLineLinesGroup End:PO Headers这个例子还缺少很多元素,仅供练习,源文件为CUXXMLPDEMO.rtf。预览报表通过菜单 Template Builder/ 预览,可以选择 PDF 、 Excel 、 HTML 、 RTF 等多种格式,我们选择 Excel 的输出结果如下:XML

37、 Publisher要点荟萃BI Publisher基础13 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Reference Number>November 18, 2018完整的输出文件请看CUXXMLPDEMO.xls。1.7.最简单的例子 .注册数据源和模版注册数据源N: XML Publisher Administrator/Home/Data Definitions/Creat

38、e Data Definition定义数据源,需要注意,数据源代码需要和并发请求的代码一致,也可以上传预览数据:注册模版,并和数据源关联N: XML Publisher Administrator/Home/Templates/Create TemplateXML Publisher要点荟萃BI Publisher基础14 of 43File Ref: 574091823.doc(v. DRAFT 1A )Company Confidential - For internal use onlyOracle ERP最佳技术实践Doc Ref: <Document Reference Number>November 18, 2018定义并上传模版,需要注意选对类型和上一步注册的数据源:可以为每种语言上传一个模版。不过这里

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论