SAP工具箱 数据同步平台(十一 接口数据检查)

前言

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

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

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

本文介绍怎么为接口添加数据内容校验

本文只针对ECC/S4出站接口,数据从ECC/S4通过异步方式主动推送给其它系统.

思维导图

8c9291a8a52b03a8ad1f814315605917.png

数据检查

为了确保发送给其它系统的数据符合业务的需求,需要在数据的发出放对发送的数据内容执行检查. 最常见的检查是字段的非空检查.

比如供应商数,需要从S4系统发给其它系统(SRM). 该系统检查了供应商电话不能为空. 为空的供应商无法接收.

通常可以在两个环节执行这个检查

  • 数据保存前校验

  • 数据接口传输时校验

01

数据保存前校验

通过标准配置(字段状态组)可以实现字段的必输校验, 如果特定字段内容为空, S4系统将无法保存该数据.但并非所有字段都能够通过字段状态组配置(比如增强的字段),对于这些无法配置状态组的字段或者更复杂的校验逻辑, 可以通过保存前的检查增强来校验,阻止不符合规则的数据保存.

02

数据接口传输时校验

数据保存前校验是最合理的确保数据完整的方式. 但在一些特殊的场景下无法使用这种方式. 

比如: 供应商数据由多个部门协同完成. 采购部门负责采集供应商的基本信息, 财务部分负责采集供应商银行信息. 采购部门采集的信息需要及时维护到系统中,以便创建采购订单.银行信息无需特别及时的维护到系统中, 付款时有就可以了.

针对这种业务场景, 系统中就不能配置银行信息的必输校验. 此时就需要使用数据接口传输校验来确保发送到其它系统的供应商数据是完整的.

配置点

接口的数据检查配置主要在如下几个配置表中实现

  • ZTIF002  接口定义

  • ZTSYNC_C1 同步数据库表配置(接口配置)

  • ZTBC001A 通用导入/修改/接口下传需要检查的字段

01

ZTIF002

ZTIF002-CHECK_FLAG   启用接口检查

ZTIF002-CHECK_FUNCTION 特殊的接口检查函数,允许为空,系统使用Z_BC_UP_COMM_CHECK 函数检查,也可以自定义检查函数执行更复杂的检查逻辑

ZTIF002-KEYFIELDS 日志记录的关键内容的关键字段名

ZTIF002的作用详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱之 接口调用集中监控

683889ec3ba19effd9afd9cd1c0aea12.png

02

ZTSYNC_C1

ZTSYNC_C1- PO_GROUP_FIELDS 接口的分组字段

ZTSYNC_C1的作用详见链接

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

c98cf48a7a124ba69fc9d27ed6ac2139.png

03

ZTBC001A

ZTBC001A 配置字段检查规则

ZTBC001A是一个通用配置表, 数据导入框架, 数据修改框架都使用了这个配置表完成数据的检查, 该配置表允许配置数据的如下检查逻辑

  • 非空检查

  • 码表检查 字段值必须是码表中的编码

  • 重复性检查 选中的字段组合起来检查是否有重复记录

  • 授权检查 通过标准授权对象或增强的简化授权检查

  • 正则表达式检查 检查字段内容是否符合正则表达式

ZTBC001A表定义详见链接

无峰,公众号:ABAP 技巧与实战SAP工具箱 配置导入模板

12e15fea5d5c946ea9bcc447356673a7.png

错误信息记录

数据同步平台在数据复制到目标系统时(目标系统可以是外部数据库,也可以是PO),执行数据检查.

对于检查通过的数据,继续执行后续逻辑, 对于检查未通过的数据, 写入到日志表 ZTIF_LOG_ERROR.

对于单据类的接口(主从关系). 如果从表存在错误, 则该单整单不下传. (系统通过字段 ZTSYNC_C1- PO_GROUP_FIELDS中配置的字段识别数据是否属于同一个单据)

日志表记录时,根据配置的关键字ZTIF002-KEYFIELDS记录关键字内容及报错信息,

如图一. 接口P200013下传物料时,通过配置检查出物料描述为空,报错不下传.

如果之前报错的记录,后续处理时通过了. 系统自动根据关键字把之前的报错信息修正ZTYPE=’S’,同时记录修改日期,时间等信息. 

如图二. 物料A382U3RY在最后一次下传时,物料描述已经补充了内容. 该物料成功下传,同时更新之前所有该物料的报错日志.

1e20f10ab42084fdd64180253c1955c4.png

图一

98f4c66642d949b85eb1538130b935d5.png

图二

报错数据的重发

一般情况下,报错的数据需要业务干预,修复数据问题后,系统会产生新的变更时间戳或者变更点,后台运行的数据同步平台会自动把数据重新发送给目标系统.

也可以手工执行数据同步平台,发送指定的数据

总结

接口数据检查进一步完善了数据同步平台(接口平台)的处理逻辑,通过简单配置即可实现对传输数据的合规性检查. 对于不合规的数据通过日志表记录下来. (可以通过配置监控平台监控)

监控平台详见链接

无峰,公众号:ABAP开发技巧SAP开发框架系列之 集中监控

监控人员通过收到的邮件或其它提醒,在系统中修复数据.后台自动重传或者监控人员手工重传.

约定

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

    

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值