本发明属于企业信息化管理,具体涉及一种基于sap平台利用doi技术直接生成excel报表的方法。
背景技术:
1、现在需要打印、上交的报表一般都是excel文件,较行格式文件,格式更美观、结构更清晰。目前很多家企业都实施了sap系统,系统中开发了大量报表,大多是abap语言,alv格式显示,用ole技术导出excel文件,ole导出速度较慢,在导出时,以肉眼可见的速度在excel文件上一行一行的出现,如果需要导出大量数据的话,等待时间漫长,无法满足用户使用需求。
2、在sap系统中,自开发报表的实现方式有三种,1、abap语言开发。2、query+abap开发。3、报表汇制器开发。最快速最简单的开发是第3种,这种方法是sap公司面向终端用户的一种开发工具,但是对于广大用户来说,计算机技术门槛依然较高,广大用户依然没有能力自行出具符合国内格式需求的excel报表,所以目前报表的开发及修改工作依然都在开发员身上。一旦报表格式有变化,就需要开发人员修改程序,先沟通再修改再测试,如果测试不通过,重复进行沟通修改测试,耗时耗力。
3、目前sap系统现有excel报表开发方式无法满足终端用户自行修改自开发报表的需求,所以需要一种新方法,利用doi技术实现按用户配置快速出具excel报表的方法,来解决sap系统用户根据业务变化自行配置报表格式和实现快速开发sap系统excel报表的问题。
技术实现思路
1、本发目的是提供一种基于sap平台利用doi技术直接生成excel报表的方法,通过借助sap平台封装技术、doi技术实现生成excel报表及数据导出,实现用户可自行设计模板,实现提高开发速度、缩短开发时间,缩短报表查询显示时间,有效的解决了背景技术中存在的上述问题。
2、为实现上述目的,本发明提供如下技术方案:一种基于sap平台利用doi技术直接生成excel报表的方法,步骤如下:
3、步骤s1,创建用于功能封装的include程序,便于程序调用;
4、步骤s2,创建doi调用函数,实现根据入口参数取用sap系统库中excel报表模板,并进行模板显示;
5、步骤s3,创建excel单元格数据填充函数;
6、步骤s4,创建excel保存功能函数;
7、步骤s5,创建功能菜单函数“返回”和“保存”功能;
8、步骤s6,向sap系统上传excel模板,借助sap系统的标准功能oaor上传excel模板文件,需要输入传递类名称、分类型和对象代码变量三个变量,然后上传用户设计好格式的excel模板文件;
9、步骤s7,创建报表查询程序,调用封装程序和报表模板进行报表展示。
10、优选的,所述步骤s2中,包含以下步骤:
11、步骤s201,创建doi调用函数,设置入参数;
12、步骤s202,获得doi接口数据并赋值给变量;
13、步骤s203,检查容器是否有效,如果有效对容器进行初始化,并在容器中运行excel程序,容器无效返回报错信息;
14、步骤s204,按入参检查保存在业务文档服务中的excel模板是否有效,如果有效,打开excel模板,如果无效,返回报错。
15、优选的,所述步骤s7中,包含以下步骤:
16、步骤s701,引入include包,实现封装调用;
17、步骤s702,创建gui状态;
18、步骤s703,执行数据查询,将查询结果放在内表中;
19、步骤s704,调用封装包里的报表生成函数;
20、步骤s705,调用封装包里数据填充函数;
21、步骤s706,调用封装包里的菜单功能函数,在主程序中创建gui状态,在程序中初始化,可直接使用封装包里的菜单功能函数“返回”和“保存”功能。
22、与现有技术相比,本发明的有益效果是:本发明提出的一种基于sap平台利用doi技术直接生成excel报表的方法,通过借助sap平台封装技术、doi技术实现生成用户配置快速出具excel报表及数据导出,实现用户可自行设计模板,实现提高开发速度、缩短开发时间,缩短报表查询显示时间。
1.一种基于sap平台利用doi技术直接生成excel报表的方法,其特征在于:步骤如下:
2.根据权利要求1所述的一种基于sap平台利用doi技术直接生成excel报表的方法,其特征在于:所述步骤s2中,包含以下步骤:
3.根据权利要求1所述的一种基于sap平台利用doi技术直接生成excel报表的方法,其特征在于:所述步骤s7中,包含以下步骤: