SAP工具箱 数据同步平台(十三 数据写入钉钉宜搭表单)

前言

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

数据同步平台的底层通过调用ADBC类实现远程数据库的读取,写入. 数据同步平台也支持接口方式

  • DEFAULT 表示连接当前系统

  • PO 表示目标是PO中间件,此时需要指定相应的中间件对象名称

  • REST 标识目标系统是REST服务, 此时需要指定REST相关的调用信息

  • FUNC 调用特定函数去执行外部系统调用,函数名维护在ZTSYNC_C1-EXT_CALL_FUNC

本文介绍数据同步平台对钉钉宜搭普通表单的数据写入支持

数据同步平台

详见连接

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

钉钉宜搭

钉钉宜搭帮助中心

详见连接

https://docs.aliwork.com/?spm=a2q5o.26736373.0.0.12e32546CNF2VO

324e30cc9030f03dd4fd1277613891d3.png

宜搭常用功能

01

流程表单

流程表单是宜搭支持的一种应用模式,由流程的发起人填写表单数据,流程的审批环节补充表单数据,审批通过的表单数据可以提交给其它业务系统.

流程表单允许可视化设计复杂的审批流程及自动化处理

02

普通表单

类似于主数据表,用于支持流程表单的数据选择,自动填充关联内容等.普通表单没有审批环节, 普通表单支持主子表单(两种排列显示方式 平铺方式 表格方式 )

02709bd8702cb08aba7e901825b6e3f7.png

平铺模式

8fdd963a3a5017d6b3071963cc0b888d.png

DEMO实现场景

单表写入普通表单(非主子表)

单表写入普通表单(主子表)

01

单表写入普通表单(非主子表)

关键信息准备,配置表ZTDINGDING_C1

7e79201ae296b7701306663fdaf7ce92.png

字段关系对应(配置表ZTDINGDING_C2)

9ab715d5b3ead3ec4b36dbfa7d577f8a.png

示例数据来自SAKT,SKA1. 通过视图 ZDDL_TS041 把数据整合起来,注意视图最好包含时间戳字段,以便比较变化的数据

c13553ed2dfd215cfe905aa5acbc09db.png

配置数据同步平台

表ZTSYNC_C1

80f86c580cc75bc32f87aedad6809eb5.png

  • CON_NAME_TAR 目标数据库连接使用 FUNC

  • EXT_CALL_FUNC 特殊外部系统调用逻辑封装的函数 Z_BC_SYNC_DINGDING_YD_CALL 封装了对钉钉宜搭表单写入的调用

  • JIEK_TYPE 下传接口的类型 S(S表示单表结构)

  • MESSAGE_NUM 消息中的条目数 100(数据多的时候,需要拆分多次调用,这里指框架指定的每个消息中按分组字段识别的记录数.

  • PO_GROUP_FIELDS  PO/REST调用的分组字段  可以设置关键字. 单表结构可以不设置,此时所有数据一次性调用. 钉钉处理类中再次执行了数据的分包.

  • FIELDNAME_TIMESTAMP 读取变化量的时间戳字段名

  • TIMESTAMP_TYPE 时间戳类型 N 表示UTC时间戳. 标准表的时间戳字段大多是UTC时间戳,和本地时间戳可能会有8小时差异, 设置时间戳类型后, 数据同步平台会调整相应的时间戳比较和存储使用指定的类型

配置接口

表 ZTIF002

362ece73eb6b3f60bceef0110dbf1c85.png

其中主键检查字段,用于记录关键字和钉钉表单关键字的对应关系,用于确定后续数据写入方式(新增, 修改). 避免数据重复写入. 

e077ec084a95acc337af98f3cc3260ab.png

接收数据类型定义

b4136581bc64208e155adcd5c50a5698.png

创建事务代码

20de869dcb5a6a1441d13fc76f4b239d.png

执行事务代码

ZTS041

初始化(全量)执行时,可以通过动态选择屏幕设置选择条件

e61bcf92d67d995f157d190d4b05e5d7.png

勾选显示详细日志,执行后,可以看到执行记录

2b4e7859eb2166a1e6a13cfbad853ea1.png

执行后,记录的关键字对应关系

以便后续传递时判断是创建还是修改. 如果清空宜搭的表单数据,需要同时清空一下这个表记录的内容.以免调用接口报错

17bc392fab012551abced101df9b4e66.png

宜搭表单数据查看

fc931334e3de3beb582113d5dbcdc610.png

接口日志

ZIFLOG 查看接口执行记录,报文详情,报文解析清单

5b8a9f78c5c802724ae020db2f87476d.png

表ZTSYNC_RESULT 可以查看下传程序的执行日志. 

如果执行获取数据失败, 此时会有执行日志,没有接口日志

60d0e3b5ba5070d638f02806535644d7.png

02

单表写入普通表单(主子表)

主子表的配置大部分和单表配置一致. 下面仅列出差异项

子表单节点配置

3feb6a677d2ce5b2a6158ef8f7869275.png

接口类型配置,

分组字段需要配置为主表关键字

9d7f13d4948d0032000373752ab2c3ec.png

写入宜搭的数据

4a269ce7750d7ee2efac22a522ef7d8c.png

关键代码段

函数Z_BC_SYNC_DINGDING_YD_CALL

配置在ZTSYNC_C1- EXT_CALL_FUNC. 数据同步平台通过配置的函数扩展特殊类型的接口调用.

类ZCL_DINGDING 所有钉钉相关的功能封装在这个类中.

目前包含功能

  • 获取TOKEN(工作通知, 宜搭表单)

  • 发送工作通知

  • 写入宜搭表单数据

  • ......

b7bed266427d02a39434f2a2182281ca.png

37ecc2e7445aa5da7671990304588e12.png

总结

扩展数据同步平台. 添加对钉钉宜搭表单的写入支持.

开发人员仅需把较复杂的数据获取逻辑整合在CDS视图中. 然后完成如下配置即可实现主数据同步到宜搭表单

  • ZTSYNC_C1 数据同步平台配置

  • ZTIF002 接口定义

  • ZTDINGDING_C1 配置接口和钉钉-宜搭表单对应关系及相关参数

  • ZTDINGDING_C2 配置接口和钉钉-宜搭表单对应关系及相关参数

THE

END

约定

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

请微信联系管理员: 

syjf1976 

sharry_xlp  

Yannick_Duan 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值