一
前言
数据同步平台是在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工具箱 数据同步平台( 七 创建一个接口)
详见链接
无峰,公众号:ABAP 技巧与实战SAP工具箱 数据同步平台(九 与PO整合)
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
申请进入公众号讨论群提问或者参与话题讨论