《Oracle+XML+Publisher在Oracle+R11i中的实际运用.doc》由会员分享,可在线阅读,更多相关《Oracle+XML+Publisher在Oracle+R11i中的实际运用.doc(13页珍藏版)》请在三一办公上搜索。
1、Oracle XML Publisher在Oracle R11i中的实际运用客户在实施Oracle E-Businsess Suite时,会有大量客户化开发需求. 首要的需求往往是客户化报表; 在早期的ERP版本, 客户化及系统报表, 只能通过文本模式或HTML格式查看输出结果. 样式比较单一, 报表格式往往不能满足客户需求.在后期的EBS版本中, 使用PDF格式或PostScript格式输出的报表方法日益普遍和成熟, 但也存在一些问题, 例如在UTF8等字符下的PDF报表输出问题(参考metalink note: 222663.1,189708.1,333504.1等), PostScrip
2、t输出格式调整等; 客户化开发人员需要花费很多精力去调整报表格式, 如果格式需求发生变化,开发人员不得不重新定制报表. 同时,对于PDF,PS等格式的输出, 系统管理员在后台还必须做很多配置工作. 配置不当则容易引起PS报表乱码或Format格式问题. 使用XML Publisher报表输出工具,可以轻松解决报表格式输出的调整问题.并满足客户多种格式(如WORD,PDF)的需求.目前, 在11.5.10及以上的EBS版本,已经集成XML Publisher 报表输出工具, 对11.5.10以下的版本,也提供了PATCH供客户升级. 使用XML Publisher, 将客户化报表开发工作和客户化
3、报表格式调整工作完全分离开来, 开发人员可致力于报表SQL(数据源)的调整, 报表格式方面的调整需求可通过XML Publisher轻易实现, 并且满足WORD,PDF,EXCEL,HTML等各种格式的不同需求.以下用EBS系统自带的标准报表为例子,简要介绍如何通过XML Publisher调整报表格式, 以及在EBS系统中需要做的设置.实例:GL职责标准报表: 按单据编号列出日记帐(Journals - Document Number , 报表简称: GLRSGNJ), 我们需要对该报表重新做XML格式设计,调整输出内容需求,并将新的报表输出格式挂接到EBS系统中.步骤一. 报表模板的设计设
4、置正确的profile和客户首选项检查profile “FND: NATIVE CLIENT ENCODING”; 用户首选项:客户机字符编码等设置; 本例在EBS11.5.10.2 UTF8环境中测试,因此设置以上选项为UTF8; 如果profile设置不正确, 则在第二步(设置报表格式为XML)中,查看输出可能会遇到错误:The XML page cannot be displayed. Cannot view XML input using XSL style sheet. Please correct the error and then click the Refresh butto
5、n, or try again later,参考NOTE:369943.1设置报表格式为XML:在系统管理员并发方案定义中,查询出需要更改的报表,将报表输出设置为XML格式本例将” Journals - Document Number”报表的输出格式选项修改为”XML”3. 运行更改后的报表切换至GL职责, 运行” 日记帐 - 单据编号”报表, 报表运行完成后,点击查看输出按钮,可看到报表输出变为XML格式, 例如生成文件为: - - - - 1781 - - JP GL Journal Entry 1781 FND_DOC_SEQ_1781_S 1 A - - 1 24-10-03 已输入
6、AR 38639 Receivables 2547771: A 38639 Trade Receipts USD 商业收据 1781 已过帐 28-10-03 USD 13000 13000 1 0 13,000.00 13,000.00 80 0 80 . 163298699320 JP GL Journal Entry 163298696320 已输入 已删除 未输入 JP GL Journal Entry 163298699320 163298696320 1 DD-MON-YYYY XML文件中红色部分为数据结构部分, 黑色字体为数据部分, 开发人员无需关心如何读懂XML文件,直接将X
7、ML文件保存至本地即可.例如,保存为Journals_Document_Number.xml文件4. 在开发员的客户端安装”Oracle XML Publisher Desktop”XML Publisher Desktop等XML工具可在OTN网站下载, 在客户端安装完成后,新建一个RTF文档做为该报表的输出模板,可看到在WORD上已经自动添加了数据/插入/预览/工具/帮助等工具栏.注:可选择新建空白WORD文档,也可选择按已有的WORD模板新建一个输出模板.新建的文档存为RTF文件5. 在RTF模板上点”数据/装入XML数据”在步骤4建立的RTF模板上, 点”数据/装入XML数据”工具栏,
8、 选择步骤3保存的XML文件: Journals_Document_Number.xml. 系统提示 ”已成功装入数据”, 如下图:6. 初步设计报表格式根据客户需求,用WORD的方法定义报表题头,增加LOGO,页眉页脚等.报表格式可随时更改,采用Windows Word等工具即可, 开发人员无需在Oracle Report Builder等软件中对客户化报表的布局进行繁琐的调整.以上步骤搭建了一个基本的XML报表模板, 以下步骤开始涉及调整报表输出内容和格式.在本例中,我们需要更改GLRSGNJ报表的传统输出模式,对按商业类别划分的日记帐单据进行借项统计做出饼图, 并同样对按商业类别划分的日
9、记帐单据进行贷项统计并做出条形图, 然后象标准的GLRSGNJ报表一样,按单据编号列出日记帐明细信息.7. 在模板上点”插入/图表”,插入饼图通过模板工具栏/插入/图表,选择插入饼图,并定义分组和运算规则. 例如,在此例子中,我们插入饼图,按category(商业类别)分组,对借项数额求和:8. 在模板上点”插入/图表”,插入条形图通过模板工具栏/插入/图表,选择插入条形图, 并定义分组和运算规则. 例如,在此例子中,我们插入垂直条形图,按category(商业类别)分组,对贷项数额求和:9. 在模板上点”插入/表单/高级”在模板上选择工具栏”插入/表单/高级” 后,会出现弹出窗口”插入表/表
10、单”,RTF模板会根据我们在步骤5导入的XML数据,列出可用的数据源.将报表显示中需要的数据源拖至模板栏,客户可根据需要自由选取或删除不需要显示在报表上的数据列.在窗口最右边的栏目,会显示”预览”和相关属性对于数据列的含义, 如果格式设计人员不十分清楚,在选择工具栏” 插入/字段”时,可看到对每个数据列都有详细实例说明:开发人员也可按客户需求对表单格式进行分组排序,例如, 在弹出窗口”插入表/表单”右边的属性栏目中, 按照单据编号排序或按商业类别排序.输出内容设计完成后,可以用WORD工具更改变量字段的格式属性等,例如,在表格中双击变量字段,将表格中借项/贷项的属性改为数字型,将过帐日期(PO
11、STED_DATE)等日期变量属性更改为日期型等:10. 报表格式的细化和调整通过以上步骤,我们给新的GLRSGNJ报表增加了按商业类别对借项金额做的饼图统计,按商业类别对贷项金额做的条形图统计,以及日记帐单据明细表等. 客户需要看到的报表输出我们通过以上设计已经轻松获得.我们可以通过WORD工具,进一步调整报表字体及字体大小, 增加图表的题注, 调整分页符等, 这些步骤都完全通过WORD工具实现,这里就不再赘述完成格式调整后,通过RTF模板的”预览” 工具栏, 可以按PDF,RTF,EXCEL或HTML格式预览你设计的报表格式.如有需要则可进一步调整格式.将格式调整完成的模板保存在本地,命名
12、为: GLRSGNJ.rtf步骤二. 报表模板在EBS中的设置待添加的隐藏文字内容3我们在步骤一中,对GLRSGNJ报表设计了新的报表模板并保存在客户端本地电脑中, 现在,我们通过以下步骤,将新的报表模板:GLRSGNJ.rtf挂接到EBS系统中, 使客户可在EBS系统中运行GLRSGNJ报表, 并按我们设计的报表模板, 生成PDF等格式的报表输出1. 创建新的数据定义添加”XML Publisher 管理员”职责, 进入该职责”Home/Data Definitions”选择”创建新的数据定义”, 输入名称,应用产品,起始日期,代码等字段.注意: 代码字段需和报表程序简称一致,例如,在”系统
13、管理员/程序/定义”中,查询” 日记帐 - 单据编号”的代码为GLRSGNJ, 则此处代码字段为GLRSGNJ2. 创建新的模板在”XML Publisher 管理员”职责, 进入该职责”Home/Templates”在”General”栏目中: 选择”创建新的模板”, 输入自定义的模板名称,选择和该报表相关的应用产品, 起始日期,代码等字段选择在步骤1创建的数据定义在”Template File”栏目中:选择我们在步骤一.”报表模板设计”中创建的RTF模板: GLRSGNJ.rtf, 并选择相应的语言和地区格式, 如下图为本文例子在EBS里定义的模板模板完成后,我们就可以修改报表格式为XML
14、格式,并按我们设计的模板输出报表了.我们可对同一个报表加入不同格式的template .以满足不同的客户对格式的不同需求.3. 检查报表定义在”系统管理员/程序/定义”中,检查报表” 日记帐 - 单据编号”的格式定义为”XML”类型4. 运行报表检查在GL职责,提交运行” 日记帐 - 单据编号”报表在”Option”选项, 客户可选择他所需要的template模板布局和输出格式:报表运行正常完成后, 用户即可按我们定义的格式看到报表输出,以下图中的输出为例, ” 日记帐 - 单据编号”报表以PDF格式输出,客户除可看到单据明细表外,还可看到按商业类别进行的借项,贷项统计饼图和条形图: 通过以上
15、实验,我们已经大致介绍了XML Publisher在EBS中的运用, 如何采用XML Publisher在EBS中创建格式更加灵活的报表. 客户如对XML Publisher有更多的兴趣, 可访问我们的metalink网站和OTN网站, 阅读以下文档:1. 362496.1 2. 295036.1 3. 316447.1 4. 337999.1 5. 357308.1 6. 367394.1 7. 8. 附注: XML Publisher 5.6.2 JAVA API :Packagesoracle.apps.xdooracle.apps.xdo.batchmon.lobmon.pdf.uti
16、loracle.apps.xdo.dataengineoracle.apps.xdo.deliveryXML Publisher Delivery API.oracle.apps.xdo.delivery.ftporacle.apps.xdo.delivery.ipporacle.apps.xdo.delivery.smtporacle.apps.xdo.delivery.webdavoracle.apps.xdo.templateoracle.apps.xdo.template.fo.utiloracle.apps.xdo.template.pdf.bookoracle.apps.xdo.template.pdf.jsoracle.apps.xdo.template.pdf.xfdf