SAP工具箱 数据同步平台( 一 简介 )

点击蓝字 关注我们

前言

之前写了一篇文章,介绍怎么同步外部数据库的任意表(付费文章无法添加链接,感兴趣的请自行在公众号中查找).当时就萌发了一个念头. 把这个工具扩展一下功能,设计成为一个数据同步平台.

这一周没怎么写公众号文章,原因之一就是在忙于设计开发这个平台.

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

功能简介

数据同步平台 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

你可能感兴趣的:(SAP工具箱 数据同步平台( 一 简介 ))