数据集成方案目标数据处理支持批量接口
## 业务背景
用户希望在数据集成方案的目标数据处理中调用接口(如微服务)**批量**传入数据。
## 配置步骤
**1、配置启动方案**
修改启动方案表单页面中的‘目标单批量大小’大于1。
*注:数据集成方案关闭**记录源单/目标单ID关联关系、记录单据集成日志、启动方案关闭**保存全部日志“选项。* ![image.webp](/download/0100f843438609da4e1d885d54c62a885b1b.webp)
**2、配置数据集成方案**
在**数据集成方案**->**目标数据处理**-**数据处理脚本**中编写脚本如下(***该脚本仅为示例,请根据实际业务情况配置***)
``` var data = {"_tars":_tars};//使用_tars构造接口调用的入参 var result = invokeMicroService2("isc", "iscb", "IscTestService", "targetHandle",data);//调用接口 if(result.success){ //接口调用成功时,取出返回的数据 var resultData = result.data; for(var i = 0;i < _tars.length;i++){ //在返回的数据中遍历,将返回的id和type依次赋值给_tars中的每条数据 //因为返回的数据顺序和传入数据顺序相匹配,此处可以按每条数据的位置进行赋值 _tars[i].id = resultData[i].id; _tars[i].type = (resultData[i].type == null?"UNKNOWN":resultData[i].type); } }else{ throw result.errorMsg;//接口调用失败时,抛出错误信息 } ```
**变量说明**:
1. **_tars**:为集成方案每批目标数据构成的列表,用户可根据接口调用的返回结果自行构造_tars中的如下两个属性:
**[{id : 单据ID, type : 处理类型},...]**,其中“处理类型”取值为**INSERT,UPDATE,DELETE,NOP**。 (*注:若_tars中不存在id值,则赋值"",若不存在type值,则赋值UNKNOWN*) 2. **_tars.type**:集成云脚本支持批量给list赋值,如希望将**处理类型批量赋值为‘插入’**,可写作:_tars.type = ‘INSERT’。 (*注:此处仅为示例写作INSERT,用户应根据现场实际情况配置*) ![image.webp](/download/010096bd602f6de147779d5deba673466233.webp) ## 示例 以上述方案为例子,为了方便查看在脚本中将分批数据抛出来,如下图 ![image.webp](/download/01009faf5efe490e4cefae9d1b8183325e62.webp)
执行结果中可以看到获取到的数据总数为41条,如下图 ![image.webp](/download/0100fe70913e27944c179e1c81c3d86bfcbb.webp)
执行日志中根据10条每批,将数据分为了5批(*每批数据存在两条日志,所以有10条日志*) ![image.webp](/download/0100fe78fc6e552a43c8a6846408bbae39b6.webp)
目标单批量设置说明请参考:[https://vip.kingdee.com/article/147474](https://vip.kingdee.com/article/147474)
修改启动方案表单页面中的‘目标单批量大小’大于1。
*注:数据集成方案关闭**记录源单/目标单ID关联关系、记录单据集成日志、启动方案关闭**保存全部日志“选项。* ![image.webp](/download/0100f843438609da4e1d885d54c62a885b1b.webp)
**2、配置数据集成方案**
在**数据集成方案**->**目标数据处理**-**数据处理脚本**中编写脚本如下(***该脚本仅为示例,请根据实际业务情况配置***)
``` var data = {"_tars":_tars};//使用_tars构造接口调用的入参 var result = invokeMicroService2("isc", "iscb", "IscTestService", "targetHandle",data);//调用接口 if(result.success){ //接口调用成功时,取出返回的数据 var resultData = result.data; for(var i = 0;i < _tars.length;i++){ //在返回的数据中遍历,将返回的id和type依次赋值给_tars中的每条数据 //因为返回的数据顺序和传入数据顺序相匹配,此处可以按每条数据的位置进行赋值 _tars[i].id = resultData[i].id; _tars[i].type = (resultData[i].type == null?"UNKNOWN":resultData[i].type); } }else{ throw result.errorMsg;//接口调用失败时,抛出错误信息 } ```
**变量说明**:
1. **_tars**:为集成方案每批目标数据构成的列表,用户可根据接口调用的返回结果自行构造_tars中的如下两个属性:
**[{id : 单据ID, type : 处理类型},...]**,其中“处理类型”取值为**INSERT,UPDATE,DELETE,NOP**。 (*注:若_tars中不存在id值,则赋值"",若不存在type值,则赋值UNKNOWN*) 2. **_tars.type**:集成云脚本支持批量给list赋值,如希望将**处理类型批量赋值为‘插入’**,可写作:_tars.type = ‘INSERT’。 (*注:此处仅为示例写作INSERT,用户应根据现场实际情况配置*) ![image.webp](/download/010096bd602f6de147779d5deba673466233.webp) ## 示例 以上述方案为例子,为了方便查看在脚本中将分批数据抛出来,如下图 ![image.webp](/download/01009faf5efe490e4cefae9d1b8183325e62.webp)
执行结果中可以看到获取到的数据总数为41条,如下图 ![image.webp](/download/0100fe70913e27944c179e1c81c3d86bfcbb.webp)
执行日志中根据10条每批,将数据分为了5批(*每批数据存在两条日志,所以有10条日志*) ![image.webp](/download/0100fe78fc6e552a43c8a6846408bbae39b6.webp)
目标单批量设置说明请参考:[https://vip.kingdee.com/article/147474](https://vip.kingdee.com/article/147474)
数据集成方案目标数据处理支持批量接口
## 业务背景用户希望在数据集成方案的目标数据处理中调用接口(如微服务)**批量**传入数据。## 配置步骤**1、配置启动方案**修改启动方...
点击下载文档
本文2024-09-23 00:52:07发表“云苍穹知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-cangqiong-142260.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章