数据集成方案的来源数据处理脚本中添加目标系统连接

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

数据集成方案的来源数据处理脚本中添加目标系统连接

1 简介

本次版本提供来源数据处理脚本可以访问目标系统$tar及$tar_service内置变量(函数)。

 

1.1 应用场景

引入此功能主要方便来源数据处理脚本可以访问目标系统,从而不经过字段映射阶段,即可判断数据是否需要同步。

 

1.2 需求背景

对公费用报销单反写(EAS-苍穹),在EAS端操作单据,通过事件触发(反写苍穹)执行苍穹端单据反写操作。


1.3 问题描述

目标端系统不存在相应单据,执行数据集成后会报错。且集成方案即使设置目标数据操作为:更新,或在转换脚本中查询目标系统数据是否存在,并添加忽略标识。也会先走转换逻辑(值转换规则),客户想从一开始取数时就判断目标系统数据是否存在,以便数据集成伊始,就忽略掉相应同步。

 


2 主要操作

注:本版本提供来源数据处理脚本中可访问目标系统功能


2.1 系统路径

【集成方案】->【高级设置】->【来源数据处理脚本】


2.2 脚本使用

通过$tar查询目标系统数据是否存在,设置忽略标识。 



  • 具体脚本:

//sql查询目标系统数据是否存在
var sql = "select fid from T_ISC_DEMO_BASEDATA_1@EIP where fnumber = ?";
var result = query_value($tar, sql, [src.number], [VARCHAR]);
if(result == null){
  src.#_IGNORE_TAG = true;
}

 

注:且本次版本同步在来源数据处理脚本处注册了$tar_service功能,以便对取数前调用目标系统API,做逻辑处理



  • 具体脚本:

//源系统取数前,调用目标系统API。
var params = {p0: src.city}; 
var result =$tar_service("xapi://isc.iscb.IscTestService.getCityName", params);
 
if(result != null){ 
   //进行后续处理逻辑
   var cityList = ["北京", "上海", "天津", "重庆"];
  if(Collection.contains(cityList, result)){
    src.city = result; 
  }else{    
   src.city = src.province + "//" + src.city; 
  }
 }



具体使用方式参考集成云内置脚本帮助手册

或参考社区帖子,$service章节:https://club.kdcloud.com/article/73700256944199936


数据集成方案的来源数据处理脚本中添加目标系统连接

1 简介本次版本提供来源数据处理脚本可以访问目标系统$tar及$tar_service内置变量(函数)。 1.1 应用场景引入此功能主要方便来源数据处...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息