案例分享:JY-BDS采退提交-审核的系统对接与集成
在金蝶云星空环境中,数据的准确性和实时性对于业务运营至关重要。本次技术案例将详细探讨如何通过高效的数据集成平台,实现金蝶云星空到金蝶云星空的无缝对接,以实现采购退货单(JY-BDS采退)的提交及审核功能。
支持高吞吐量的数据写入
针对金蝶云星空系统的大规模数据需求,必须确保大量数据能够快速并发地被写入。我们利用轻易云数据集成平台提供的高吞吐量写入能力,将批量采购退货单信息迅速传输至目标系统,大幅提升处理效率。
实时监控与告警机制
为了保证每个环节顺畅进行,我们启用了集中监控和告警系统,实时跟踪整个数据集成任务的状态。这不仅有助于及时发现问题,还可以保障接口调用过程中的稳定性。任何异常情况都会触发预设告警,提醒相关人员立即采取纠正措施。
数据质量监控与异常处理
多样化、复杂化的数据类型对集成工作的准确度提出了严苛要求。为此,我们配置了详尽的数据质量检测规则,并结合异常检测机制,在出现错误时能自动通知管理员并启动重试流程。例如,通过API接口ExecuteBillQuery从源端获取采购退货数据信息后,若存在格式或内容不匹配的问题,会立刻标记并记录下来,同时采取补救措施以确保最终数据完整无误地进入目标系统。
自定义转换逻辑与映射
由于两套金蝶云星空系统之间存在一定的数据结构差异,我们需要建立针对性的自定义转换逻辑和映射方案。在实际操作中,对不同字段进行了精准匹配,并使用可视化设计工具来创建清晰直观的数据流图,使整个转换过程简洁明了且易于管理。
本技术案例将深入剖析这些关键步骤及具体实现方法,从而展示怎样通过优化API接口调用,实现高效、稳定、安全的跨系统数据传输,以及如何应对常见问题,如分页限流和错误重试等复杂场景。
调用金蝶云星空接口ExecuteBillQuery获取并加工数据
在数据集成生命周期的第一步,调用源系统接口获取数据是至关重要的一环。本文将深入探讨如何使用轻易云数据集成平台调用金蝶云星空的ExecuteBillQuery
接口来获取并加工数据。
接口配置与请求参数
在轻易云数据集成平台中,配置元数据(metadata)是实现接口调用的关键。以下是针对金蝶云星空ExecuteBillQuery
接口的元数据配置:
{
"api": "ExecuteBillQuery",
"method": "POST",
"number": "FBillNo",
"id": "FId",
"pagination": {
"pageSize": 10
},
"idCheck": true,
"request": [
{
"field": "Limit",
"label": "最大行数",
"type": "string",
"describe": "金蝶的查询分页参数",
"value": "50"
},
{
"field": "StartRow",
"label": "开始行索引",
"type": "string",
"describe": "金蝶的查询分页参数",
"value": "{PAGINATION_START_ROW}"
},
{
"field": "TopRowCount",
"label": "返回总行数",
"type": "int",
"describe": ""
},
{
"field": "FilterString",
"label": "",
"type": "",
""
},
{
""
}
]
}
请求参数解析
- Limit: 设置查询返回的最大行数,这里设定为50。
- StartRow: 开始行索引,用于分页处理,值为动态参数
{PAGINATION_START_ROW}
。 - TopRowCount: 返回总行数,用于确定分页总数。
- FilterString: 用于设置过滤条件,例如:
FDocumentStatus <> 'C'
表示过滤掉已关闭状态的数据。 - FieldKeys: 查询字段集合,以逗号分隔,例如:
FPOOrderEntry_FEntryId,FPurchaseOrgId.FNumber
。 - FormId: 表单ID,这里设定为
PUR_MRB
,表示采购退货单。
调用流程与数据处理
-
初始化请求: 使用POST方法向金蝶云星空发送请求,URL为平台提供的API地址。
-
分页处理: 根据配置中的分页参数,每次请求最多返回50条记录,并通过
StartRow
参数控制分页起始位置。 -
过滤条件: 利用
FilterString
字段设置复杂的查询条件,以确保只获取符合业务需求的数据。例如:过滤掉已关闭状态的数据。 -
字段选择:
FieldKeys
字段用于指定需要查询的数据字段,通过数组转字符串的方法将其转换为逗号分隔的字符串格式。 -
表单ID:
FormId
字段必须填写对应业务对象的表单ID,例如采购退货单对应的ID为PUR_MRB
。
数据清洗与转换
在获取到原始数据后,需要进行清洗和转换,以满足目标系统或业务需求。以下是常见的数据清洗与转换步骤:
-
数据类型转换: 将字符串类型的数据转换为目标系统所需的数据类型,例如日期、数字等。
-
字段映射: 将源系统中的字段映射到目标系统中的对应字段。例如,将金蝶中的供应商编号映射到目标系统中的供应商ID。
-
异常处理: 对于缺失或异常的数据进行处理,如填充默认值、丢弃无效记录等。
-
增量更新: 根据业务需求,只更新新增或变更的数据,避免重复处理已有记录。
通过以上步骤,我们可以高效地调用金蝶云星空接口获取并加工数据,为后续的数据写入和集成奠定基础。轻易云数据集成平台提供了全透明可视化操作界面,使得每个环节都清晰易懂,并实时监控数据流动和处理状态,大大提升了业务透明度和效率。
使用轻易云数据集成平台实现金蝶云星空API接口的数据ETL转换与写入
在数据集成的生命周期中,第二步是将已经集成的源平台数据进行ETL转换,并转为目标平台金蝶云星空API接口所能够接收的格式,最终写入目标平台。本文将详细探讨如何利用轻易云数据集成平台完成这一过程。
API接口配置
首先,我们需要了解金蝶云星空API接口的具体配置要求。根据元数据配置,我们需要调用Audit
接口,使用POST
方法提交数据。以下是元数据配置的详细信息:
{
"api": "Audit",
"method": "POST",
"idCheck": true,
"request": [
{"field": "FormId", "label": "业务对象表单Id", "type": "string", "describe": "必须填写金蝶的表单ID如:PUR_PurchaseOrder", "value": "PUR_MRB"},
{"field": "Numbers", "label": "编码集合", "type": "string", "value": "{BillNo}"},
{"field": "Ids", "label": "id集合", "type": "string"},
{"field": "InterationFlags", "label": "交互标志集合", "type": "string", "describe":"字符串类型,分号分隔,格式:\"flag1;flag2;...\"(非必录) 例如(允许负库存标识:STK_InvCheckResult)","value":"STK_InvCheckResult"},
{"field": "IgnoreInterationFlag", "label":"是否允许忽略交互","type":"string","describe":"布尔类型,默认true(非必录)","value":"true"},
{"field":"NetworkCtrl","label":"是否启用网控","type":"string","describe":"布尔类型,默认false(非必录)","value":"false"},
{"field":"IsVerifyProcInst","label":"检验单据关联运行","type":"string","describe":"是否检验单据关联运行中的工作流实例,布尔类型,默认false(非必录)","value":"false"}
]
}
数据请求与清洗
在进行ETL转换之前,我们首先需要从源平台获取原始数据,并对其进行清洗和预处理。这一步骤确保了数据的一致性和准确性,为后续的转换和写入奠定基础。
假设我们已经从源平台获取到以下原始数据:
{
"BillNo": ["12345"],
// 其他字段...
}
数据转换
接下来,我们将原始数据转换为符合金蝶云星空API接口要求的格式。在轻易云数据集成平台上,可以通过映射和脚本来完成这一过程。
根据元数据配置,我们需要构建如下结构的数据:
{
"FormId": "PUR_MRB",
"Numbers": ["12345"],
// Ids 字段可以为空或根据需求填充
// InterationFlags 字段可以为空或根据需求填充
// IgnoreInterationFlag 默认值为 true
// NetworkCtrl 默认值为 false
// IsVerifyProcInst 默认值为 false
}
在轻易云平台上,可以通过以下步骤实现上述转换:
- 映射字段:将原始数据中的
BillNo
映射到目标结构中的Numbers
字段。 - 设置默认值:为未提供的字段设置默认值,例如
IgnoreInterationFlag
,NetworkCtrl
,IsVerifyProcInst
等。 - 验证与检查:确保所有必填字段都已正确填充,并进行必要的数据验证。
数据写入
完成数据转换后,即可通过调用金蝶云星空的API接口,将处理好的数据写入目标平台。在轻易云平台上,可以通过配置HTTP请求节点来实现这一操作。
示例HTTP请求配置如下:
- URL:
https://api.kingdee.com/Audit
- Method:
POST
- Headers:
{ "Content-Type": "application/json" // 添加其他必要的头部信息,如认证信息等 }
- Body:
{ // 转换后的JSON结构体 { "FormId": "PUR_MRB", ... } }
实时监控与日志记录
在整个ETL过程中,通过轻易云的数据监控功能,可以实时跟踪每一步的数据流动和处理状态。如果出现错误或异常情况,可以快速定位并解决问题。此外,通过日志记录功能,可以保留所有操作记录,以便日后审计和分析。
综上所述,通过轻易云数据集成平台,我们能够高效地完成从源平台到金蝶云星空API接口的数据ETL转换与写入,实现不同系统间的数据无缝对接。