System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind() 一种SAP系统的数据同步方法技术方案_技高网

一种SAP系统的数据同步方法技术方案

技术编号:40228420 阅读:5 留言:0更新日期:2024-02-02 22:31
本发明专利技术涉及一种SAP系统的数据同步方法,方法包括:S1、自动获取SAP系统的源数据中的透明表和簇表的表结构定义,得到符合定义的透明表和簇表;S2、确定符合定义的透明表和簇表中待同步的数据的区间,并按照主机资源进行分组;S3、通过RFC函数并行获取待同步的透明表和簇表中待同步的数据;S4、将获取的待同步的数据并行分批存入待同步系统的数据库中;S5、将待同步系统的数据库中保存的透明表和簇表与SAP系统的源数据中的透明表和簇表进行核对,若核对结果存在错误则回到S2,若核对结果正确则回到S1,继续数据同步。与现有技术相比,本发明专利技术具有提高SAP系统的数据同步效率,支持簇表同步等优点。

【技术实现步骤摘要】

本专利技术涉及数据同步领域,尤其是涉及一种sap系统的数据同步方法。


技术介绍

1、sap系统一直被视为全球erp产品的领导者,国内有很多大型知名企业都是sap的使用者。但sap技术的封闭性,使得该软件的运维运营成本居高不下,企业有些需求场景也无法实现,需要对其进行信创替代。此项工作中因数据量巨大,sap的核心数据,尤其是簇表数据获取一直是一个技术难点。此前公司是使用abap开发程序读取簇表数据,输出到文本文件中,其他系统通过ftp获取文本文件,再实现数据导入。此方案存在效率低,可靠性差,数据处理繁琐,无法及时发现数据差异等问题。

2、当前常用的数据同步工具虽然能够实现异构数据之间稳定高效的数据同步功能,但当面对海量数据时,多存在数据延迟、数据遗漏等问题。同时,仅支持二维透明表的处理,不能够实现sap簇表系统间同步。


技术实现思路

1、本专利技术的目的就是为了提高sap系统的数据同步效率,支持簇表同步而提供的一种sap系统的数据同步方法。

2、本专利技术的目的可以通过以下技术方案来实现:

3、一种sap系统的数据同步方法,方法包括以下步骤:

4、s1、自动获取sap系统的源数据中的透明表和簇表的表结构定义,得到符合定义的透明表和簇表,符合定义的透明表包括bkpf凭证列表,符合定义的簇表为bseg行项目列表;

5、s2、确定符合定义的透明表和簇表中待同步的数据的区间,并按照主机资源进行分组,得到待同步的透明表和簇表;

6、s3、通过rfc函数并行获取待同步的透明表和簇表中待同步的数据;

7、s4、将获取的待同步的数据并行分批存入待同步系统的数据库中,完成簇表和透明表的同步;

8、s5、将待同步系统的数据库中保存的透明表和簇表与sap系统的源数据中的透明表和簇表进行核对,若核对结果存在错误则回到s2,若核对结果正确则回到s1,继续数据同步。

9、进一步地,待同步的簇表为待同步的bseg行项目列表,待同步的透明表为待同步的bkpf凭证列表和待同步的其他透明表;

10、s2的确定符合定义的透明表和簇表中待同步的数据的区间,并按照主机资源进行分组,得到待同步的透明表和簇表包括并行执行的s21和s22:

11、s21、获取初始bkpf凭证列表的状态,判断初始bkpf凭证列表的状态中的最大凭证号与待同步系统的数据库中的最大凭证号是否相同,若相同则回到s1,若不同则根据最大凭证号确定待同步的凭证号区间,获取区间对应的第一bkpf凭证列表,循环处理第一bkpf凭证列表,按照主机资源对第一bkpf凭证列表进行分组,得到m组bkpf凭证列表的子表,其中m为进程数,每个子表的凭证号的数量不超过阈值n,根据分组后的子表的凭证号段获取对应的m个第一bseg行项目列表,并对第一bseg行项目列表进行进一步拆分,得到第二bseg行项目列表,所述子表和第二bseg行项目列表分别为待同步的bkpf凭证列表和待同步的bseg行项目列表;

