HTML格式报表开发_第1页
HTML格式报表开发_第2页
HTML格式报表开发_第3页
HTML格式报表开发_第4页
HTML格式报表开发_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

1、赛意企业管理咨询公司Oracle Applications ConsultantlOracle Report Builder开发的字符模式的报表,以下简称“系统报表”;l通过在数据库端直接生成HTML格式的文件,以下简称“HTML报表”。l采用图形化的开发方式,比较直观;l有功能强大的向导;l对于比较复杂格式的报表,如:“分组报表”、“矩阵报表”等,只需选择不同的格式即可生成,不需通过太多的代码来实现;l最终结果以一个独立文件的形式展示,比较容易传递。l虽然,可以直接导出成文本文件,但是,必须经过加工、处理,才能成为想要的EXCEL格式文件,对最终用户的EXCEL熟悉程度要求较高;l虽然有可视

2、化的布局编辑器,但实际编辑的过程中,其宽度、位置拖拉的工作量较繁琐,对开发效率有影响。l输出的文件,可以直接另存为EXCEL或WORD格式,在格式要求较高时,该方式很适用;l布局设计比较简单,对于简单的列表式报表(没有分组、合计等),一般不需要进行宽度、位置的调整;l在调试时,只需在数据库后台编译即可,不需要通过FTP进行文件上传。l是程序包方式的开发,没有可视化界面,不能直接预览到输出结果;l对于比较复杂格式的报表,如需要分组合计、矩阵等,虽然可以实现,但需要通过程序逻辑来进行控制;l由于多输出了HTML的标签符,所以,生成的文件会比较大;l要求对HTML语言,有所了解。l通过在数据库端,调

3、用过程“FND_FILE.PUT_LINE”生成输出文件;l在生成文件的过程中,通过加入一些HTML的简单标签,使得输出文件表格化;lHTML文件本身可以直接转换为EXCEL或WORD格式的文件。l定义一个游标CURSOR,将报表的主查询语句,作为其查询部分;l输出报表标题;l输出参数及其值; l输出表格标题;l通过FOR REC IN CUR LOOP方式的循环,将查询内容,逐行输出;l在循环过程中,可以通过SELECT INTO的方式将游标查询中未能反应的数据,进行获取,相当于“系统报表”开发时的“公式列”; l输出合计信息。 l程序名称:EXAMPLE1.l存储过程:HTML_REPOR

4、T_PKG.EXAMPLE1-过程名:EXAMPLE1-功能:示例1,内容反应“供应商对帐单”-传入参数:p_org_id 组织(经营单位)ID- p_start_date 起始日期- p_end_date 截止日期- p_begin_vendor_num 起始供应商编号- p_end_vendor_num 截止供应商编号 PROCEDUREPROCEDURE EXAMPLE1(p1 inin varchar2varchar2 ,p2 inin varchar2varchar2 ,p_org_id inin NumberNumber ,p_start_date InIn Varchar2Var

5、char2 ,p_end_date InIn Varchar2Varchar2 ,p_begin_vendor_num InIn Varchar2Varchar2 ,p_end_vendor_num InIn Varchar2Varchar2 ) IsIs -下面两个变量,为系统使用,是固定名称,不需修改。 v_sep varchar2varchar2(15); -字符串之间的分隔符号,默认为逗号“,” v_line_str varchar2varchar2(4000); -输出的字符串,不同的字段之间, -使用V_SEP变量表示的分隔符号进行分隔 -定义游标 CursorCursor c1

6、IsIs select select from from where where ; ; beginbegin -表示以文件形式进行输出,在开发HTML报表时,固定即可,不需修改 html_report_pkg.v_report_output_mode := F; -为输出字符串的分隔符号赋值,分隔符号的值,在输出字段的值中不能包含, -否则,会造成分隔错误。 v_sep := ; -输出标题 html_report_pkg.HTML_TITLE(P_PROGRAM_TITLE = 供应商对帐单 ,P_REPORT_TITLE = 供应商对帐单); -输出参数值 html_report_pkg

