美文网首页简友广场SAP想法
SAP工具箱 数据同步平台(三 改进)

SAP工具箱 数据同步平台(三 改进)

作者: syjf1976_abap | 来源:发表于2021-12-20 19:23 被阅读0次

    点击蓝字 关注我们

    前言

    最近使用数据同步平台时,发现不太顺手,又做了一些优化.同时增加了数据同步平台对ORACLE数据库的支持

    本文主要介绍数据同步平台的改进功能

    数据同步平台的介绍

    详见链接无峰,公众号:ABAP 技巧与实战SAP工具箱 数据同步平台( 一 简介 )
    详见链接无峰,公众号:ABAP 技巧与实战SAP工具箱 数据同步平台( 二 配置 )

    完善平台属性

    配置表中添加了源数据库连接,目标数据库连接字段.同时在表模式的选择界面也添加了这些参数.

    • CON_NAME 源数据库连接(DEFAULT表示连接当前系统)

    • CON_NAME_TAR 目标数据库连接(DEFAULT表示连接当前系统)

    • WRITE_METHOD写入目标数据库的模式( 如图一) 目前支持写入模式和更新写入模式

    这样改进了工具的平台属性, 可以安装在第三方系统中执行.

    图一

    完善集团限制

    作为一个安装在ABAP系统中的工具, 对ABAP表常用的集团属性提供了更多的支持.

    添加了源集团/目标集团并允许为空. 这样可以更加明确的限制表的集团属性.

    MANDT_SOU源集团(如果源表是SAP的集团相关表, 必须指定集团信息)

    MANDT_TAR目标集团(目标系统是SAP的集团相关表,需要指定目标集团)

    SCHEMA支持方式

    没要在配置表中添加表的schema(模式)属性. 一个主要的原因是通过用户或数据库连接配置已经可以指定schema.所以配置中弱化了这个概念. 如果确实涉及到同一个数据库的不同schema. 可以考虑配置成多个数据库连接,分别指向不同的schema.

    完整了日志

    日志中添加了写入SQL语句,不同的数据库写入语句不一样,目前支持三种写入语句

    • OPEN SQL 对于目标系统是DEFAULT(当前系统的数据库), 使用OPEN SQL MODIFY 语句写入

    • HANA SQL 对于目标系统是HANA数据库,使用ADBC HANA特性数据写入 INSERT 更新写入 UPSERT

    • ORACLE SQL 对于其它数据库,使用特定的写入语句 写入 INSERT 更新写入 merge ...

    对ORACLE的支持

    对ORACLE数据库,生成特定的数据库SQL语句完成写入 或者更新写入的操作

    01

    写入

    02

    更新写入

    取消本地依赖

    之前会通过程序执行所在的系统获取目标表的结构,集团字段等信息. 这种依赖会弱化程序的平台属性. 取消这些依赖后, 该程序可以安装在任意一个ABAP系统中. 作为同步平台,执行任意指定的两个系统之间的数据同步.

    比如

    • S4D 开发系统执行在CAD 与外部数据库之间同步

    • S4D 开发系统执行在 S4Q 与外部数据库之间同步

    • S4Q 测试系统执行在S4D与S4P之间的同步

    • ......

    特殊字段处理

    特定数据库的特殊字段的写入语句中表达形式不一致. 比如ORACLE数据库, 字符需要添加单引号, 数字不能加单引号 ,日期需要用 to_date 函数转换. 这些细节在独立的方法中实现,后续可以方便的扩展对特殊类型的处理方式.

    总结

    通过这次改进后,数据同步平台更加名副其实.基本上具备了一个平台雏形.

    • 无需配置或简单配置后,可以实现两个系统的表内容的同步.

    • 详细的日志记录错误信息

    • 同接口整合的日志功能(基于配置的同步)

    • 记录读取和写入的SQL语句,以便分析错误

    • 针对ABAP表的集团属性做了特定的处理.更加适于ABAP数据库使用

    • 针对ORACLE数据库的支持

    • ......

    但因为缺少大量验证,可能会有一些特殊的字段在同步时会出现问题. 这个数据平台还需要在项目实际应用中经历更多的洗礼,改进与完善。

    相关文章

      网友评论

        本文标题:SAP工具箱 数据同步平台(三 改进)

        本文链接:https://www.haomeiwen.com/subject/amsvfrtx.html