12、s22、读取sap系统的数据定义表,获取所有sap系统中其他透明表的所有字段,包括表名、字段名、字段类型和字段长度,生成字典列表,其中字典列表的字段名为其他透明表表名,字典列表的值为字段类型和字段长度组成的列表,所述其他透明表包括主数据表、业务数据表和配置表;

13、将字典列表按照并发进程数拆分成m个字典表组,所述m个字典表组为待同步的其他透明表。

14、进一步地,s3的具体步骤为:通过rfc函数,从sap系统中并行获取待同步的bkpf凭证列表、待同步的bseg行项目列表和待同步的其他透明表中的数据,所述待同步的bkpf凭证列表、待同步的bseg行项目列表和待同步的其他透明表中的数据为待同步的数据。

15、进一步地,对第一bkpf凭证列表进行分组,得到m组bkpf凭证列表的子表的具体过程为:

16、首先对第一bkpf凭证列表进行分组,直至直到每个分组内凭证号的数量不超过阈值n,然后对分组后的bkpf凭证列表再次分为m组,得到m组bkpf凭证列表的子表;

17、第二bseg行项目列表满足大小最大为t,t为bseg行项目列表的大小阈值。

18、进一步地,根据最大凭证号确定待同步的凭证号区间的步骤包括:计算初始bkpf凭证列表的状态中的最大凭证号与待同步系统的数据库中的最大凭证号之间的差,根据所述的差得到待同步的凭证号区间,所述初始bkpf凭证列表的状态还包括年份、公司和凭证号段。

19、进一步地,将获取的待同步的数据并行分批存入待同步系统的数据库中的具体步骤包括并行执行的s41和s42:

20、s41、m个进程对待同步的bkpf凭证列表的数据和待同步的bseg行项目列表的数据分别生成并一次性执行多条sql命令,将m组bkpf凭证列表的子表和第二bseg行项目列表存储入待同步系统的数据库中,更新待同步系统的数据库中的最大凭证号;

21、s42、m个进程对待同步的其他透明表的数据分别生成并一次性执行多条sql命令,将m个字典表组存储入待同步系统的数据库中,所述sql命令包括生成表命令、删除表命令和数据插入命令。

22、进一步地,将待同步系统的数据库中保存的透明表和簇表与sap系统的源数据中的透明表和簇表进行核对的具体步骤为:

23、将待同步系统的数据库中的日志表的按省按月汇总数与sap系统的汇总数进行核对,若两者不同,则说明核对结果存在错误,反之核对结果正确;

24、将待同步系统的数据库中的主数据表、业务数据表和配置表,以及sap系统的主数据表、业务数据表和配置表分别进行核对,若对应的表的数据总量不同,则说明核对结果存在错误,反之核对结果正确;

25、基于待同步系统的bseg行项目列表汇总sap系统中的行项目发生额以及科目月计表,同时汇总待同步系统的t表的发生额;分别将行项目发生额和t表的发生额与sap系统的行项目发生额和t表的发生额进行核对,若发生额不相同,说明核对结果存在错误,反之核对结果正确;

26、再将科目月计表和sap系统的t表进行核对,若对应的数据不同,说明核对结果存在错误,反之核对结果正确;

27、其中,汇总sap系统和待同步系统的行项目发生额时,采用科目、机构、年度、期间、金额作为汇总的维度。

28、进一步地,待同步系统的数据库中的日志表包括数据库中保存的bseg行项目列表中的凭证号、省机构代码和记账年月信息。

29、进一步地,将待同步系统的数据库中的日志表的按省按月汇总数与sap系统的汇总数进行核对之前,在确保本月账期关闭后,获取按省按月汇总bkpf凭证列表的凭证数量,得到待同步系统的数据库中的日志表的按省按月汇总数。

30、进一步地,汇总sap系统和待同步系统的行项目发生额时,采用科目、机构、年度、期间、金额作为汇总的维度。

