SAP工具箱 同步外部数据库任意表

前言

前文介绍过怎么通过ABAP访问外部数据库

配置篇,详见链接无峰,公众号:ABAP 技巧与实战ABAP基础知识 访问外部数据库-配置篇
开发篇,详见链接无峰,公众号:ABAP 技巧与实战ABAP基础知识 访问外部数据库-开发篇

本文主要介绍一个简单的工具

同步外部数据库的任意表到ECC/S4的表中

通过文末的代码,大家也可以了解一下ABAP怎么通过ADBC动态访问外部数据库表

程序执行

输入需要同步的数据库连接(详见配置篇). 需要同步的表名,及读取数据的限制条目.

执行后,提示成功的记录数

该程序连接外部ORACLE数据库及外部HANA数据库,测试通过

注意事项

程序主要从外部数据库读取表内容写入同名本地表中

需要同步的表需要在ECC/S4系统中存在并且远程数据库的表关键字必须与本地表一致(因为使用modify 从内表更新表, 如果主键不一致,会导致更新后的数据减少)

非关键字段无需一致,同名字段自动赋值.

每次执行只能同步一个表的内容,如果需要批量同步多个表,需要再写一个程序调用该程序.

外部系统也可以是ECC/S4系统. 这样就可以实现两个ECC系统中的表数据内容同步了.

该程序未对日期字段做特殊处理,实际应用时需要调整读取外部系统的SQL语句.

源代码截图

程序实现代码非常简单, 动态读取外部表内容的FORM详见文末源代码部分.

动态读取外部表内容部分有详细的注释,解释每个语句的含义.

总结

同步外部数据库的表到ECC/S4系统是ADBC访问数据库的一个简单应用. 在这个基本功能的基础上,通过补充部分配置信息,可以实现一个简单的LT系统(SAP的一个数据底层数据同步工具)

关于LTRC的配置详见链接无峰,公众号:ABAP 技巧与实战SAP操作手册之 LT数据同步配置

待增加功能:

  • 补充配置表维护需要同步的表,同步周期,时间戳字段名,上次时间戳值等

  • 简单过滤条件(只同步需要的数据)

  • 补充配置表维护字段隐射关系(包含内容转换关系)

  • 实现双向同步

  • ......

后续考虑补充上述逻辑实现这个简单的数据同步工具.

你可能感兴趣的:(SAP工具箱 同步外部数据库任意表)