一
前言
数据同步平台是在ABAP中开发的一个数据同步工具,类似于LTRC,通过配置实现任意两个数据库的数据同步(ABAP需要配置相关的外部数据库连接).
数据同步平台的底层通过调用ADBC类实现远程数据库的读取,写入.
本文主要介绍怎么通过数据同步平台快速开发一个接口
数据同步平台的相关介绍
查看链接
无峰,公众号:ABAP 技巧与实战SAP工具箱 数据同步平台( 一 简介 )
二
创建一个中间表
这个DEMO表ZTDEMO_MAMRA就是外围系统用于接收数据的中间表. (因为系统暂时没有外围MS SQL数据库的驱动,用SAP 另外一个系统的 HANA表替代).
三
配置连接外部数据库
详见链接
无峰,公众号:ABAP 技巧与实战ABAP基础知识 访问外部数据库-配置篇
这里配置一个HANA数据库的连接, 如果是其它类型的数据库,可能需要在应用服务器上安装数据库驱动.
四
创建一个CDS视图
通过CDS视图完成以下任务
1. 对于没有时间戳的表,通过最后修改日期,修改时间(可以没有)组合出时间戳字段. 或者在主数据中增强一个时间戳字段, 保存时记录当前时间戳.
2. 把接口所需的字段整合在一个视图中.
参照目标表结构创建视图. CDS视图本身已经限制了CLIENT . 视图中无需添加MANDT字段, 系统对于集团相关的视图会自动添加(CDS视图通过ECLIPS创建,SE11仅能显示)
使用 '000000'虚拟时间戳有个问题: 当天执行后, 当天变化的商品可能无法识别变化量. 因为时间戳不在上次执行的结束时间戳和当前时间戳之间. 最好能增强一个时间戳识别. 也可以考虑使用当前时间拼接为时间戳. 解决这个问题.
也可以通过改进数据同步平台,添加配置项解决这个问题.
创建CDS视图可以参考S4中的示例程序
DEMO_CDS* 这些示例程序详细介绍了CDS视图的创建及ABAP中的使用方式
SE16N显示CDS视图内容,可以看到系统自动添加的MANDT字段.
五
配置接口
可以用SE16N编辑表内容. 如果系统SE16N无法进入编辑模式, 尝试使用函数SE16N_INTERFACE输入表名及编辑参数编辑表内容
请登录中文环境配置(暂时未翻译)
ZTTSYNC_C1/ZTIF002
因为DDL视图定义的名称和中间库的表名不一致, 这里需要配置表的对应关系. 如果DDL视图定义名称与中间库的表名一致, 则只需要填写一个表名
六
执行
执行TCODE ZSYNC, 可以通过定义对应程序的后台作业定时执行.
执行成功信息
成功信息中可以看到数据查询的SQL语句及数据写入的SQL语句
七
日志查看
点击程序调用ID字段,可以跳转到日志查询,
选中日志行, 点击同步按钮, 可以查询本次传递的明细数据
HANA中查询表的内容
八
变化量执行
定义后台作业时,需要选择参数变化量执行. 这样,数据同步平台按时间戳获取变化的数据下传.
如下图, 已经下传过的数据, 变化量下传时,条目数为0.
九
总结
数据同步平台比较适合与创建ECC把数据写入外围系统中间表的接口场景.
在这个场景中. 相关业务逻辑通过CDS视图实现后, 简单配置接口同步平台即可完成接口功能,同时有详细的日志功能. 可以查看本次同步的数据内容.
THE
END
约定
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
(如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)
公众号 : syjf1976_abap
ABAP开发技巧
微信号 : 392077