报表生成方法、设备及系统的制作方法

文档序号:6564668阅读:178来源:国知局
专利名称:报表生成方法、设备及系统的制作方法
技术领域
本发明涉及信息处理技术领域,尤其涉及一种报表生成方法、设备及系统。
背景技术
随着企业规模的逐渐扩大,越来越多的企业使用大型机(Mainframe,大型计算机系统),例如IBM大型机,大型机的主要功能是处理大量事务和海量数据。如何对大型机中规模庞大、结构复杂的数据进行处理和加工,最终生成满足生产决策、财务审核等需求的各种报表,成为摆在大型机应用开发者面前的一个课题。
目前采用大型机的企业,大多数是由大型机处理生产事务与生产数据,再将数据返还给专门的报表生成系统,通过一些开放性平台或WIND0WS平台上的专门工具生成各类结构复杂的报表。
如图1所示,目前报表生成系统采用由终端101、服务器102和数据库103构成的三层架构,终端101与服务器102、服务器102与数据库103可以通过网络连接通讯。其中,服务器102接收终端101发送来的生成报表请求,根据请求查找数据库103,获取数据,并将数据返回给终端101;终端101利用自身已有的报表结构以及服务器102返回的数据,生成报表,显示给用户。
对于大型机而言,其自身保存有海量数据,相当于数据库103。如果采用图1所示的架构,也即将大型机保存的数据提供给别的报表生成器进行二次加工,会浪费大型机的计算资源;而且反应迟钝,效率低下,数据处理速度远没有达到大型机本地处理速度。
同时,采用图1所示的架构,终端101用于生成报表的数据是经过多方传输和处理的,无法采用第一手生产数据,数据的准确性很难保证。而且,在只有大型机的情况下,势必要重新开发出一套报表生成系统,增加了投资和维护成本。
从用户终端101角度考虑,由于要完成生成报表的大部分工作,势必会占用终端101的内部资源,这对于终端101的运行速度有一定的影响,在生成报表任务繁重的情况下,甚至会引起终端101瘫痪。而且该方式报表分发不便,且在不同终端101申请同一报表时,则需要各自重复生成,浪费计算资源。

发明内容
本发明的目的是提供一种报表生成方法、设备及系统,以解决大型机与其它报表生成器联合使用而造成的浪费大型机资源、效率低下的问题。
为此,本发明采用如下技术方案一种报表生成方法,包括步骤在保存有用户数据的大型机内部设置报表生成设备;报表生成设备接收用户发送的生成报表请求,创建包括表头、数据区域的报表结构,同时,获取大型机保存的、与该用户对应的数据;将数据存储到报表结构中,在大型机内部生成报表。
所述方法还包括将报表以文件形式保存,或将报表加入到大型机作业信息队列,或将报表插入到大型机中已存在的目标数据库保存。
所述方法还包括终端通过网络下载报表文件;或者,利用移动存储设备将报表文件转移到用户终端。
创建报表结构是由以下步骤实现的根据用户需求创建表体结构;对所述表体结构在应用环境下进行编译,生成报表引擎文件,所述报表引擎文件包括表头文件和数据文件。
所述应用环境包括COBOL语言运行环境;创建表体结构是在所述COBOL语言运行环境下由以下步骤实现的创建报表属性区;创建报表体区;创建报表输入数据记录区;创建报表输出数据显示区;创建报表备注信息区。
一种报表生成设备,存在于大型机内部,利用大型机中的数据生成报表,包括对外接口单元和报表中心单元;所述对外接口单元,用于接收用户发送的生成报表请求,以及向用户提供报表中心单元生成的报表;查找大型机并获取用户对应的数据,并将数据提供给中心报表单元;所述报表中心单元,用于创建包括表头、数据区域的报表结构,并将对外接口单元提供的数据存储到报表结构中,生成报表。
所述设备还包括报表文件存储单元;所述报表文件存储单元,用于将报表中心单元生成并提供的报表以文件形式进行存储。
所述报表文件存储单元,还用于接收对外接口单元发送的终端获取报表请求,查找报表文件并发送给对外接口单元,提供给终端。
一种报表生成系统,包括报表生成设备和数据文件,所述报表生成设备和数据文件存在于大型机内部;所述报表生成设备,用于接收用户发送的生成报表请求,创建包括表头、数据区域的报表结构,同时,获取数据文件提供的、与该用户对应的数据;将数据存储到报表结构中,生成报表,并显示给用户;所述数据文件,保存有用户对应的数据,并在接收到查询请求时将数据提供给报表生成设备。
所述系统还包括目标数据库,存在于大型机内部;所述目标数据库,用于保存报表生成设备生成的报表。
所述系统还包括打印机;所述打印机,用于打印报表生成设备生成的报表;所述系统还包括一个或多个终端;所述终端,用于获取并保存报表生成设备生成的报表。
本发明采用上述技术方案,带来很多有益技术效果,比如(1)在大型机保存有海量数据的基础上,充分利用大型机的计算能力,在其内部生成报表。采用本方案,能够实现对第一手数据进行加工、生成报表,可高效、准确地处理海量数据。同时,不需要另外使用别的报表生成系统,节省了再次投资与开发,增加了大型机的性价比。
(2)除了显示报表,大型机提供文件保存、打印、插入目标数据库三种方式对报表进行分发,方便用户使用。在上述分发方式能满足要求的情况下,不需要借助额外的用户终端,节省了资源。
(3)若想将报表保存到用户终端,只需通过下载等方式就能实现,非常简单;而且,由于用户下载的是已经由大型机生成的报表,从而节省了用户终端用于生成报表耗费的资源,不会给用户终端增加新的工作负担,非常实用。