7、.output_line(打印时间: |to_char(sysdatesysdate,yyyy-mm-dd hh24:mi); html_report_pkg.output_line(日期,自:|substr(p_start_date,1,10) |,至:|substr(p_end_date,1,10); html_report_pkg.output_line(供应商编号,自:|p_begin_vendor_num |,至:|p_end_vendor_num); -开始进行内容的输出,下行的width=1200,用于进行输出表格的宽度设置 html_report_pkg.output_line

8、(); -将表格标题,用逗号分隔后,连接成一个字符串, -注意:最后一个字段之后,也要有个逗号。 v_line_str := 记录类型,供应商编号,供应商名称,发票编号/付款编号, 凭证号,发票日期/付款日期,发票类型,原币币种,原币金额, 本位币金额,汇兑损益,摘要,; -输出表格标题 html_report_pkg.LINE_TITLE(P_TITLE_STRING = v_line_str); -通过游标循环,将表格内容逐行输出 forfor r1 inin c1 LoopLoop html_report_pkg.LINE_TITLE(P_TITLE_STRING = r1.record

9、_type |v_sep|r1.vendor_num |v_sep|r1.vendor_name |v_sep|r1.invoice_num |v_sep|r1.document_value |v_sep|to_char(r1.invoice_date,yyyy-mm-dd) |v_sep|r1.invoice_type |v_sep|r1.currency_code |v_sep|r1.amount |v_sep|r1.acctd_amount |v_sep|r1.acctd_amount_hdsy |v_sep|r1.descriptiondescription |v_sep ,P_WIT

10、H_OTHER_ATTR = Y ,P_ATTR_DELIMITER = * ,P_DELIMITER = v_sep ); endend looploop; -输出表格和网页结束时的标签符 html_report_pkg.output_line(); end example1;lHTML_TITLElOUTPUT_LINElLINE_TITLE - -过过 程程 名:名:HTML_TITLEHTML_TITLE-传入参数:传入参数:P_PROGRAM_TITLE P_PROGRAM_TITLE 程序名称,在程序名称,在IEIE的标题栏(顶部蓝色栏)的标题栏(顶部蓝色栏) 显示显示- - P_

11、REPORT_TITLE P_REPORT_TITLE 报表的标题报表的标题- - P_REPORT_TITLE_ATTR P_REPORT_TITLE_ATTR 报表标题的显示属性报表标题的显示属性, ,直接以直接以HTMLHTML语法格式写语法格式写- - P_STYLE P_STYLE 需要在该报表中定义的需要在该报表中定义的STYLESTYLE的的HTMLHTML语句语句, ,直接以直接以HTMLHTML语法语法 格式写格式写-功功 能:该过程用于生成能:该过程用于生成HTMLHTML文件的开始部分,是一个通用的过程文件的开始部分,是一个通用的过程 PROCEDURE HTML_TIT

12、LE(P_PROGRAM_TITLE IN VARCHAR2PROCEDURE HTML_TITLE(P_PROGRAM_TITLE IN VARCHAR2 ,P_REPORT_TITLE IN VARCHAR2 ,P_REPORT_TITLE IN VARCHAR2 ,P_REPORT_TITLE_ATTR IN VARCHAR2 ,P_REPORT_TITLE_ATTR IN VARCHAR2 DEFAULT align=center style=font-family: DEFAULT align=center style=font-family: 宋体宋体; ; font-size:

13、20ptfont-size: 20pt ,P_STYLE IN VARCHAR2 ,P_STYLE IN VARCHAR2 DEFAULT !- .amount DEFAULT text-align:right;- ,P_FILE_ID IN ,P_FILE_ID IN utl_file.file_typeutl_file.file_type DEFAULT NULL DEFAULT NULL ); ); - -过过 程程 名:名:OUTPUT_LINEOUTPUT_LINE-传入参数:传入参数:p_output_p_output_str str 准备输出的字符串准备输出的字符串- - p_o

14、utput_mode p_output_mode 输出方式,输出方式,F F:文件方式;文件方式;W W:网页打印方式。网页打印方式。-功功 能:该过程用于输出一个字符串能:该过程用于输出一个字符串 PROCEDURE OUTPUT_LINE(p_output_PROCEDURE OUTPUT_LINE(p_output_strstr in varchar2 in varchar2 ,p_output_mode in varchar2 ,p_output_mode in varchar2 default v_report_output_mode default v_report_output_

15、mode ); ); -过过 程程 名:名:LINE_TITLELINE_TITLE-传入参数:传入参数:P_TITLE_STRING P_TITLE_STRING 将表格的一行信息用一个特殊符号分隔后连成的字将表格的一行信息用一个特殊符号分隔后连成的字 符串(注意:末尾也要有一个符号)符串(注意:末尾也要有一个符号)- - P_WITH_OTHER_ATTR P_WITH_OTHER_ATTR 该属性用于区分本次调用是否要为该属性用于区分本次调用是否要为TDTD指定其他指定其他 属性属性- - P_WITH_TR_FLAG P_WITH_TR_FLAG 该属性用于区分是否要带该属性用于区分是

16、否要带 TR标志标志 - - P_DELIMITER P_DELIMITER 在字符串连接时的分隔符号,默认为逗号在字符串连接时的分隔符号,默认为逗号“,”- - P_ATTR_DELIMITER P_ATTR_DELIMITER 在解码后的字符串当中用于分隔字段值和其他在解码后的字符串当中用于分隔字段值和其他 属性的分隔符号,默认为属性的分隔符号,默认为“* *”-功功 能:该过程用于将表格的一行信息用一个特殊符号分隔后连成的字符串能:该过程用于将表格的一行信息用一个特殊符号分隔后连成的字符串- - 进行解码后,以单元格的格式显示出来。进行解码后,以单元格的格式显示出来。 PROCEDURE LINE_TITLE(P_TITLE_STRING IN VARCHAR2PROCEDURE LINE_TITLE(P_TITLE_STRING IN VARCHAR2 ,P_WITH_OTHER_ATTR IN VARCHAR2 DEFAULT N ,P_WITH_OTHER_ATTR IN VARCHAR2 DEFAULT N ,P_WITH_TR_FLAG IN VARCHAR2 DEFAULT Y ,P_WITH_TR_FLAG IN VAR

温馨提示

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

评论

0/150

提交评论