目标数据脚本处理详解

目标数据脚本处理
使用说明:目标处理脚本最终的返回值应为Map,里面应包含id值和操作类型type,操作类型有SAVE, INSERT, UPDATE, DELETE, NOP,FAILED, UNKNOWN。详情可以参考kd.isc.iscb.util.connector.SaveDataType类。
注意:目标处理脚本、目标处理类、以及原有目标单操作是互斥的。使用了目标处理脚本或目标处理类,原有的目标单操作就失效了,需要在脚本里另外处理。例如:如果需要在目标处理脚本调单据保存操作,可参考$action的用法。
一、功能函数
1 $service(serviceName,params)
2 $action(entity,actions,data,judgeFields)
二、使用场景及配置说明
方案配置示例(以苍穹微服务为例)

一、功能函数
1 $service(serviceName,params)
参数名 | 参数类型 | 必填 | 说明 |
serviceName | String | 是 | 在集成云系统中登记好的服务类型的集成对象, 如在集成云中登记好的苍穹微服务,格式形如 mservice://cloudid.appid.service.method |
params | Map | 否 | 服务方法调用参数 |
函数功能说明:
集成服务调用,可调用苍穹微服务:
格式形如:mservice://cloudid.appid.service.method,
具体例子:mservice://isc.iscb.ISCDataCopyService.queryExecutionLogs
也可以调用eas façade类型服务,
格式形如:facade://façade全限定名:方法名
具体例子:
facade://com.kingdee.eas.basedata.master.cssp.app.SyncSupplierFacade:syncSupplier
2 $action(entity,actions,data,judgeFields)
参数名 | 参数类型 | 必填 | 说明 |
entity | String | 是 | 实体名 |
actions | List | 否 | 操作列表 |
data | Map | 是 | 转换生成的目标数据 |
judgeFields | List | 是 | 候选键,单头的候选键使用 $ 作为 Key,分录的候选键使用分录字段名为key |
函数功能说明:
调用目标系统实体的操作功能,如调用苍穹、eas实体的保存、提交等方法。多个操作列表会被封装在一个事务中进行调用,失败时会全部回滚。
注:如果希望执行操作产生异常时,根据异常信息执行不同逻辑,则可以参考以下脚本
catch(e){
if(e.message contains '编码' && e.message contains '已存在'){
// 执行更新
}
throw e;
}
二、使用场景及配置说明
业务
目标数据脚本处理详解
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



