新宝-产业链协同平台数据集成到金蝶云星空:发货单-销售出库单
在企业信息化管理中,数据的高效流动和准确对接至关重要。本文将分享一个实际的系统对接集成案例——如何将新宝-产业链协同平台中的发货单数据集成到金蝶云星空的销售出库单中。
为了实现这一目标,我们采用了轻易云数据集成平台,通过其强大的数据处理能力和可视化操作界面,确保整个过程透明、可控且高效。具体方案名称为“发货单-销售出库单”,以下是该方案的技术要点:
首先,利用新宝-产业链协同平台提供的API接口/wms/deliveryBill
定时可靠地抓取发货单数据。为了保证数据不漏单,我们设计了批量抓取机制,并处理接口分页和限流问题,以确保所有数据都能被完整获取。
其次,在数据写入方面,金蝶云星空提供了batchSave
API接口,支持高吞吐量的数据写入能力,使得大量发货单能够快速转化为销售出库单。这不仅提升了数据处理的时效性,还保证了业务流程的连续性。
在整个集成过程中,我们特别关注了以下几个关键技术点:
- 集中监控和告警系统:实时跟踪每个数据集成任务的状态和性能,及时发现并处理异常情况。
- 自定义数据转换逻辑:针对新宝-产业链协同平台与金蝶云星空之间的数据格式差异,我们设计了灵活的数据转换规则,以适应特定业务需求。
- 异常处理与错误重试机制:确保在出现网络波动或其他异常情况下,系统能够自动重试并恢复正常运行。
- 实时监控与日志记录:通过轻易云的数据流设计工具,实现对整个数据处理过程的实时监控,并详细记录日志以备查阅。
通过以上技术手段,新宝-产业链协同平台的数据能够无缝、高效地集成到金蝶云星空,为企业实现更高效、更透明的数据管理奠定基础。在后续章节中,我们将详细介绍具体实施步骤及相关配置细节。
调用新宝-产业链协同平台接口/wms/deliveryBill获取并加工数据
在轻易云数据集成平台的生命周期中,第一步是调用源系统新宝-产业链协同平台接口/wms/deliveryBill
获取数据,并对其进行加工处理。这一步骤至关重要,因为它直接影响后续的数据转换与写入过程。
接口调用配置
根据元数据配置,我们需要通过POST方法调用新宝-产业链协同平台的/wms/deliveryBill
接口。以下是关键配置项:
- API路径:
/wms/deliveryBill
- 请求方法:POST
- 唯一标识字段:billNo
- 分页参数:page_no
- 查询时间参数:queryTime
这些配置确保了我们能够准确地请求到所需的数据,并且支持分页处理以应对大批量数据的情况。
请求参数设置
为了获取特定时间范围内的数据,我们需要设置查询时间参数。元数据中的queryTime
字段描述了这一点:
{"field":"queryTime","label":"queryTime","type":"string","describe":"查询大于时间范围内数据,只支持查询跨度1个月内的数据","value":"{{LAST_SYNC_TIME|dateTime}}"}
这里使用了占位符{{LAST_SYNC_TIME|dateTime}}
,表示从上次同步时间开始查询。这种动态参数设置方式确保了每次请求都能获取到最新的数据。
数据清洗与转换
在成功获取到原始数据后,需要进行清洗和转换,以便后续处理。以下是几个关键步骤:
-
错误信息提取:
- 元数据中的
errorMsgKey: "msg"
指示我们可以通过该键值提取错误信息。如果接口返回错误,需要及时记录并处理。
- 元数据中的
-
数据列表提取:
dataListKey: "data"
指示我们从响应中提取实际的数据列表。这一步骤确保我们只处理有用的信息。
-
分页处理:
- 使用
autoPaging22: "page_no"
实现自动分页,通过递增页码来逐页获取完整的数据集。
- 使用
-
唯一标识检查:
idCheck: true
和id: "billNo"
保证每条记录都有唯一标识符,避免重复或遗漏。
实践案例
假设我们已经成功调用了接口并获得如下响应:
{
"msg": "success",
"data": [
{"billNo": "12345", "item": "A", "quantity": 10},
{"billNo": "12346", "item": "B", "quantity": 20}
],
"page_no": 1,
...
}
根据上述响应,我们首先检查是否存在错误信息,然后提取出"data"字段中的具体发货单信息。接下来,根据业务需求,对这些数据进行必要的清洗和转换。例如,将数量字段统一格式化或将日期字段标准化等操作。
数据质量监控与异常检测
在整个过程中,轻易云平台提供了强大的监控和告警系统,可以实时跟踪任务状态和性能。一旦发现异常,如网络超时、接口限流等问题,可以及时触发告警并采取相应措施。同时,通过日志记录功能,可以详细追踪每一次请求和响应,为问题排查提供依据。
自定义转换逻辑
为了适应特定业务需求,轻易云平台允许用户自定义数据转换逻辑。例如,如果新宝-产业链协同平台返回的日期格式不符合目标系统要求,可以通过自定义脚本进行格式转换。此外,还可以根据业务规则过滤掉不必要的数据,提高整体效率。
综上所述,通过合理配置和使用轻易云平台,我们能够高效地调用新宝-产业链协同平台接口,获取并加工发货单相关数据,为后续的数据集成打下坚实基础。
ETL转换:从新宝-产业链协同平台到金蝶云星空
在数据集成的过程中,ETL(提取、转换、加载)是关键步骤之一。本文将详细探讨如何利用轻易云数据集成平台,将新宝-产业链协同平台的数据转换为金蝶云星空API接口能够接收的格式,并最终写入目标平台。
数据提取与清洗
首先,从新宝-产业链协同平台提取发货单数据。这个过程通常涉及调用平台的API接口,如/wms/deliveryBill
,并处理分页和限流问题,确保数据完整性和高效性。提取的数据会进行初步清洗,以便后续的转换处理。
数据转换
接下来是数据转换阶段,这是ETL过程的核心部分。我们需要将源数据按照金蝶云星空API接口要求的格式进行重组和映射。在这一步,我们将使用元数据配置来指导转换过程。
元数据配置如下:
{
"api": "batchSave",
"method": "POST",
"idCheck": true,
...
}
关键字段映射与转换
-
单据类型 (
FBillTypeID
)- 源数据中的发货单类型需要映射到金蝶云星空中的销售出库单类型。
- 使用
ConvertObjectParser
解析器,将源数据中的类型编码(如XSCKD01_SYS
)转换为目标系统可识别的值。
-
日期 (
FDate
)- 将源系统中的日期字段直接映射到目标系统的对应字段。
- 例如,
{applyTime}
表示源系统中的申请时间,将其直接赋值给目标字段。
-
客户信息 (
FCustomerID
)- 客户信息需要通过查找表进行转换。
- 使用复杂查询逻辑
_findCollection find FCustId_FNumber from ... where ...
以获取正确的客户编号。
-
物料编码 (
FMaterialID
)- 同样使用
ConvertObjectParser
解析器,根据物料编码进行映射。 - 例如,
{{deliveryDetail.materialNo}}
表示源系统中的物料编码,需要转化为目标系统可识别的格式。
- 同样使用
-
数量 (
FRealQty
)- 将实际发货数量从源系统映射到目标系统。
- 例如,
{{deliveryDetail.materialNum}}
表示实际发货数量。
-
仓库 (
FStockID
)- 仓库信息通过固定值或查找表进行映射。
- 例如,固定值
"002"
表示特定仓库编号。
-
关联关系表 (
FEntity_Link
)- 处理复杂的关联关系,如订单号、订单行号等,需要通过多层次嵌套查询获取准确的数据。
- 使用
_findCollection find ... where ...
查询逻辑来获取关联信息,如订单内码、分录内码等。
数据加载
完成所有必要的数据转换后,通过调用金蝶云星空API接口将数据写入目标平台。以下是部分关键配置:
{
"FormId": "SAL_OUTSTOCK",
"Operation": "Save",
...
}
-
业务对象表单Id (
FormId
)- 指定业务对象表单ID,例如销售出库单
SAL_OUTSTOCK
。
- 指定业务对象表单ID,例如销售出库单
-
操作类型 (
Operation
)- 指定执行操作类型,例如保存操作
Save
。
- 指定执行操作类型,例如保存操作
-
提交并审核 (
IsAutoSubmitAndAudit
)- 设置是否自动提交并审核,布尔值
false
表示不自动提交和审核。
- 设置是否自动提交并审核,布尔值
-
验证基础资料 (
IsVerifyBaseDataField
)- 设置是否验证所有基础资料有效性,布尔值
false
表示不验证。
- 设置是否验证所有基础资料有效性,布尔值
实现高效与可靠的数据集成
为了确保大规模数据快速、高效、安全地写入金蝶云星空,我们可以利用轻易云数据集成平台提供的一些高级特性:
- 高吞吐量写入能力:支持大量数据快速写入,提高处理时效性。
- 集中监控和告警系统:实时跟踪任务状态与性能,及时发现并解决问题。
- 自定义数据转换逻辑:灵活应对不同业务需求和数据结构差异。
- 异常处理与错误重试机制:确保在出现错误时能够自动重试,提高成功率。
通过这些技术手段,我们能够实现从新宝-产业链协同平台到金蝶云星空的数据无缝对接,并确保整个ETL过程高效、可靠地运行。