原创 无峰 [ ABAP 技巧与实战 ](javascript:void\(0\);)
一
前言
数据同步平台是在ABAP中开发的一个数据同步工具,类似于LTRC,通过配置实现任意两个数据库的数据同步(ABAP需要配置相关的外部数据库连接).
数据同步平台的底层通过调用ADBC类实现远程数据库的读取,写入.
数据同步平台也支持调用PO传递数据
**本文介绍为数据同步平台添加的REST接口支持**
二
REST支持的整体介绍
思维导图总结了REST支持的功能,其中部分功能在前面的文档中有介绍
三
新增REST相关配置点
_**01** _
**ZTIF002 接口定义**
接口定义部分新增的字段统一放在结构 ZSIF002_NEW 中,这部分字段对入站接口和出站接口同时生效(除函数名仅对入站生效)
这部分定义实现了如下接口通用功能
• 确定入站接口调用的函数
• 记录关键信息
• 执行业务主键重复检查
包含如下字段
• FUNC_NAME函数名 (通用入站接口后续调用的函数名)
• DATATYPE传递接口的类型定义(结构,结构嵌套,内表,内表嵌套)
• DATATYPE_OUT 传递接口的类型定义-出站(结构,结构嵌套,内表,内表嵌套)
• KEY_FIELDS多个关键字(最多5个,通过逗号分割)
• KEY_CHECK_TABLE接口业务主键重复的检查表
• KEY_CHECK_FIELDS接口业务主键重复的检查字段(多个字段通过逗号分割)
_**02** _
**ZTSYNC_C1**
数据同步平台配置
主要用于配置出站接口
优化了字段分组,
针对REST相关的字段 放在结构ZSSYNC_C1_REST 中,
针对PO和REST同时相关的字段, 放在结构ZSSYNC_C1_PO_REST中
这些字段用于控制出站接口对REST的支持
和PO/REST调用都相关的参数
• SPEC_FUNCTION复杂结构的处理函数
• JIEK_TYPE下传接口的类型
• MESSAGE_NUM消息中的条目数
• PO_GROUP_FIELDSPO/REST调用的分组字段
• PO_SORT_FIELDS额外排序字段
• CHTAB变化点记录的表(如果没有维护下传控制表,则按时间戳获取变化量)
接口平台REST调用相关参数
• URLREST服务地址
• PARAMSURL抬头补充参数
• USERNAME用户名
• PASSWORD密码
• PRETTY_NAMEJSON转换风格
• FIELDNAME_TYPE返回报文中表达状态的字段名
• FIELDNAME_MESSAGE返回报文中表达消息内容的字段名
四
入站接口统一调用地址
通过SICF定义http服务, 通过地址中传递的参数 method(函数名)或 interface(接口名)用于识别特定接口并查询ZTIF002-
FUNC_NAME调用目标函数
服务调用类ZCL_COMMON_INTERFACE 来实现接口的报文处理
五
入站接口统一实现如下功能
记录调用日志(调用时间点,状态,返回消息等) ZTIF_LOG
记录报文内容 ZTIF_LOG_JSON
记录接口的关键信息(便于后续查询接口日志ID) ZTIF_LOG_KEYS
调用特定接口的函数使用统一界面, 传递json报文信息及接口编号, 日志ID等重要信息
六
示例
下面截图给出了相关配置的示例. 详细的配置说明请翻阅一下数据同步平台的其它介绍
> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP工具箱 数据同步平台( 七 创建一个接口)
> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247487649&idx=1&sn=b168625c899f41c8c4e773104a1a9fee&chksm=cf5dcd97f82a4481740550b14cf90c4c0e1c6cd44021120f6125b0a9d9bea328d14942669c6a&token=1916698712&lang=zh_CN#rd)
> 详见链接 无峰,公众号:ABAP 技巧与实战 [ SAP工具箱 数据同步平台(九 与PO整合)
> ](https://mp.weixin.qq.com/s?__biz=Mzg4MjA1MjE4NQ==&mid=2247487822&idx=1&sn=ae9661dc4501868ea012502bedc27f09&chksm=cf5dcc78f82a456ea63bae8fb7f84696d19ac2c971f88d953bc6a3e15af060a52b3a60709ab5&token=1916698712&lang=zh_CN#rd)
_**01** _
**出站接口配置示例**
_**02** _
**接口配置示例**
七
接口监控优化
接口监控程序优化了关键字查询,JSON报文显示, JSON报文的解析显示, 状态记录显示.
后续考虑新增统计报表,基于接口,日期等统计
后续考虑添加错误重处理功能, 用于出站接口的出错后的重复调用执行
优化通用关键字查询
JSON报文显示
JSON报文的解析显示
八
总结
更多的项目使用了基于REST的接口方式. ABAP中可以用SICF配置提供HTTP服务.用类CL_HTTP_CLIENT 去调用HTTP服务.
这样本来可以在PO中实现的一些日志监控功能需要平移到S4中. 数据同步平台借鉴PO中的监控功能,在S4中提供了类似或改进的接口日志记录及监控功能.
方便项目中对接口行为的整体把控.
** THE **
** END **
**约定**
如果你对这篇文章感兴趣,请帮忙点赞,在看,分享.
syjf1976
sharry_xlp
Yannick_Duan
申请进入公众号讨论群提问或者参与话题讨论