SAP工具箱 数据同步平台( 七 创建一个接口)

前言

数据同步平台是在ABAP中开发的一个数据同步工具,类似于LTRC,通过配置实现任意两个数据库的数据同步(ABAP需要配置相关的外部数据库连接).

数据同步平台的底层通过调用ADBC类实现远程数据库的读取,写入.

本文主要介绍怎么通过数据同步平台快速开发一个接口

数据同步平台的相关介绍

查看链接

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

创建一个中间表

这个DEMO表ZTDEMO_MAMRA就是外围系统用于接收数据的中间表. (因为系统暂时没有外围MS SQL数据库的驱动,用SAP 另外一个系统的 HANA表替代).

8201851b4bede896aa60c96c7b934752.png

配置连接外部数据库

详见链接

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

这里配置一个HANA数据库的连接, 如果是其它类型的数据库,可能需要在应用服务器上安装数据库驱动.

3e63ba319c3c3db9a402fca42abea079.png

创建一个CDS视图

通过CDS视图完成以下任务

1. 对于没有时间戳的表,通过最后修改日期,修改时间(可以没有)组合出时间戳字段. 或者在主数据中增强一个时间戳字段, 保存时记录当前时间戳.

2. 把接口所需的字段整合在一个视图中.

参照目标表结构创建视图. CDS视图本身已经限制了CLIENT . 视图中无需添加MANDT字段, 系统对于集团相关的视图会自动添加(CDS视图通过ECLIPS创建,SE11仅能显示)

使用 '000000'虚拟时间戳有个问题: 当天执行后, 当天变化的商品可能无法识别变化量. 因为时间戳不在上次执行的结束时间戳和当前时间戳之间. 最好能增强一个时间戳识别. 也可以考虑使用当前时间拼接为时间戳. 解决这个问题.

也可以通过改进数据同步平台,添加配置项解决这个问题. 

创建CDS视图可以参考S4中的示例程序

DEMO_CDS* 这些示例程序详细介绍了CDS视图的创建及ABAP中的使用方式

6a3f9c77c9f82e9a03a095c019e2ec9d.png

SE16N显示CDS视图内容,可以看到系统自动添加的MANDT字段.

2544894dd62c8f255a59b03a09bb81d0.png

配置接口

可以用SE16N编辑表内容. 如果系统SE16N无法进入编辑模式, 尝试使用函数SE16N_INTERFACE输入表名及编辑参数编辑表内容

请登录中文环境配置(暂时未翻译)

ZTTSYNC_C1/ZTIF002

因为DDL视图定义的名称和中间库的表名不一致, 这里需要配置表的对应关系. 如果DDL视图定义名称与中间库的表名一致, 则只需要填写一个表名

ae95513bacbc6aec8a396b06a082de7f.png

00520d92f913a4a10c643d9b4644cbf4.png

执行

执行TCODE ZSYNC, 可以通过定义对应程序的后台作业定时执行. 

cec3cf26d78e456a45b60137d7c49a0d.png

执行成功信息

成功信息中可以看到数据查询的SQL语句及数据写入的SQL语句

89675587268353df3b5f7937ef792eeb.png

418de085daefe7de2902e47bc7c64c65.png

日志查看

点击程序调用ID字段,可以跳转到日志查询,

选中日志行, 点击同步按钮, 可以查询本次传递的明细数据

450e5035ea6821e42c1123ddbfb59113.png

4b4de0ecb955b25bf5a35d79abbb1a49.png

HANA中查询表的内容

e6fd80e501afba147223b5614b92171f.png

变化量执行

定义后台作业时,需要选择参数变化量执行. 这样,数据同步平台按时间戳获取变化的数据下传.

如下图, 已经下传过的数据, 变化量下传时,条目数为0.

3a68e3b563664d3bd4de39c382d2ff7d.png

5ba2640f41f634784224581413cc364e.png

总结

数据同步平台比较适合与创建ECC把数据写入外围系统中间表的接口场景. 

在这个场景中. 相关业务逻辑通过CDS视图实现后, 简单配置接口同步平台即可完成接口功能,同时有详细的日志功能. 可以查看本次同步的数据内容.

THE

END

约定

如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.       

    (如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程. 越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.)

3ff0ca02dae8210ba4f9940c3b2806c2.png

公众号 : syjf1976_abap

          ABAP开发技巧

微信号 : 392077

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值