图1为现有技术报表生成系统应用示意图;图2为本发明大型机生成报表系统示意图;图3为本发明实施例示意图;图4为本发明实施例中创建表体流程图;图5为本发明实施例中报表分发示意图;图6为本发明报表生成设备结构示意图;图7为本发明应用实例流程图。
具体实施例方式
本发明在大型机存储有海量数据的基础上,在大型机内部实现终端101与服务器102的功能,从而利用大型机自身,即可根据用户需求生成报表。在大型机中完成生成报表的全过程,并且提供以文件形式保存、打印或插入目标数据库的形式对生成的报表进行分发。
本发明利用大型机的应用开发环境,新开发出一整套报表解决方案,由创建报表结构、编译报表、报表分发(文件FTP分发、打印、插入目标数据库)三大部分组成,完全基于大型机环境,与现有技术无技术复用。
如图2所示,大型机201包括报表生成设备211,以及保存有用户数据的数据文件212,其中,报表生成设备211根据用户需求并利用数据文件212提供的数据生成报表,在报表生成过程起核心作用。如果只显示报表,一台大型机201就能够完成任务。一般情况下,需要对报表进行打印,这时只需将大型机201与一台打印机203连接,就能为多个用户提供服务,从而节省了资源。当用户要将报表保存到某终端202中时,只需将报表通过网络下载到本地,或者,利用移动存储设备(U盘)从大型机201中将报表移至终端202即可。
下面通过具体实施例,详细介绍生成报表的过程。
本发明实施所需优选条件如表1所示
表1

