原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)
**点击蓝字** 关注我们
一
前言
数据同步平台是在ABAP中开发的一个数据同步工具,类似于LTRC,通过配置实现任意两个数据库的数据同步(ABAP需要配置相关的外部数据库连接).
数据同步平台的底层通过调用ADBC类实现远程数据库的读取,写入.
在数据同步平台的开发过程中,有一个闪念: 怎么把数据同步平台同PO调用结合(PO是SAP的接口中间件产品).借助新项目的机会完成了这个闪念.
**本文主要介绍数据同步平台与PO的结合(适用于从S4通过异步接口发出数据的场景)**
二
开发接口的步骤
先看看整合后,通过数据同步平台开发下传接口(S4发出数据)的过程.以下配置的前提是PO配置完成. (PO配置部分没有包含在这个过程中)
_**01** _
**创建一个视图**
系统中需要包含以下三类字段
• 接口所需的字段
• 过滤条件所需的字段
• 时间戳字段
_**02** _
**配置一个接口**
数据同步平台的其它配置可以参考
> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP工具箱 数据同步平台( 七 创建一个接口)
> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247487649&idx=1&sn=b168625c899f41c8c4e773104a1a9fee&chksm=cf5dcd97f82a4481740550b14cf90c4c0e1c6cd44021120f6125b0a9d9bea328d14942669c6a&token=840744774&lang=zh_CN#rd)
_**03** _
**配置接口控制**
三
测试接口
测试接口的过程与数据同步平台的其它执行步骤一致,参阅前文可以看到更多细节介绍,本文只介绍和PO整合的相关信息
_**01** _
**TCODE SYNC**
执行ZSYNC 输入接口编号,选择初始化(全量),显示详细日志
_**02** _
**输入过滤条件**
所有视图字段都可以通过动态选择后作为过滤条件
_**03** _
**查看执行结果**
执行后,可以看到直接结果
结果中可以看到本次读取数据的条目数,及读取的SQL语句等信息,如果有报错,这里也会显示报错信息
_**04** _
**查看接口日志**
如果没有报错,会有一个程序调用ID号:点击程序调用ID,进入接口监控,
可以看到每个消息包的总单数, 总行数
_**05** _
**查看消息**
点击消息标识.可以查看XML内容
_**06** _
**变化量执行**
变化量基于时间戳的比较实现. 如果单据不存在时间戳, 可以通过增强给单据添加一个最后修改的时间戳, 或者通过CHANGE DOCUMENT(表CDHDR
/CDPOS) 构造一个单据的时间戳视图,在接口视图中关联使用.
四
下传接口类型归纳
上述示例使用了最常见的主从结构.S4通过PO传递数据最常见的四种结构,前三种是最常见的接口结构,占项目中下传接口的大多数
• 单表结构
• 主从结构
• 主主结构
• 复杂结构
_**01** _
**单表结构**
BODY是数组(0..unbound)节点 (其中的HEAD是控制节点:记录接口编号,消息号,源系统,目标系统等信息) 单表结构主要用于传递主数据
_**02** _
**主从结构**
BODY 是数组节点,其中一个子节点 ITEM是数组节点 主从结构主要用于传递只包含抬头/行项目的单据,
_**03** _
**主主结构**
BODY 和ITEM 是并列的数组节点, 主主结构也是用于传递抬头/行项目的单据.适用于目标是中间库的接口. 分别写入两个表
_**04** _
**复杂结构**
主表带有多个从表, 或者从表带有从表的结构. 这种结构通过配置完成主从表的获取及复制,通过预留的出口函数完成其它部分的赋值.
五
配置
数据同步平台针对PO整合的特定配置
目标数据库配置为PO
指定PO的接口(SERVICE INTERFACE)
指定PO对象的节点
指定下传接口的类型
指定消息中的单数
PO相关的接口, 程序内部会抑制每个包的条目数(PACKAGE_NUM)的设置, 强制设置为0.
大数据量传递可以通过分组字段GROUP_FIELDS 来实现系统自动拆分数据, 详见链接
指定相应字段
• 分发的系统识别字段: 用来识别分发到不同的系统或服务器的内容
• PO调用的分组字段
• 额外的排序字段
复杂结构的处理函数
对于复杂接口,或者一般结构中的特殊逻辑, 可以通过配置增强函数来补充完成接口数据的赋值(复杂结构,可以配置成主从结构,
数据同步平台取数逻辑完成主从部分的赋值,其它部分在增强函数中赋值)
六
总结
数据同步平台整合PO调用: 把数据同步平台与PO的调用完美整合在一起,在完成PO的配置的基础上,
S4系统中把数据获取逻辑整合在CDS视图中,然后通过简单配置即可完成一个下传接口.
其中对PO的调用只需要在配置中指定关键指标即可. 数据同步平台通过对PO对象所在表(SPROXHDR/SEOSUBCODF/ SPROXDAT
)的解析,完成赋值和调用的过程.
** THE **
** END **
**约定**
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
( **如果你真的喜欢这篇文章,请记得回来打个赏,作为支持我继续下去的动力,这是一个正反馈过程.
越多的人打赏,作者越有动力分享,读者就能享受更多的福利.毕竟打赏的金额富不了我,穷不了你,却能支持这个公众号长久发文.** )
**公众号 : syjf1976_abap**
**ABAP开发技巧**
**微信号 : 392077**
syjf1976
sharry_xlp
Yannick_Duan
申请进入公众号讨论群提问或者参与话题讨论