数据集成案例:将金蝶云数据转换并写入旺店通WMS

  • 轻易云集成顾问-彭亮

金蝶云星空数据集成到旺店通WMS的技术案例:调拨入库=>其他入库单-1

在实现金蝶云星空与旺店通WMS的系统对接过程中,针对“调拨入库 => 其他入库单-1”的具体需求,我们设计了一套高效、稳定的数据集成方案。本案例着重解析API接口调用和大数据量处理中的关键技术点。

首先,我们利用金蝶云星空提供的数据接口executeBillQuery,定时抓取目标业务范围内的数据。通过合理设置分页参数,有效缓解了由于数据量大而导致的系统压力,同时避免漏单现象发生。

其次,为确保数据能够快速且准确地写入旺店通WMS系统,我们采用批量导入方式,并调用其API WDT_WMS_ENTRYORDER_CREATE进行插入操作。在此过程中,特别考虑到了两者之间的数据格式差异,通过自定义映射模块,实现了格式转换和字段对齐。同时,对于可能出现的接口限流问题,我们设计了智能重试机制,以提高整体可靠性。

整个流程中,每个环节均由实时监控与日志记录功能支撑,一旦发生异常能够及时预警并追溯来源,从而有效保障了整个集成过程的可控性和透明度。以下是该解决方案中重要技术实施细节与步骤解析。 用友与外部系统接口集成开发

调用金蝶云星空接口executeBillQuery获取并加工数据

在数据集成的生命周期中,调用源系统接口获取数据是至关重要的第一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口来获取并加工数据。

接口配置与请求参数

首先,我们需要配置接口及其请求参数。根据元数据配置,executeBillQuery接口采用POST方法,需要传递多个字段以确保正确的数据查询和返回。

以下是关键的请求参数及其配置:

  • FormId: 业务对象表单Id,必须填写金蝶的表单ID,如:STK_TransferDirect
  • FieldKeys: 需查询的字段key集合,格式为字符串数组,通过逗号分隔。
  • FilterString: 过滤条件,用于限定查询范围,例如:FApproveDate>='{{MINUTE_AGO_30|datetime}}' and FDestStockId.F_JZJ_CheckBox=1
  • Limit: 最大行数,用于分页查询。
  • StartRow: 开始行索引,用于分页查询。
  • TopRowCount: 返回总行数。

请求示例

以下是一个完整的请求示例:

{
    "FormId": "STK_TransferDirect",
    "FieldKeys": "FBillEntry_FEntryID,FID,FBillNo,FDocumentStatus,FStockOrgId.FNumber,FDate,FBillTypeID.FNumber,FTransferBizType,FStockOutOrgId.FNumber,FTransferDirect,FNote,FBizType,FSaleOrgId.FNumber,FSettleOrgId.FNumber,FCustID.FNumber,FSUPPLIERID.FNumber,FThirdSrcId,FThirdSrcBillNo,FThirdSystem,FMaterialId.FNumber,FLot.fnumber,FSrcStockId.FNumber,FSrcStockLocId,FDestStockId.FNumber,FDestStockLocId,FQty,FPrice,FAmount,FBomId,FProduceDate,FExpiryDate,FMtoNo,FSrcStockStatusId,FDestStockStatusId,FOwnerId.FNumber,FOwnerOutId.FNumber,FSrcBillTypeId,FSrcSeq,FOrderNo,FNoteEntry,FSrcBillNo,FBFLowId,FConsignPrice,FTaxPrice,FTaxRate,FDestLot.fnumber,FQmEntryId,FConvertEntryId,FSOEntryId,FThirdSrcEntryId,FISFREE",
    "FilterString": "FApproveDate>='{{MINUTE_AGO_30|datetime}}' and FDestStockId.F_JZJ_CheckBox=1",
    "Limit": 100,
    "StartRow": 0,
    "TopRowCount": 0
}

数据清洗与转换

在获取到原始数据后,需要对数据进行清洗和转换,以便后续处理和写入目标系统。以下是一些常见的数据清洗和转换操作:

  1. 字段映射:将源系统中的字段映射到目标系统中的相应字段。例如,将FBillNo映射到目标系统中的单据编号字段。
  2. 数据类型转换:确保所有字段的数据类型符合目标系统的要求。例如,将日期字符串转换为标准日期格式。
  3. 值校验与修正:检查关键字段的值是否符合业务规则,并进行必要的修正。例如,确保数量字段不为空且大于零。

实际案例

