SAP系统与SQL数据库之间数据传输的方法技术方案

技术编号:6134951 阅读:767 留言:0更新日期:2012-04-11 18:40
SAP系统与SQL数据库之间数据传输的方法,包括以下步骤:(1)在SAP系统中构建提取SAP系统数据的SAP信息集查询;(2)在SQL数据库中设定从SAP信息集查询接收SAP系统数据的参数;(3)建立含有数据传输事件的SSIS执行包,运行SSIS执行包将SAP系统数据传输到SQL数据库中。本发明专利技术采用基于SAP系统信息集查询功能的数据抽取方式,调用低成本的SSIS数据集成解决方案平台,避免数据量过大,专业性、成本、后续运维费用过高的问题,实现无编程、简单设定即可实现数据的传输,有效降低开发及后续运维的庞大费用支出。同时,本发明专利技术还采用了科学的增量传输管理,能够免去庞大数据量的重复获取,降低了系统负荷,减少了数据传输时间。

【技术实现步骤摘要】

本专利技术涉及数据传输领域,具体来说是涉及一种针对企业资源计划(Enterprise Resource Planning,简禾尔ERP)软件SAP(Systems,Applications, and Products in Data Processing,以下简称SAP)与SQL数据库之间的数据传输方法。
技术介绍
随着电子商务技术、企业应用软件的发展日趋成熟,SAP (Systems, Applications, and Products in Data Processing) ^^ ^ ;SAP 也作为ERP行业的巨无霸,它的通用性几乎涵盖了各个行业的业务范畴。而SAP系统在企业用于管理、经营等数据分析时,由于SAP数据存储结构的特殊及复杂性,构建周期长及专业知识的要求,这就会使SAP中存储的大量宝贵的经营分析数据无法得到有效利用。根据IT市场专业调查公司Norkresearch在2005年11月的调查结果显示,有 23. 9%的用户SAP系统上线目的在于提高决策速度;与此同时Gartner公司(IT需求调查室)对SAP用户上线后的问题进行了相关问卷调查,结果显示同样有23. 9%的用户对SAP系统对于经营信息管理及决策支持上的解决方案表示不满。而目前,针对SAP数据分析的上述问题,现有常见的方案主要是1. SAPABAP (Advanced Business Application Programming, Ι^,ΤΜ^ABAP)专用编程语言定制数据分析报表,但是上述方式受数据量的限制,不适合大规模数据的统计。且受编程工具专业性的限制,编程人员的人工费相对较高,大幅的提升了开发费用,一旦业务发生变化报表内容、对象信息发生变化时势必产生再次修正等的运维费用。2.通过其他计算机语言和环境调用SAP系统的商业应用程序接口(Business Application Process Interface 以下简称 BAPI)禾口(Remote Function Call 以下简称 RFC)远程函数调用接口,但是这种解决方案同样涉及到开发技术要求和成本高,且开发周期长。业务发生变化的同时也造成了后续的再次修正等运维费用。3.使用 SAP BW (Business informationWarehouse)的性能来实现数据的传输,但是该方式由于专业性、成本、后续运维费用过高而无法被大部分企业采纳。
技术实现思路
针对上述问题,本专利技术的目的是提供一种SAP系统与SQL数据库之间数据传输的方法,调用低成本的SSIS (SQL Server Integration Service ;以下简称SSIS)高性能数据集成解决方案平台,避免数据量过大,专业性、成本、后续运维费用过高的问题,实现了无编程、简单设定即可实现数据的传输。为了达到上述目的,本专利技术的技术方案如下。SAP系统与SQL数据库之间数据传输的方法,包括以下步骤(1)在SAP系统中构建提取SAP系统数据的SAP信息集查询;(2)在SQL数据库中设定从SAP信息集查询接收SAP系统数据的参数;(3)建立含有数据传输事件的SSIS执行包,运行SSIS执行包将SAP系统数据传输到 SQL数据库中。进一步,上述步骤(1)具体包括以下步骤(1. 1)定义SAP信息集查询从SAP系统中的数据表、视图、逻辑数据库中提取的SAP系统数据;(1. 2)定义SAP信息集提取SAP系统数据的方式,其包括数据的筛选条件和输出形式。所述步骤(2)具体包括以下步骤(2.1)设定SQL数据库与SAP系统的连接属性;(2. 2)创建查询记录文件,并定义该查询记录文件调用的SAP信息集查询,以及接收 SAP信息集查询输出数据的SQL数据库表;(2. 3)根据查询记录文件的定义生成SQL数据库表,所述SQL数据库表包括中间表和全镜像表,并定义全镜像表的主键字段。所述步骤(3)具体包括以下步骤 (3. 1)创建SSIS执行包;(3. 2)定义SSIS执行包内的数据传输事件以及各事件中的变量,所述数据传输事件包括中间表数据传输、全镜像表数据传输;(3. 3)运行SSIS执行包,将SAP系统数据传输到SQL数据库表中。更进一步,所述步骤(3. 3)中,运行SSIS执行包的步骤包括(3. 3. 1)将从SAP信息集查询中提取的SAP系统数据写入中间表中;(3. 3. 2)将中间表中的数据传输到全镜像表中;(3. 3. 3)将运行结果写入日志,SSIS执行包正常结束或执行出错处理。优选的,所述步骤(3. 3. 1)中,中间表中的数据类型为Unicode型文本。优选的,所述步骤(3. 3. 1)中,在写入中间表前还包括根据预先设定的结构转换函数对SAP信息集查询输出的数据进行表结构变更处理。优选的,所述步骤(3. 3. 2)中,全镜像表中的数据类型通过预先设定的变换函数转换成与SAP信息集查询中的数据类型一致。优选的,当步骤(3. 2)中设置的变量包括数据抽取用键值变量,则在步骤(3. 3. 2) 的全镜像表数据传送成功后,还包括根据设置的数据抽取用键值变量进行变量更新处理。所述步骤(3. 3. 2)中,中间表数据传输到全镜像表中的方式采用全项传输或增量传输。所述增量传输是根据全镜像表中定义的主键字段对中间表数据进行匹配,可以采用根据匹配结果添加全镜像表没有的数据,并更新全镜像表中已经存在的差异数据。也可以根据匹配结果删除全镜像表里已经存在的数据后,再添加中间表中的差异数据。所述步骤(1. 2)之前还包括,将定义的SAP信息集查询进行分组化处理。又,所述步骤(2. 3)中还包括定义语言转换视图及其对应的语言转换字典,所述步骤(3. 3. 2)中还包括根据定义的语言转换视图及语言转换字典对全镜像表中的字段进行语言转换处理。本专利技术的主要优点如下。如上述本专利技术的数据传输方法,由于采用了基于SAP系统信息集查询功能的数据抽取方式,免去了 SAP系统ABAP专业性开发语言定制报表的操作;执行数据传输采用目前成熟的SSIS执行包(SSIS Package),通过简单的事件参数定义即可立即实现数据传输,便捷地实现SAP与SQL数据库之间的数据传输。因此,本专利技术大幅缩短了 SAP系统的ABAP开发周期,同时操作简便,极大程度的减少了专业知识的要求,能够有效降低开发及后续运维的庞大费用支出。另外,本专利技术在数据接收端SQL数据库中分别建立中间表和全镜像表,采用SSIS 执行包分步完成对中间表和全镜像表的数据传输。全镜像表对中间表传输的数据和以前传输的数据进行增量合并,从而实现了先进科学的增量传输管理,能够免去庞大数据量的重复获取,降低了系统负荷,减少了数据传输时间。附图说明图1是本专利技术SAP系统与SQL数据库之间数据传输方法的流程示意图。图2是本专利技术数据传输方法一实施例的详细流程示意图。图3是本专利技术数据传输方法中SSID执行包运行的流程示意图。图4是本专利技术数据传输方法中SAP信息集查询输出的特殊数据形式的示例图。图5、图6是本专利技术中定义SAP信息集查询提取数据的界面示意图。图7、图8是本专利技术中对SAP信息集查询分组化处理界面示意图。图9是本专利技术中定义SAP信息集查询提取数据方式的界面示意图。图10是本专利技术中设置SA本文档来自技高网
...

【技术保护点】
1.SAP系统与SQL数据库之间数据传输的方法,其特征是,包括以下步骤:(1)在SAP系统中构建提取SAP系统数据的SAP信息集查询;(2)在SQL数据库中设定从SAP信息集查询接收SAP系统数据的参数;(3)建立含有数据传输事件的SSIS执行包,运行SSIS执行包将SAP系统数据传输到SQL数据库中。

【技术特征摘要】

【专利技术属性】
技术研发人员:柳沢学
申请(专利权)人:上海电通信息服务有限公司
类型:发明
国别省市:31

相关技术
    暂无相关专利
网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1