大型机201根据用户要求,在COBOL语言运行环境下,创建满足用户需要的报表结构;同时,调用自身保存的该用户数据;最后,将数据与创建的报表结构进行整合,生成报表,提供给用户;同时也可选择不同方式对报表文件进行分发。
下面详细介绍如何设置报表结构,也就是生成报表引擎文件的过程,也是报表生成设备211工作的流程。图3为实施例流程图,包括步骤301接收用户请求,并创建满足用户需求的表体结构;步骤302在应用环境下,对表体结构进行编译;步骤303生成报表引擎文件;步骤304查找到与用户对应的数据,将其与报表引擎文件进行整合,生成报表;步骤305将报表进行分发,提供给用户。
其中,报表引擎文件也就是表明报表结构的文件,是为满足用户需求最终确定的二维表。创建表体结构是生成报表引擎文件的前提,也是本发明比较关键的步骤,本实施例在一个记录长度为207个字节的PDS文件(IBMSystem/390系列大型机的分区文件结构)中新建一个MEMBER(分区),作为创建表体的区域。
创建表体(步骤301)又包括创建多个具体栏位,如图4所示步骤401创建报表属性区(CNTL);创建报表属性区包括创建以下部分①报表编号(RPT-NO),报表描述文件关键值,占用1~8字符;②报表名称(RPT-NAME),占用1~62字符;③打印标准表头指示(HEADER),0表示打印,1表示不打印,缺省值为0;④报表每页行数(PAGE),1~88行;
⑤报表列数(WIDTH),80、132、180、200,可选;⑥保留区域(RESERVE);⑦保留期限单位(CYCLE)天(D)、星期(W)、旬(T)、月(M)、季(Q)、半年(H)或年(Y);⑧报表格式中变量域指示字符(FLD-IND)可任意选择,例如以^表示。
步骤402创建报表体区(FORM);报表宽度由CNTL中WIDTH参数指定。在指定的宽带内按行直观地描述打印报表内容。在格式的描述过程中,常量部分直接描述在相应位置上,变量部分只需在相应位置上按CNTL中FLD-IND中给出的字符键即可。
数据记录格式由倒数第六个非空字符开始的连续三个字符表示,倒数第二个非空字符开始的连续两个字符为跳行指示数。倒数第六个非空字符为记录类型。H-表头部分,D-表循环体部分,S-表内统计部分,F-表底部分,B-行结束必打部分,R-报表结束必打部分,其中,H和F类记录每页必打。
步骤403创建报表输入数据记录区(FILE);在FILE区域中,设置该报表对应的数据文件记录结构,设置记录的每一个域。设置方法与下面的步骤404类似,只是没有输出部分的描述。
步骤404创建报表输出数据显示区(FIELD);在FIELD区域中,设置1~3列为该报表行记录类型,4~6列为数据域在该行的物理顺序,在同一行中每一个变量域从001开始,由左至右上升序列统一编号。若取值为0,则表示报表中没有定义该域的输出位置;1~6列设置为域名标号区;设置*为注释行。创建输出数据显示区具体包括创建以下内容(1)域名定义区(NAME),长度1~8字符,缺省时采用域名标号;(2)输入数据域序号(ISEQ),表示该域在报表数据中的顺序;(3)输入数据类型(ITYP),取值X表示字符,9表示显示型数字,B表示二进制,P表示压缩型数字,不可缺省;(4)输入数据长度(ILEN),该长度不包括数字型数据的小数位长度,不可缺省;(5)输入数据小数位长度(IDCN),只对数字型数据有效;
(6)输入数据的符号标志位(ISGN),只对数字型数据有效,0表示无符号,1表示带符号,缺省为0;(7)输出数据类型(OTYP),取值X表示字符型,D表示日期型,T表示时间型,N表示数字编辑型,H表示隐藏型,不可缺省;(8)输出数据长度(OLEN),输出数据类型取值H,可缺省;(9)输出数据编辑格式(OPIC),设置其长度与OLEN指定长度相等,数字编辑格式用单引号括起,字符型描述可缺省,输出数据类型取值H,可缺省;(10)输出数据相同打印省略指示(DUPI),0表示打印,1表示不打印,缺省为0;(11)中断指示(BIND),设置0表示数据值改变不中断,1表示数据值或格式类型改变中断,2表示值改变中断,缺省值为0;(12)中断出口记录记录类型(BEXT);(13)中断换页指示(BNPG),取值0表示不换页,1表示同一节内换页,2表示换节,可缺省,缺省值为0;(14)汇总域标识(TOTL),表示该域的数据汇总到指定的数据域;(15)汇总运算符(TOPR),取值“+”表示加入,“-”表示减去,R表示替换,“*”表示乘,C表示记数,缺省为“+”;(16)汇总方向(TDIR),取值V表示纵向汇总,H表示横向汇总,缺省为V。
步骤405创建报表备注信息区(COMMENT);步骤406创建报表描述结束标志(END)。
可见,通过步骤401~步骤406,就完成了创建表体结构。随后,利用应用环境,对表体结构进行编译,分别将报表属性区和报表体区、报表输入数据记录区、报表数据输出显示区,编译成三个系统文件,分别是表头文件、输入数据文件和输出数据文件,以上三个文件统一构成报表引擎文件,输入数据文件与输出数据文件统一称为数据文件。
至此,可以得到满足用户需求的报表结构,也就是报表引擎文件,它是报表的基本框架。
然后,通过递交JCL(作业控制语句,job control language)作业,调用大型机201中的报表生成设备211,解析用户请求,查找数据文件212,如果数据文件212不存在或数据类型不符合报表定义,就返回错误信息,不能为其生成报表。在成功查找到用户数据后,就可以利用先前创建的报表引擎文件(报表结构),生成报表。这一过程在应用环境下完成,也就是将用户数据存储到报表结构中的过程。
本发明提供了三种方式将生成的报表提供给用户或进行分发。
缺省情况下,将报表以文件形式保存,用户可通过FTP等协议进行下载。另外还包括打印,以及将报表插入目标数据库的形式。这三种分发方式是在生成报表之前可供用户选择的。
分发方式由通过在JCL作业中设置参数确定。例如,默认JCL调用RGRUN,采用第一种分发方式,以文件形式保存报表;在JCL中加上COPY=8参数时,采用第二种分发方式,将报表加入到大型机201作业信息队列,以便打印机对其进行打印;当调用RGRUND时,采用第三种分发方式,利用应用环境将报表插入到大型机201已存在的目标数据库中保存。
如图5所示,报表的分发过程包括步骤501生成报表;步骤502根据用户请求信息,判断用户选择了哪种分发方式1)选择了第一种分发方式,执行步骤503;2)选择了第二种分发方式,执行步骤504;3)选择了第三种分发方式,执行步骤505;步骤503将报表以文件形式保存;步骤504将报表加入到大型机201作业信息队列,以便大型机201对其进行打印;步骤505将报表添加到大型机201的目标数据库中保存。
对于本实施例,其中具体的数据以及数据类型只是为了更好地说明本发明,并不代表本发明只限于这些具体的数值。
可见,通过本发明提供的报表生成方法,用户只需发出生成报表请求,大型机201就会根据用户需要自动完成生成报表的过程,并且提供不同的方式对报表进行分发,给用户使用上带来了很大方便。同时,由于大型机201对自身保存的数据直接进行生成报表的操作,提供了大型机201的利用率和性价比,而且,对第一手数据进行处理,避免了数据的中间传输过程,提高了准确性。在针对某种报表类型第一次发出创建请求时,大型机完成创建此类型的表体结构,之后这种类型的表体结构就可以被重复使用,对于用户而言十分方便,对于大型机而言也节省了资源空间,只有在用户需要生成新类型的报表时,报表生成设备才对新类型报表的表体结构进行创建。
本发明还公开了一种报表生成设备211,如图6所示,包括对外接口单元601和报表中心单元602。此报表生成设备211利用大型机201的数据文件212保存的大量数据,自动生成报表,不需要别的报表生成系统的配合使用,而且,可以向用户提供多种报表分发方式,非常方便。
对外接口单元601负责报表生成设备211与外界的通信,包括接收用户请求、向用户显示报表、根据用户信息(标识)查找数据文件212并将数据提供给报表中心单元602等,起数据传输的作用,协助报表中心单元602工作。优选地,对外接口单元601还连接报表中心单元602与打印机203,负责将报表中心单元602生成的报表发送给打印机;对外接口单元601还与大型机201中的目标数据库213连接,负责将报表中心单元602生成的报表投递给目标数据库213。
报表中心单元602是报表生成设备211的核心组成部分,主要负责创建报表结构,并利用对外接口单元601获取的数据,生成报表,同时,报表中心单元602指示对外接口单元601工作。报表中心单元602根据对外接口单元601转发的用户生成报表请求,创建报表结构。具体创建过程如图3、图4,在此不再赘述。
优选地,报表生成设备211还包括报表文件存储单元603,主要用于将报表中心单元602生成的报表以文件的形式进行保存;在用户通过终端202下载报表文件时,通过向对外接口单元601请求,由对外接口单元601查找报表文件存储单元603获取报表并提供给终端202。
本发明还公开了一种报表生成系统,如图2所示,包括报表生成设备211与数据文件212。报表生成设备211与数据文件212是存在于大型机201内部的。报表生成设备211是报表生成系统的核心,主要负责创建报表结构、查找数据文件212获取数据,以及利用报表结构和数据生成报表。报表生成设备211还用于接收用户请求和向用户显示报表。优选地,报表生成设备211还将报表以文件形式保存。
数据文件212保存有大量数据,根据报表生成设备211发送来的用户信息对自身保存的数据进行查找,为报表生成设备211提供用户对应的数据。
优选地,报表生成系统还包括目标数据库213,用于存储报表生成设备211生成的报表,目标数据库213也存在于大型机201内部。
优选地,报表生成系统还包括打印机203,连接报表生成设备211,对其提供的报表进行打印。
报表生成系统还包括一个或多个用户终端202,用于保存报表,方便用户使用。终端202获取并保存报表可通过以下三种方式实现设置终端202与报表生成设备211连接,例如以网络形式连接,通过网络下载报表;或者,以移动存储设备(U盘)复制的形式将报表文件转移到终端202保存,或者,设置终端202通过网络服务器与目标数据库213连接,下载目标数据库213中存放的报表。
最后,为了使本发明阐述的技术方案更加清晰,以一个简单的应用实例来说明。
如图7所示,此应用实例包括步骤701在IBM System/390系列大型机的MVS/ESA操作系统下,用户运行报表生成设备211;步骤702用户输入有关对报表的需求信息,比如要生成报表的类型,例如财务报表,同时还可选择报表分发方式,例如以文件形式保存以及打印;步骤703报表生成设备211判断财务报表的报表结构是否已经存在,若是,直接查找并利用,否则,根据用户需求信息创建报表结构;其中,报表结构以表头文件、输入数据文件和输出数据文件形式存在;
步骤704报表生成设备通过用户信息,查找数据文件212,获取此用户对应的数据;步骤705报表生成设备211将用户数据存储到报表结构中,生成报表;步骤706报表生成设备211将生成的报表以文件形式保存,同时,将报表发送给打印机203进行打印;步骤707退出运行报表生成设备211。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
权利要求
1.一种报表生成方法,其特征在于包括在保存有用户数据的大型机内部设置报表生成设备;报表生成设备接收用户发送的生成报表请求,创建包括表头、数据区域的报表结构,同时,获取大型机保存的、与该用户对应的数据;将数据存储到报表结构中,在大型机内部生成报表。
2.根据权利要求1所述的报表生成方法,其特征在于,所述方法还包括将报表以文件形式保存,或将报表加入到大型机作业信息队列,或将报表插入到大型机中已存在的目标数据库保存。
3.根据权利要求2所述的报表生成方法,其特征在于,所述方法还包括终端通过网络下载报表文件;或者,利用移动存储设备将报表文件转移到用户终端。
4.根据权利要求1、2或3所述的报表生成方法,其特征在于,创建报表结构是由以下步骤实现的根据用户需求创建表体结构;对所述表体结构在应用环境下进行编译,生成报表引擎文件,所述报表引擎文件包括表头文件和数据文件。
5.根据权利要求4所述的报表生成方法,其特征在于,所述应用环境包括COBOL语言运行环境;创建表体结构是在所述COBOL语言运行环境下由以下步骤实现的创建报表属性区;创建报表体区;创建报表输入数据记录区;创建报表输出数据显示区;创建报表备注信息区。
6.一种报表生成设备,存在于大型机内部,利用大型机中的数据生成报表,其特征在于包括对外接口单元和报表中心单元;所述对外接口单元,用于接收用户发送的生成报表请求,以及向用户提供报表中心单元生成的报表;查找大型机并获取用户对应的数据,并将数据提供给中心报表单元;所述报表中心单元,用于创建包括表头、数据区域的报表结构,并将对外接口单元提供的数据存储到报表结构中,生成报表。
7.根据权利要求6所述的报表生成设备,其特征在于,所述设备还包括报表文件存储单元;所述报表文件存储单元,用于将报表中心单元生成并提供的报表以文件形式进行存储。
8.根据权利要求7所述的报表生成设备,其特征在于,所述报表文件存储单元,还用于接收对外接口单元发送的终端获取报表请求,查找报表文件并发送给对外接口单元,提供给终端。
9.一种报表生成系统,其特征在于包括报表生成设备和数据文件,所述报表生成设备和数据文件存在于大型机内部;所述报表生成设备,用于接收用户发送的生成报表请求,创建包括表头、数据区域的报表结构,同时,获取数据文件提供的、与该用户对应的数据;将数据存储到报表结构中,生成报表,并显示给用户;所述数据文件,保存有用户对应的数据,并在接收到查询请求时将数据提供给报表生成设备。
10.根据权利要求9所述的系统,其特征在于,所述系统还包括目标数据库,存在于大型机内部;所述目标数据库,用于保存报表生成设备生成的报表。
11.根据权利要求9或10所述的系统,其特征在于,所述系统还包括打印机;所述打印机,用于打印报表生成设备生成的报表;所述系统还包括一个或多个终端;所述终端,用于获取并保存报表生成设备生成的报表。
全文摘要
本发明公开了一种报表生成方法,该方法包括步骤在保存有用户数据的大型机内部设置报表生成设备;报表生成设备接收用户生成报表请求,创建包括表头、数据区域的报表结构,同时,获取大型机中与该用户对应的数据;将数据存储到报表结构中,在大型机内部生成报表,显示给用户。本发明能够实现对第一手数据进行加工、生成报表,可高效、准确地处理海量数据;同时,不需要另外使用报表生成系统,节省了再次投资与开发,增加了大型机的性价比;提供报表文件保存、打印、插入目标数据库三种方式对报表进行分发,不需要借助额外的用户终端,节省了资源;不会给用户终端增加新的工作负担,非常实用。本发明还公开了一种报表生成设备及系统。
文档编号G06F17/21GK1975739SQ200610170649
公开日2007年6月6日 申请日期2006年12月22日 优先权日2006年12月22日
发明者严志根, 孙玉华, 吴奔, 周健涌, 顾蓓, 王耀强, 江志辉, 施芸虹, 东凯 申请人:中国建设银行股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1