金蝶-生产入库-->旺店通-其他入库数据集成案例分享
在企业数字化转型过程中,如何高效、可靠地实现系统之间的数据对接是一个关键问题。本文将重点介绍金蝶云星空与旺店通·旗舰奇门之间的生产入库数据集成解决方案——“金蝶-生产入库-->旺店通-其他入库”。这一方案通过轻易云数据集成平台,利用其强大的API处理能力和便捷的可视化操作界面,实现了两个不同业务系统之间的数据无缝传递。
首先,我们需要从金蝶云星空中获取生产入库信息,这一步骤使用executeBillQuery API接口来完成。为了确保数据的时效性和完整性,我们设计了一套定时调度程序,抓取最新的生产入库记录,并处理分页和限流问题,以避免对API接口造成过多压力。
然而,从金蝶云星空获取到的数据格式并不能直接用于旺店通·旗舰奇门。为了解决这一问题,我们自定义了一套数据转换逻辑,将金蝶云星空的数据结构映射到适配于旺店通·旗舰奇门需求的格式。这种定制化的数据转换不仅提升了效率,还保证了数据的一致性和准确性。
接下来,使用wdt.wms.stockin.other.createotherstockinorder API接口将转换后的数据批量写入到旺店通·旗舰奇门。在这个过程中,为了确保高吞吐量的数据写入能力,我们利用了平台提供的大量并发处理机制,使得大量生产入库记录能够快速、安全地导入目标系统。此外,为应对可能出现的异常情况,我们还设置了一套完善的错误重试机制,保证每一笔数据信息都不会遗漏。
在整个实施过程中,通过实时监控与日志记录功能,可以随时追踪每个集成任务的状态并及时发现潜在的问题。这些特点极大地提升了我们的运维效率,也为后续优化提供了有力支持。
以上是我们这次技术实战案例的简要概述,在接下来的部分里,将详细阐述具体步骤及方法论,共同探讨如何更好地实现企业级系统间的数据互联互通。
调用金蝶云星空接口executeBillQuery获取并加工数据
在数据集成过程中,调用源系统的API接口是至关重要的一步。本文将详细介绍如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery
接口来获取并加工数据。
API接口配置
首先,我们需要配置金蝶云星空的executeBillQuery
接口。根据提供的元数据配置,我们可以看到该接口使用POST方法进行请求,主要用于查询操作(effect为QUERY)。
{
"api": "executeBillQuery",
"effect": "QUERY",
"method": "POST",
"number": "FBillNo",
"id": "FEntity_FEntryID",
...
}
请求参数设置
请求参数是API调用的关键部分。我们需要根据业务需求设置合适的请求参数,以确保能够准确获取所需的数据。以下是一些关键字段及其描述:
FEntity_FEntryID
: 明细分录行idFMoBillNo
: 生产订单编号FMoEntrySeq
: 生产订单行号FID
: 实体主键FBillNo
: 单据编号FStockOrgId_FNumber
: 收料组织FMaterialId_FNumber
: 物料编码FRealQty
: 实收数量FDate
: 日期
这些字段在请求中扮演着不同的角色,确保我们能够获取到完整且准确的数据。
{
"field": "FEntity_FEntryID",
"label": "明细分录行id",
"type": "string",
...
}
分页参数与过滤条件
为了处理大量数据,我们需要设置分页参数和过滤条件。这些参数可以帮助我们控制每次查询返回的数据量,并根据特定条件筛选数据。
分页参数包括:
Limit
: 最大行数StartRow
: 开始行索引TopRowCount
: 返回总行数
过滤条件示例:
{
"field": "FilterString",
"label": "过滤条件",
...
}
例如,我们可以设置过滤条件为审核时间大于等于上次同步时间:
"FilterString": "FApproveDate>='{{LAST_SYNC_TIME|dateTime}}'"
数据加工与转换
在获取到原始数据后,需要对其进行清洗和转换,以便后续写入目标系统。在轻易云平台上,可以通过可视化界面方便地进行数据清洗和转换操作。例如,将日期格式统一、处理缺失值等。
以下是一个简单的数据转换示例,将物料编码和名称合并为一个字段:
{
"field": "MaterialInfo",
"expression": "$concat(FMaterialId_FNumber, '-', FMaterialId_FName)"
}
自动填充响应
为了简化操作,轻易云平台提供了自动填充响应功能。启用此功能后,平台会自动将API响应中的字段映射到预定义的目标字段中,无需手动配置每个字段。
"autoFillResponse": true
通过上述步骤,我们可以高效地调用金蝶云星空的executeBillQuery
接口,获取并加工所需的数据。这不仅提高了数据集成的效率,也确保了数据的一致性和准确性。
轻易云数据集成平台ETL转换:金蝶生产入库到旺店通其他入库
在数据集成过程中,将源平台的数据转换为目标平台所需的格式是关键步骤之一。本文将深入探讨如何利用轻易云数据集成平台将金蝶生产入库数据转换为旺店通·旗舰奇门API接口所能接收的格式,并最终写入目标平台。
元数据配置解析
我们使用的元数据配置如下:
{
"api": "wdt.wms.stockin.other.createotherstockinorder",
"effect": "EXECUTE",
"method": "POST",
"idCheck": true,
"request": [
{"field": "outer_no", "label": "外部单号", "type": "string", "value": "{FBillNo}-{FStockId}"},
{"field": "src_order_no", "label": "业务单号", "type": "string", "value": "{FBillNo}"},
{"field": "warehouse_no", "label": "仓库编码", "type": "string", "value": "{FStockId}"},
{"field": "logistics_no", "label": "物流单号", "type": "string"},
{"field": "logistics_code", "label": "物流编号", "type": "string"},
{"field": "is_check", "label": "创建后的单据状态", "type": "string",
"value":"true"},
{"field":"reason","label":"入库原因","type":"string","value":"工厂生产入库"},
{"field":"remark","label":"备注","type":"string","value":"{FMemo}"},
{
"field":"goods_list","label":"货品详情","type":"array","value":"list",
"children":[
{"field":"spec_no","label":"商家编码","type":"string",
"value":"{{list.FMaterialId_FBARCODE}}"},
{"field":"num","label":"入库数量","type":"string",
"value":"{{list.FRealQty}}"},
{"field":"remark","label":"备注","type":"string",
"value":"{{list.FMemo}}"},
{"field":"stockin_price","label":"入库价","type":"string"}
]
}
],
...
}
数据请求与清洗
首先,从金蝶系统中提取原始生产入库数据。这些数据通常包含订单号、仓库编码、物流信息、备注以及货品详情等。通过轻易云平台,我们可以轻松地请求这些数据并进行初步清洗,确保其格式和内容符合要求。
数据转换与写入
-
字段映射与转换:
outer_no
:通过组合FBillNo
和FStockId
生成外部单号。src_order_no
:直接映射为FBillNo
。warehouse_no
:直接映射为FStockId
。logistics_no
和logistics_code
:这些字段需要从原始数据中提取或根据业务逻辑填充。is_check
:固定值设置为"true",表示创建后的单据状态。reason
:固定值设置为"工厂生产入库",表示入库原因。remark
:直接映射为FMemo
。
-
货品详情处理:
goods_list
: 包含多个子字段,每个子字段对应货品的具体信息。spec_no
: 映射为货品的条码(即FMaterialId_FBARCODE
)。num
: 映射为实际入库数量(即FRealQty
)。remark
: 映射为货品备注(即FMemo
)。
-
API调用: 利用配置中的API接口信息,通过HTTP POST方法将处理后的数据发送到旺店通·旗舰奇门系统。确保每个字段都符合目标系统的要求,避免因格式不符导致的数据写入失败。
实际案例应用
假设我们从金蝶系统获取了一条生产入库记录,其主要字段如下:
{
“FBillNo”: “SO20231001”,
“FStockId”: “WH001”,
“FMemo”: “10月生产批次”,
“list”: [
{
“FMaterialId_FBARCODE”: “1234567890”,
“FRealQty”: “100”,
“FMemo”: “无”
}
]
}
根据上述元数据配置,我们需要将其转换为如下格式,以便通过API接口写入旺店通:
{
“outer_no”: “SO20231001-WH001”,
“src_order_no”: “SO20231001”,
“warehouse_no”: “WH001”,
“logistics_no”: “”,
“logistics_code”: “”,
“is_check”:“true”,
“reason”:“工厂生产入库”,
“remark”:“10月生产批次”,
“goods_list”: [
{
“spec_no”:“1234567890”,
“num”:“100”,
“remark”:“无”
}
]
}
通过轻易云平台,我们可以自动化这一转换过程,确保每次操作都准确无误,并实时监控整个流程,提升业务效率和透明度。
总结
本文详细介绍了如何利用轻易云数据集成平台,将金蝶系统的生产入库数据转换并写入旺店通·旗舰奇门系统。通过对元数据配置的深入解析,我们展示了ETL过程中的关键技术点和实际应用案例,为实现不同系统间的数据无缝对接提供了有效解决方案。