假设我们需要从金蝶云星空中获取调拨入库单的数据,并将其写入到其他入库单中。具体步骤如下:

  1. 调用接口获取数据

    • 配置并发送上述请求,获取调拨入库单的数据。
  2. 清洗与转换数据

    • 将返回的数据进行字段映射,如将FBillNo映射为目标系统中的单据编号。
    • 转换日期格式,将FDate从字符串格式转换为标准日期格式。
    • 校验数量字段FQty,确保其不为空且大于零。
  3. 写入目标系统

    • 将清洗和转换后的数据通过轻易云平台写入到其他入库单中。

通过以上步骤,我们可以高效地实现从金蝶云星空到目标系统的数据集成。这不仅提高了数据处理的准确性和效率,还确保了业务流程的顺畅运行。 钉钉与CRM系统接口开发配置

将源平台数据转换为旺店通WMSAPI接口格式并写入

在数据集成生命周期的第二步中,我们需要将已经从源平台获取的数据进行ETL(提取、转换、加载)处理,最终将其写入目标平台——旺店通WMS。本文将详细探讨如何通过轻易云数据集成平台实现这一过程。

API接口配置

首先,我们需要配置与目标平台的API接口。根据提供的元数据配置,我们使用WDT_WMS_ENTRYORDER_CREATE接口,通过POST方法向旺店通WMS发送数据。以下是具体的API配置细节:

  • API: WDT_WMS_ENTRYORDER_CREATE
  • Method: POST
  • ID Check: true

数据转换逻辑

在进行数据转换时,我们需要遵循以下操作逻辑:

  1. 合并操作: 使用merge方法,将字段FBillNo作为唯一标识符,确保每个入库单号唯一。
  2. 主体名称: 数据主体命名为details,包含表头和表体信息。
  3. 表头字段:
    • FBillNo: 入库单号
    • FDate: 入库日期
    • FDestStockId_FNumber: 目的仓库编码
  4. 表体字段:
    • FMaterialId_FNumber: 商品编码
    • FBillEntry_FEntryID: 入库单行号
    • FQty: 商品数量
    • FDestLot: 批次号
    • FProduceDate: 生产日期
    • FExpiryDate: 过期日期

请求体构建

根据元数据配置,我们需要构建请求体,将源平台的数据映射到目标平台所需的格式。具体映射关系如下:

  1. 入库单信息(entryOrder):

    • 入库单号(entryOrderCode): {FBillNo}
    • 仓库编码(warehouseCode): {FDestStockId_FNumber}
    • 业务类型(orderType): 固定值DBRK
  2. 单据信息(orderLines): 每个订单行信息包含以下字段:

    • 商家编码(itemCode): {details.FMaterialId_FNumber}
    • 应收商品数量(planQty): {details.FQty}
    • 入库单的行号(orderLineNo): {details.FBillEntry_FEntryID}
    • 库存类型(inventoryType): 固定值ZP
    • 批次(batchCode): {details.FDestLot}
    • 生产日期(productDate): {details.FProduceDate|date}
    • 过期日期(expireDate): {details.FExpiryDate|date}

实际案例应用

假设我们从源平台获取到如下数据:

{
    "FBillNo": "RK20230901",
    "FDate": "2023-09-01",
    "FDestStockId_FNumber": "WH001",
    "details": [
        {
            "FMaterialId_FNumber": "ITEM001",
            "FBillEntry_FEntryID": "1",
            "FQty": "100",
            "FDestLot": "LOT20230901",
            "FProduceDate": "2023-08-01",
            "FExpiryDate": "2024-08-01"
        }
    ]
}

通过ETL转换后,生成的请求体应如下所示:

{
    "entryOrder": {
        "entryOrderCode": "RK20230901",
        "warehouseCode": "WH001",
        "orderType": "DBRK"
    },
    "orderLines": [
        {
            "orderLine": {
                "itemCode": "ITEM001",
                "planQty": "100",
                "orderLineNo": "1",
                "inventoryType": "ZP",
                "batchCode": "LOT20230901",
                "productDate": "2023-08-01",
                "expireDate": "2024-08-01"
            }
        }
    ]
}

数据写入

最后一步是将构建好的请求体通过POST方法发送至旺店通WMS的API接口,实现数据写入。轻易云数据集成平台提供了全透明可视化的操作界面,可以实时监控数据流动和处理状态,确保每个环节都清晰易懂。

通过以上步骤,我们成功地将源平台的数据进行了ETL转换,并写入到了目标平台旺店通WMS中。这一过程不仅提高了业务效率,还确保了数据的一致性和准确性。 电商OMS与ERP系统接口开发配置

更多系统对接方案