点击蓝字 关注我们
一
前言
之前写了一篇文章,介绍怎么同步外部数据库的任意表(付费文章无法添加链接,感兴趣的请自行在公众号中查找).当时就萌发了一个念头. 把这个工具扩展一下功能,设计成为一个数据同步平台.
这一周没怎么写公众号文章,原因之一就是在忙于设计开发这个平台.
本文主要介绍数据同步平台的功能
二
功能简介
数据同步平台 ZBC_SYNC_REMOTE_TABLE
数据同步平台可以完成数据在不同系统的表中同步,类似于LT的功能(超级简化版).
可以通过配置实现一些简单的接口(限定为数据通过中间表传递的方式).同时与ZIFLOG接口日志整合,作为整体接口设计的一个可选方案.
数据同步平台设计了如下功能, 目前大部分的功能已经实现(出站尚未支持)
-
全量/变化量方式同步
-
同时同步多个相关表
-
对源表的额外过滤条件
-
字段映射
-
两种同步方向:出站/入站支持
-
整合在接口集中监控
TIPS
SPRING
出站: 数据从ECC/S4系统同步到外部系统数据库
入站: 数据从外部系统数据库同步到ECC/S4系统
外部系统数据库可以是HANA,ORACLE,SQLSERVER等DBCO支持的数据库类型
关于DBCO的配置详见链接无峰,公众号:ABAP 技巧与实战ABAP基础知识 访问外部数据库-配置篇
三
ZIFLOG
ZTIFLOG作为接口集中监控平台,整合了以下接口方式的接口内容显示
-
RFC函数(界面内容显示)
-
直接调用外部系统的HTTP服务可以封装在RFC函数中(JSON内容显示)
-
通过PO的接口(XML内容显示)
-
数据同步平台实现的接口(表内容显示)
详见链接无峰,公众号:ABAP 技巧与实战SAP工具箱之 接口调用集中监控
四
两种处理模式
数据同步平台支持两种处理模式
-
接口模式
-
表模式
01
接口模式
接口模式需要配置接口相关的表
-
ZTIF002 接口定义
-
ZTSYNC_C1 同步数据库表配置
-
ZTSYNC_C2 同步数据库表-字段映射(特殊隐射规则),
ZTIF002中主要配置接口编号及接口的激活状态,记录日志,记录接口内容等信息
接口配置字段详见链接无峰,公众号:ABAP 技巧与实战SAP工具箱 自动生成发出接口程序(二 接口定义表)
ZTSYNC_C1 用于配置接口同步的主表,从表及主从表的关联字段,时间戳字段等信息
-
支持全量及变化量同步数据.
-
支持同时同步多个表:一个主表,多个从表
-
支持表同步的额外数据过滤
-
支持远程表与本地表的字段映射
-
支持复杂的字段映射关系
ZTSYNC_C2 可以不配置,此时需要确保目标表和源表字段一致(至少主键字段一致).
02
表模式
该模式下无需配置任何表, 但是平台只能简单的把指定表的所有记录从远程同步到本地,该模式可以用来快速实现不同ECC系统之间的数据同步或不同CLIENT的数据同步).
通过DB连接及集团限定,可以处理以下两种数据同步场景
同一个服务器不同CLIENT的同步(指定CLIENT,不指定DB连接,默认连接当前数据库)
不同的服务器的同步(指定CLIENT,指定DB连接)
五
执行过程
数据同步平台的执行过程
启动程序ZBC_SYNC_REMOTE_TABLE或事务代码ZSYNC
01
选择处理模式
接口模式下, 只能输入接口编号(接口对应的表及相关同步参数在配置表
ZTIF002/ZTSYNC_C1/ZTSYNC_C2中维护)
表模式下,允许输入需要同步的表,指定DB连接名称,接口方向等.
还需添加一个源集团限制(以便同步不同ECC系统的表)
为了数据安全,默认只同步Z开头的表(可以去掉勾选).
02
执行同步
如果勾选了显示详细日志. 执行后可以看到数据同步的结果,包含下述内容
-
接口编号
-
日志ID
-
表名
-
数据处理状态: S 成功 E 失败 R 回滚
-
读取条目数
-
写入条目数
-
持续时间(微秒)
-
执行的SQL语句
数据处理状态 R : 一个接口的多个表,如果有一个表同步失败,则其它表标记为状态 R.
03
显示同步内容
点击日志ID,可以跳转到ZIFLOG ,也可以单独执行事务代码 ZIFLOG,输入接口编号或时间查询
勾选日志编号,点击同步按钮, 可以查看本次同步的数据内容
如果接口存在多表, 会显示多表选择,如果单表,则不会出现该选择
显示本次同步的特定表的内容
如果同步出现错误,日志中会显示报错信息
六
总结
数据同步平台
-
尝试通过配置实现一些简单接口(从外部中间表读取或数据写入到外部中间表),
-
尝试部分取代LT(LT同步数据报错处理比较麻烦,如果源表结构改变,需要重新同步所有数据).
-
作为一个ECC/S4 不同系统,不同集团的数据同步工具.
关于LT详见链接无峰,公众号:ABAP 技巧与实战SAP操作手册之 LT数据同步配置
数据同步平台的变化量通过时间戳比较获取,这是获取变化量的最简单的方式,便是实现.只是需要源表中有一个时间戳字段,数据新建或修改后都会更新该字段内容.
系统所有的配置表可以通过一个统一方式添加时间戳.
详见连接无峰,公众号:ABAP 技巧与实战SAP小技巧 自定义配置表的简单日志
数据同步平台目前尚未在项目中应用,后续会尝试应用在一些数据同步的场景中,根据实际运行结果,再调整或补充功能.
THE
END
网友评论