31、进一步地,本文档来自技高网...

【技术保护点】

1.一种SAP系统的数据同步方法,其特征在于,方法包括以下步骤:

2.根据权利要求1所述的一种SAP系统的数据同步方法,其特征在于,待同步的簇表为待同步的BSEG行项目列表,待同步的透明表为待同步的BKPF凭证列表和待同步的其他透明表;

3.根据权利要求2所述的一种SAP系统的数据同步方法,其特征在于,S3的具体步骤为:通过RFC函数,从SAP系统中并行获取待同步的BKPF凭证列表、待同步的BSEG行项目列表和待同步的其他透明表中的数据,所述待同步的BKPF凭证列表、待同步的BSEG行项目列表和待同步的其他透明表中的数据为待同步的数据。

4.根据权利要求2所述的一种SAP系统的数据同步方法,其特征在于,对第一BKPF凭证列表进行分组,得到m组BKPF凭证列表的子表的具体过程为:

5.根据权利要求2所述的一种SAP系统的数据同步方法,其特征在于,根据最大凭证号确定待同步的凭证号区间的步骤包括:计算初始BKPF凭证列表的状态中的最大凭证号与待同步系统的数据库中的最大凭证号之间的差,根据所述的差得到待同步的凭证号区间,所述初始BKPF凭证列表的状态还包括年份、公司和凭证号段。

6.根据权利要求3所述的一种SAP系统的数据同步方法,其特征在于,将获取的待同步的数据并行分批存入待同步系统的数据库中的具体步骤包括并行执行的S41和S42:

7.根据权利要求6所述的一种SAP系统的数据同步方法,其特征在于,将待同步系统的数据库中保存的透明表和簇表与SAP系统的源数据中的透明表和簇表进行核对的具体步骤为:

8.根据权利要求7所述的一种SAP系统的数据同步方法,其特征在于,待同步系统的数据库中的日志表包括数据库中保存的BSEG行项目列表中的凭证号、省机构代码和记账年月信息。

9.根据权利要求8所述的一种SAP系统的数据同步方法,其特征在于,将待同步系统的数据库中的日志表的按省按月汇总数与SAP系统的汇总数进行核对之前,在确保本月账期关闭后,获取按省按月汇总BKPF凭证列表的凭证数量,得到待同步系统的数据库中的日志表的按省按月汇总数。

10.根据权利要求1所述的一种SAP系统的数据同步方法,其特征在于,得到符合定义的透明表和簇表的步骤包括:

...

【技术特征摘要】

1.一种sap系统的数据同步方法,其特征在于,方法包括以下步骤:

2.根据权利要求1所述的一种sap系统的数据同步方法,其特征在于,待同步的簇表为待同步的bseg行项目列表,待同步的透明表为待同步的bkpf凭证列表和待同步的其他透明表;

3.根据权利要求2所述的一种sap系统的数据同步方法,其特征在于,s3的具体步骤为:通过rfc函数,从sap系统中并行获取待同步的bkpf凭证列表、待同步的bseg行项目列表和待同步的其他透明表中的数据,所述待同步的bkpf凭证列表、待同步的bseg行项目列表和待同步的其他透明表中的数据为待同步的数据。

4.根据权利要求2所述的一种sap系统的数据同步方法,其特征在于,对第一bkpf凭证列表进行分组,得到m组bkpf凭证列表的子表的具体过程为:

5.根据权利要求2所述的一种sap系统的数据同步方法,其特征在于,根据最大凭证号确定待同步的凭证号区间的步骤包括:计算初始bkpf凭证列表的状态中的最大凭证号与待同步系统的数据库中的最大凭证号之间的差,根据所述的差得到待同步的凭证号区间,所述初...

【专利技术属性】
技术研发人员:郭莹钞萌李放谢建灵孙蕊刘梦迪徐鹏帮马明伦
申请(专利权)人:中国人寿保险股份有限公司上海数据中心
类型:发明
国别省市:

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

1