SAP工具箱 数据同步平台(十二 REST接口支持)

前言

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

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

数据同步平台也支持调用PO传递数据

本文介绍为数据同步平台添加的REST接口支持

REST支持的整体介绍

思维导图总结了REST支持的功能,其中部分功能在前面的文档中有介绍

f48d28d66b0b9ca694755f18f78a0fd2.png

新增REST相关配置点

01

ZTIF002 接口定义

接口定义部分新增的字段统一放在结构 ZSIF002_NEW 中,这部分字段对入站接口和出站接口同时生效(除函数名仅对入站生效)

这部分定义实现了如下接口通用功能

  • 确定入站接口调用的函数

  • 记录关键信息

  • 执行业务主键重复检查

包含如下字段

  • FUNC_NAME函数名 (通用入站接口后续调用的函数名)

  • DATATYPE传递接口的类型定义(结构,结构嵌套,内表,内表嵌套)

  • DATATYPE_OUT 传递接口的类型定义-出站(结构,结构嵌套,内表,内表嵌套)

  • KEY_FIELDS多个关键字(最多5个,通过逗号分割)

  • KEY_CHECK_TABLE接口业务主键重复的检查表

  • KEY_CHECK_FIELDS接口业务主键重复的检查字段(多个字段通过逗号分割)

37485fadacd458d818997d28dbe8113c.png

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返回报文中表达消息内容的字段名

48b2275c7b12947d9fffb7ae2c54bf11.png

入站接口统一调用地址

通过SICF定义http服务, 通过地址中传递的参数 method(函数名)或 interface(接口名)用于识别特定接口并查询ZTIF002- FUNC_NAME调用目标函数

服务调用类ZCL_COMMON_INTERFACE 来实现接口的报文处理

ac2db188be404f483e661a13823d6db2.png

3101b7f8b847a1bea6a4b3c5be41cd2e.png

入站接口统一实现如下功能

记录调用日志(调用时间点,状态,返回消息等) ZTIF_LOG

记录报文内容 ZTIF_LOG_JSON

记录接口的关键信息(便于后续查询接口日志ID) ZTIF_LOG_KEYS

调用特定接口的函数使用统一界面, 传递json报文信息及接口编号, 日志ID等重要信息

1408b978348c25032f833471a258af05.png

示例

下面截图给出了相关配置的示例. 详细的配置说明请翻阅一下数据同步平台的其它介绍

详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱 数据同步平台( 七 创建一个接口)

详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱 数据同步平台(九 与PO整合)

01

出站接口配置示例

954d909f87c8ae2626902a30dc5c32ed.png

02

接口配置示例

5b11910ddd4b2f6e120d4b772d51bd9e.png

接口监控优化

接口监控程序优化了关键字查询,JSON报文显示, JSON报文的解析显示, 状态记录显示. 

后续考虑新增统计报表,基于接口,日期等统计

后续考虑添加错误重处理功能, 用于出站接口的出错后的重复调用执行

优化通用关键字查询

b035f97329c37caeaf7c845a8885d038.png

JSON报文显示

55d4e47eccce087f956bf4efe71cf678.png

JSON报文的解析显示

8143fe5d10147d1a211c8dd86cb22af5.png

d19800b4a1d1b0031fbfa6f63f75beee.png

总结

更多的项目使用了基于REST的接口方式. ABAP中可以用SICF配置提供HTTP服务.用类CL_HTTP_CLIENT 去调用HTTP服务. 

这样本来可以在PO中实现的一些日志监控功能需要平移到S4中. 数据同步平台借鉴PO中的监控功能,在S4中提供了类似或改进的接口日志记录及监控功能. 方便项目中对接口行为的整体把控.

THE

END

约定

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

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

申请进入公众号讨论群提问或者参与话题讨论

  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值