源多分录写入目标一个分录时提示“列表长度不一致”

问题描述:
通过集成方案同步数据时,在特殊场景会遇到如下相似类型报错。

解决方案:
问题分析:
在字段映射时,源数据为多分录结构,合并到目标一个分录上面,但是源数据的多分录长度不一致,因此会导致映射时,无法处理。为此,在这里推荐一种使用数据集成方案转换脚本来处理的方式,可以实现将多分录合一。
解决思路:
由于报错中断是在字段映射时就已经出现了,因此现场不光需要更改数据处理脚本,需要把字段映射处的目标分录所有字段全部取消,只保留源字段达到取数的效果,目标分录字段的赋值在脚本里实现。
下面提供脚本处理的demo,实际操作时需要将对应的字段与属性名与源和目标分别保持一致,这段脚本可以在集成的脚本工具直接执行,可以提前执行测试看一下结果是否和现场要求一致。
数据集成方案字段映射处理脚本,源数据多分录合一到目标分录
var src = {number : '001',name:'zty', entry1:[{a:11,b:12,c:13},{a:14,b:15,c:16},{a:17,b:18,c:19}], entry2:[{d:24,e:25},{d:26,e:27}], entry3:[{f:36}]}; //从这行开始改,src我拿来测试的数据。 //把分录entry1,entry2,entry3分别改成源的那几个分录,源的数量如果和demo里不一致也要在下面的for循环内对应修改 //这是分别取每个分录的长度 var o = src.entry1.length; var p = src.entry2.length; var q = src.entry3.length; var m = Collection.max(o,p,q);//计算三个分录的最大长度 var e = [];//拿一个临时list存一下目标分录 for(var i = 0 ; i < m ; i++ ){ var |
源多分录写入目标一个分录时提示“列表长度不一致”
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



