




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、号飲矣割、1个救.町否为宇、乂芒0须握炼、分析as求桂岀不足.rtiSttw 鳩认报衰IHWR. We尊需求分析取找字段方法归紡报农设计PL/SQU6法熟练仗便用函敕代岀实现呈本测试界面甥鲨证根衣数酬测试Html报表开发总结后台KKHi扛总纯计値檢査提交文档5k 计越长字 字毁咬证 时何字段鲨还合汕更新后的爲求文档 技术文厲強证无误的激代码 开发结碗定宁股字段満足x#m.止蛹!从EBSG的历史记求仃找 说剔性弹性域奴农刘动计 J? roMHan使用字rffi冲区抒列动峦报炭衛动态htm熾出鮮宜炉足高求的卞股的剤定条件多表逵接祐iiti比迖成口虽 敦丸咻一 II符合需求述根稅逻辑颅円序讹柠阳不使
2、川栈版岀使用段版a出 构科卅法的迢用情况类化报*#.懺足用门体弊报点内禅巧我头的对应报农敷比擀式、儿7弓、7体对齐方式等烈衣标ar “I恪、舁曲等ffi仙专增讯攻后嬪农餡网应f rit极煨状况和你注字袴等TPJVM的令计/小计是否fit报农蛙撩序!5类别门的工总统计是否刖步Oracle EBS Html报表开发总结一 需求分析1 确认需求1.1 确定参数类型、个数,可否为空,是否必输。1.2 提炼、分析和自习审查已经收集到的需求,以确保所有的风险承担者都明确其含义并 找到其中的错误和其他不足的地方(在必要的情况下向顾问提出改进建议) ;1.3 确认报表样式、 title 等;2 确定字段确认报
3、表中的表项取值及应满足的逻辑条件,拿到正确的字段;3 涉及计算的字段取值报表中需要计算的表项具体计算公式;4 数据获取找字段方法总结:4.1 从 EBS 中的历史记录来找到该字段是来自哪个视图,再从帮助下的诊断来找到字段的 名称;刻助QJ)文件(?)萱看(Y)文件夹)工具(!)有口 Off)詔鱼TO农 e J 5 c窗口帮助Oracle Applications 程序障) 逡盘帮助)文件Q) flCE)査看世)文件夹心 14(1)窗口 (?)帮助QJ)詔乜3令荡毎丁&*声瓏 丛丘石乡戈:AB ?4.2 利用弹性域来找字段,首先找到是否是描述性弹性域,再找到弹性域的名称,从弹性域 中找到字段;S
4、tep1.找到该描述性弹性域的名称Step2.切换职责,在【系统管理员】中查找该描述性弹性域点击 【段】 按钮即可查看该弹性域内 EBS字段对应的基表字段,如下:4.3 从弹性域中的块下找到 system,字段是 last query 下来找整个 form 下的字段; 路径:帮助 诊断 检查块: SYSTEM 字段: LAST_QUERY 值:查询当前 FORM 中所有字段用到的 SQL语句,包括字段名,基表或视图。4.4 自己添加一条数据来进行先后对比确定EBS 中的项目对应的基表字段;报表设计1 表头设计1.1 报表行动态 在报表的输出中,报表的表头数据是作为报表的参数输出 例如下表该表中
5、的测试序列, 开发序列等都是作为报表的参数输出的, 只能选一个或全选, 不选 则全出, 每个序列下的职务信息都是根据序列来查出来显示在报表中, 在此如何控制报表的 样式。首先测试序列作为一个游标循环输出,在内层循环根据序列作为一个游标输出,在控制表样时根据序列查出该序列的 colspan: for xulie in (根据参数取序列 ) loop在此处算该序列的 colspan 即该序列下有多少职务,在输出序列时传到其 colspan 中 For zhiwu in (序列游标作为条件查询该序列的职务信息 )loop输出职务的信息,在输出时注意报表的格式,注意输出部分是列还是行的循环输出 End
6、 loop;End loop;1.2 报表列动态 在报表的输出过程中,表行是作为参数输出的,具体以下表为例月份,一级组织和二级组织都是作为参数的一部分, 在此处详细介绍在输出报表时关于如何 控制表样算行的三种方法:1) 嵌套 Table 的方法 在此处主要介绍表头下面的表格输出 月份一级组织 二级组织 .嵌套表的优点: 嵌套 table 的方法在使用时不用去考虑一级组织和二级组织的行数,只 需要按照 HTML 的格式在输出部分循环输出就可以。嵌套表的缺点: 嵌套 table 的方法的缺点很明显,数据可以按照你想实现的实现,但是表的各种属性要严格控制,否则就出现上下列不对齐,而且嵌套 table
7、 的方法在循环输出的 时候要严格控制它的开始输出的HTML 标记和在循环结束时应该有的结束标记, 表格嵌套的越多逻辑越容易乱注意:在使用嵌套 table 的方法时要注意表头是作为一个 table 标签的,否则就会出现 列不对应的情况,如下图。表头也使用嵌套,通过 ID 来标识它们的一一对应性。2)在输出之前算好该 标签的 rowspan 值 例如在此报表中,月份的 rospan 值就应该是所有的二级组织的行数再加上所有的一级 组织的行数(因为每个一级组织有个合计要算) ,;然后一级组织的 rospan 值就是该一级组 织下的所有二级组织的行数再加上1(因为该一级组织有个合计要算) 。每个 ro
8、wspan 都应该在输出之前将其算好赋予一个变量值,然后在输出的时候将此变量值传到 HTML 的 rowspan 中。例如此报表的处理方式如下: 先算出所有的二级组织的行数和一级组织的行数之和 ln_month_row ,此为月份的 rowspan 值 for v_month in 月份的游标 loop fnd_file.put_line(fnd_file.output, |月份 | );for 一级组织 in (一级组织的所有信息 ) loop 在此处查询该一级组织下的二级组织的个数 ln_row1 fnd_file.put_line(fnd_file.output, | 一级组织 | );
9、for 二级组织 in(根据一级组织查询的所有二级组织的信息) loop 从报表可知该 rowspan 值为 1fnd_file.put_line(fnd_file.output , | 二级组织| 报表二级组织后面的 列);end loop; end loop;end loop; 该算法的优点: 该算法能在输出之前根据需求算好该 的 rospan 值,能实现报表的 表样,相比于嵌套 table 的方法该方法在表样格式上控制简单,而且报表格式良好。 该算法的缺点: 在算行数的时候如果二级组织有重名 (即不同一级组织下有相同名字的 二级组织)就会影响到行数的算法, 对此的处理使用的是在查询时加上
10、之前的一级组织字段, 保证唯一,即: select distinct 一级组织字段,二级组织字段 from 表 ;如果二级组织为空没有值,也会影响到行数,在输出时需要判断 rowspan 是否为 0,如 果为 0 则让其为 1,二级组织为空,这样报表才能出来。3)使用字符串缓冲区 使用字符串缓冲区的方法是将一级组织和二级组织的信息先显示出来但不输出, 在每层 循环里面用一个变量来统计 rospan ,并将该循环的内容放到一个字符串缓冲区内,直到所有的循环跑完之后,再输出这个缓冲区的内容。具体介绍以此报表为例先定义字符串缓冲区和变量lv_month varchar2(32767);(32767
11、为 varchar2 的最大值 ) lv_month_in varchar2(32767);lv_orgnazation1 varchar2(32767); lv_orgnazation1_in varchar2(32767);lv_orgnazation2 varchar2(32767); lv_orgnazation2_in varchar2(32767);ln_month_rownumber;- 月份行数变量ln_row1 number;- 一级组织行数变量 for v_month in ( 月份游标 ) loop 一层循环lv_month:= 月份 ;for orgnazation1
12、in () loop 二层循环for orgnazation2 in () loop 三层循环 ln_month_row:= ln_month_row+1;- 算月份行数 ln_row1:=ln_row1+1;- 算一级组织行数lv_orgnazation2_in:= |二级组织 | 此处开始输入二级组织后面的列 ; lv_orgnazation2:= lv_orgnazation2| lv_orgnazation2_in;end loop;ln_month_row:= ln_month_row+1;- 因为一级组织的合计, 所以月份的行数要加上一级组织的 个数ln_row1:= ln_row
13、1+1;- 因为一级组织的合计lv orgnazation1 in:= |一级组织| ;lv_orgnazation1:=lv_orgnazation1| lv_orgnazation1_in;ln row1:=0;end loop;-在此处开始输出报表的内容 fnd_file.put_line(fnd_file.output,lv_month);fnd_file.put_line(fnd_file.output, lv_orgnazation1);fnd_file.put_line(fnd_file.output, lv_orgnazation2);-输出完之后所有变量清 0,以保证下个循环
14、的输出正确 ln_month_row:= 0;lv_orgnazation1:=null;lv_orgnazation2:=null;end loop;使用字符串缓冲区的优点: 使用字符串缓冲区相比上一种方法来说可以实现在文档中 不存在 SQL,而且可以不在乎不同一级组织下的重名问题。使用字符串缓冲区的缺点: 使用的变量比较多,而且在算行数的时候的逻辑容易乱, 每个循环后应该清 0 和清空的变量要明白清楚, 整个代码的逻辑自己要清楚; 字符串缓冲区 的大小有上限, 如果数据过大超过上限就会报错, clob 变量可以解决这种问题, 但其用法比 较复杂,不建议使用。1.3 行列均动态 上述两种情况
15、的合并使用。2 整体数据筛选逻辑的设计目标:保证数据正确、满足需求且唯一。2.1 确定满足需求的字段的判定条件2.2 多表连接筛选数据2.3 自然语言描述报表逻辑画程序流程图三 代码实现(按 HTML 的报表输出格式分类)1 不使用 Html 报表模版输出1 定义相关变量;2 定义 css 样式;3 定义游标 CURSOR,将报表的主查询语句,作为其查询部分;4用html 输出报表标题;5 输出参数及其值;6 输出表格内的标题;-输出方法参见表头设计7 按报表参数的条件组合做出条件判断;8 通过 FOR REC IN CURSOR LOO方P式的循环,查询内容,逐行输出;9 在循环过程中,可以
16、通过 SELECTI NTO 的方式将游标查询中未能反应的数据,存入变量 中,在输出时灵活运用;10 在小计或合计的地方注意在隔层循环外变量的清零;11 设置报表权限;12 提交报表;2 使用 Html 报表模版输出此处以刘宏老师给的模版为例说明:1 确定 xxhan_htm_util_pkg.pck 和 xxhan_cux_util_pkg.pck 这两个包在数据库内,并且可执 行;2 根据报表输出样式定义一个 PROCEDUREr egist_templates , regist_templates 中要灵活使 用, regist_templates 模版中的各个块的含义一定要清楚;3 之
17、间设置满足需求要求的 css 样式,美化报表、满足用户体验。四 报表数据测试1 测试准备工作:数据准备 保证足够多的有效数据 清楚报表中涉及到的算法、公式 清楚业务功能接口2 报表测试点1)基本测试点:界面、格式、布局、明显的数据错误、报表标题,报表整体风格;2)有效数据准确性验证:数据的来源、数据的对应关系、数据的格式、数据的排序、明细 与合计的一致性;3)报表查询:覆盖所有的查询条件,输出结果准确;4)汇总,明细表数据间的关联以及多张报表之间的比较;5)日期字段:关系到结算,查询,统计等;6)权限控制和安全性测试:报表查看权限;7)报表的辅助功能: Excel 导出、打印等;8)样式统一:查询条件的保存、单位的统一等;9)测试前的评审工作 (即互测):测前组织测试评审或者测试交流, 对测试的深入, 对接口, 取值,数据的来龙去脉等重点或主要功能的讲解要详细,(除简单测试点外,其他要尽可能详细 )。在交流前自己要先大概了解报表的功能,这样效果会更好;1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 化学STEAM课堂活动设计-洞察及研究
- 智能媒体内容的多模态融合与生成技术-洞察及研究
- 生态补偿机制在绿化项目中的应用研究-洞察及研究
- 钳工装配基本知识培训课件
- 2025年社区安全防范测试题含答案
- 知识产权师初级培训班课件
- 知识产权工作培训课件
- 知识产权培训课课件
- 2025金属冶炼(炼钢)安全员考试题库(含答案)
- 2025年电动汽车电池热管理技术环保性能研究报告
- 法人更换免责协议书
- 2025至2030年中国程控线路板市场分析及竞争策略研究报告
- 高三化学家长会课件
- 光伏电站安全培训要点
- 分包安全管理
- 美术馆智能化建设技术方案
- 老年大学京剧青衣课程教学大纲
- 2025年综合窗口岗位工作人员招聘考试笔试试题(附答案)
- 南昌航空笔试题库及答案
- 医保违规处理制度3
- 中学化学课程中整合地域文化特色的教学实践
评论
0/150
提交评论