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

作者:ABAP技巧与实战 约 6 分钟阅读 更新日期:2025-03-02 1 年前更新 标签:ABAP, Data Engineering, SD, 开发, 数据工程, 销售分销

原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)

**点击蓝字** 关注我们

前言

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

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

数据同步平台的介绍

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

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247487015&idx=1&sn=584a97d471cfc430c62096fab64cf00a&chksm=cf5dd311f82a5a0735f9fbba6be9abd8150a8ac2d7e2a3cd3a33034202784af1ad5744fc7098&token=1910988871&lang=zh_CN#rd)

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

> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247487036&idx=1&sn=109d7a86c102ebd8f89e75c94df918dd&chksm=cf5dd30af82a5a1c9e911c98eeec606e5c6f7a81bd95142d8122bf7fa03f56dfce641e94d571&token=1910988871&lang=zh_CN#rd)

完善平台属性

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

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

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

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

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

SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图

图一

完善集团限制

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

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

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

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

SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图

SCHEMA支持方式

没要在配置表中添加表的schema(模式)属性. 一个主要的原因是通过用户或数据库连接配置已经可以指定schema.所以配置中弱化了这个概念.

如果确实涉及到同一个数据库的不同schema. 可以考虑配置成多个数据库连接,分别指向不同的schema.

SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图

完整了日志

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

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

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

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

SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图

对ORACLE的支持

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

_**01** _

**写入**

SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图

_**02** _

**更新写入**

SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图

取消本地依赖

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

作为同步平台,执行任意指定的两个系统之间的数据同步.

比如

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

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

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

• ......

特殊字段处理

特定数据库的特殊字段的写入语句中表达形式不一致. 比如ORACLE数据库, 字符需要添加单引号, 数字不能加单引号 ,日期需要用 to_date 函数转换.

这些细节在独立的方法中实现,后续可以方便的扩展对特殊类型的处理方式.

SAP 工具箱数据同步平台三改进 - 封面图
SAP 工具箱数据同步平台三改进 - 封面图

总结

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

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

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

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

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

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

• 针对ORACLE数据库的支持

• ......

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

ABAP技巧与实战

关于作者:ABAP技巧与实战

企业信息化与 SAP 技术顾问,长期专注 SAP ABAP、FI/CO、MM、SD 等模块的技术分享与实战经验总结。查看更多介绍

来源说明:本文内容由「SAP工具箱数据同步平台三改进.md」整理生成,仅用于内部技术分享与学习交流。