轻易云平台数据集成:金蝶销退单转聚水潭入库单ETL实践

  • 轻易云集成顾问-贺强

金蝶云星空与聚水潭系统集成案例解析:销售退货单至其他入库单

在快速变化的商业环境中,企业之间的数据共享和业务对接日益频繁。本文将具体阐述一个金蝶云星空与聚水潭的实际数据集成案例,即如何将金蝶云星空中的销售退货单高效、准确地同步为聚水潭平台上的其他入库单。

对于该集成任务,首先,需要利用金蝶云星空提供的executeBillQuery API来抓取最新的销售退货单数据。此接口支持定时可靠的数据获取,可以确保不会发生漏单风险,同时处理分页和限流问题,以保证大批量数据能够平稳传输。在此过程中,通过自定义的数据转换逻辑,将不同系统间的数据格式差异进行适配,从而完成内容一致性校验。

随后,使用轻易云平台强大的可视化数据流设计工具,我们可以直观地配置整个数据流程,并利用其实时监控及日志记录功能,对每个处理环节进行严格跟踪。这不仅有助于发现并及时解决出现的问题,还能借由集中监控和告警系统迅速定位性能瓶颈,提高整体效率。

最终,经由轻松配置后的API接口写入到聚水潭(/open/jushuitan/otherinout/upload),确保大量数据能以极高的吞吐量进入目标系统。同时,为应对可能出现的异常场景设置重试机制,使得操作更具稳定性。另外,结合自身拥有的数据质量监控功能,全程保持信息准确无误,有力保障了业务流程的一致性和可靠度。

通过上述步骤,这一典型案例不仅展示了充分发挥技术手段实现跨平台高效集成的重要性,也反映出元数据信息管理在现代数字化企业运营中的实用价值。 如何对接用友BIP接口

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

在数据集成过程中,调用源系统的API接口是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的executeBillQuery接口来获取销售退货单数据,并进行初步加工。

接口调用配置

首先,我们需要配置调用金蝶云星空的executeBillQuery接口。根据提供的元数据配置,可以看到该接口使用POST方法进行请求,主要参数如下:

  • api: executeBillQuery
  • method: POST
  • number: FBillNo
  • id: FEntity_FENTRYID
  • idCheck: true

请求参数包括实体主键、单据编号、销售组织、库存组织等多个字段。这些字段在请求体中以JSON格式传递。

请求参数解析

以下是请求参数的详细解析:

{
  "FID": "实体主键",
  "FBillNo": "单据编号",
  "FSaleOrgId": "销售组织",
  "FStockOrgId": "库存组织",
  "FSettleOrgId": "结算组织",
  "FApproveDate": "日期",
  "FRetcustId": "客户",
  "FMaterialId.FNumber": "物料",
  "FOwnerIdHead": "货主",
  "FRealQty": "实发数量",
  "FStockId.FNumber": "仓库id",
  "FTaxPrice": "含税单价",
  ...
}

这些字段在实际应用中需要根据具体业务需求进行填充。例如,FBillNo代表单据编号,FSaleOrgId代表销售组织等。

数据过滤与分页

为了提高查询效率和准确性,我们可以使用过滤条件和分页参数:

  • FilterString: 用于设置查询条件,例如:

    FApproveDate >= '{{LAST_SYNC_TIME|dateTime}}' AND FDocumentStatus='C' and FBillTypeID.FNumber <> 'XSTHD11' and FISGENFORIOS = '0' and FStockOrgId.FNumnber <> '124'
  • LimitStartRow: 分别表示每次查询返回的最大行数和开始行索引,用于分页处理。

字段映射与转换

在接收到金蝶云星空返回的数据后,需要对数据进行初步加工和转换。以下是一些关键字段及其映射关系:

  • FMaterialId_FNumber 映射到物料编号
  • FStockId_FNumber 映射到仓库ID
  • FTaxPrice 映射到含税单价

这些字段在后续的数据处理和写入过程中将被进一步使用。

数据清洗与处理

在获取到原始数据后,需要对数据进行清洗和处理,以确保数据质量。例如,可以检查字段是否为空或符合预期格式:

"condition":[
    [{"field":"F_POKM_JSTSTOCKNUMBER","logic":"notnull"}]
]

上述条件确保了对接聚水潭仓库编码不为空的数据才会被进一步处理。

实际案例应用

假设我们需要从金蝶云星空获取所有状态为已审核且未生成跨组织结算的销售退货单,并将其转换为聚水潭系统中的其他入库单。具体步骤如下:

  1. 配置并发送executeBillQuery请求,包含必要的过滤条件和分页参数。
  2. 接收并解析返回的数据,根据业务需求提取所需字段。
  3. 对提取的数据进行清洗和转换,确保数据格式符合目标系统要求。
  4. 将清洗后的数据写入聚水潭系统,完成数据集成。

通过上述步骤,我们实现了从金蝶云星空到聚水潭系统的数据无缝对接,确保了数据的一致性和准确性。 轻易云数据集成平台金蝶集成接口配置

使用轻易云数据集成平台实现金蝶销售退货单到聚水潭其他入库单的ETL转换

在数据集成过程中,ETL(Extract, Transform, Load)是关键步骤之一。本文将详细介绍如何利用轻易云数据集成平台,将金蝶系统中的销售退货单数据转换为聚水潭API接口所能接收的其他入库单格式,并最终写入目标平台。

数据请求与清洗

首先,我们需要从金蝶系统中提取销售退货单的数据。假设我们已经完成了数据请求与清洗阶段,现在我们将重点放在数据转换与写入阶段。

数据转换与写入

为了将金蝶的销售退货单转换为聚水潭的其他入库单,我们需要配置以下元数据:

{
  "api": "/open/jushuitan/otherinout/upload",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "is_confirm",
      "label": "是否确认单据",
      "type": "string",
      "value": "_function IF({F_POKM_JSTSTOCKNUMBER} = 10816570 , 1 , 0 )"
    },
    {
      "field": "excute_confirming",
      "label": "是否审核单据",
      "type": "string",
      "value": "false"
    },
    {
      "field": "wms_co_id",
      "label": "仓库编号",
      "type": "int",
      "value": "{F_POKM_JSTSTOCKNUMBER}"
    },
    {
      "field": "type",
      "label": "出入库类型",
      "type": "string",
      "value": "in"
    },
    {
      "field": "external_id",
      "label": "外部单号",
      "type": "string",
      "value": "{FBillNo}{F_POKM_JSTSTOCKNUMBER}{F_POKM_JSTSTOCKNUMBER2}"
    },
    {
      "field": "remark",
      ...

以上配置是将金蝶系统中的字段映射到聚水潭API接口所需字段的一部分。接下来,我们逐个字段进行解析和转换:

  1. is_confirm:根据仓库编号({F_POKM_JSTSTOCKNUMBER})判断是否确认单据。如果仓库编号为10816570,则确认,否则不确认。

    {
     field: 'is_confirm',
     label: '是否确认单据',
     type: 'string',
     value: '_function IF({F_POKM_JSTSTOCKNUMBER} = 10816570 , 1 , 0 )'
    }
  2. excute_confirming:设置为false,表示不审核单据。

    {
     field: 'excute_confirming',
     label: '是否审核单据',
     type: 'string',
     value: 'false'
    }
  3. wms_co_id:直接映射金蝶的仓库编号。

    {
     field: 'wms_co_id',
     label: '仓库编号',
     type: 'int',
     value: '{F_POKM_JSTSTOCKNUMBER}'
    }
  4. type:固定值in,表示入库类型。

    {
     field: 'type',
     label: '出入库类型',
     type: 'string',
     value: 'in'
    }
  5. external_id:组合外部单号,由金蝶的FBillNoF_POKM_JSTSTOCKNUMBERF_POKM_JSTSTOCKNUMBER2组成。

    {
     field: 'external_id',
     label: '外部单号',
     type: 'string',
     value: '{FBillNo}{F_POKM_JSTSTOCKNUMBER}{F_POKM_JSTSTOCKNUMBER2}'
    }
  6. remark:备注信息,包含金蝶的销售退货单号。

    {
     field: 'remark',
     label: '备注',
     type: 'string',
     value: '金蝶线下销售退货单据推送,单号:{FBillNo}'
    }
  7. items:这是一个数组字段,包含商品编码和入库数量。每个商品的信息通过子字段进行映射:

    • sku_id: 商品编码,对应金蝶的物料编码(list.FMaterialId_FNumber)。

    • qty: 入库数量,对应金蝶的实际数量(list.FRealQty)。

{
  field: 'items',
  label: 'items',
  type: 'array',
  value: 'list',
  children:[
    { 
        field:'sku_id', 
        label:'商品编码', 
        type:'string', 
        value:'{{list.FMaterialId_FNumber}}' 
    },
    { 
        field:'qty', 
        label:'入库数量', 
        type:'string', 
        value:'{{list.FRealQty}}' 
    }
  ]
}
  1. drp_co_name:固定值“线下销售退货”,表示出库类型。

    {
    field:'drp_co_name', 
    label:'出库类型', 
    type:'string', 
    value:'线下销售退货'
    }
  2. warehouse:分仓信息,对应金蝶的分仓编号({F_POKM_JSTSTOCKNUMBER2})。

    {
    field:'warehouse', 
    label:'分仓', 
    type:'string', 
    value:'{F_POKM_JSTSTOCKNUMBER2}'
    }

操作配置

最后,我们需要定义操作配置,以确保正确地合并和处理数据:

{
  method:"merge", 
  field:"FBillNo,F_POKM_JSTSTOCKNUMBER,F_POKM_JSTSTOCKNUMBER2", 
  bodyName:"list", 
  header:["FBillNo","F_POKM_JSTSTOCKNUMBER","F_POKM_JSTSTOCKNUMBER2"], 
  body:["FMaterialId_FNumber","FRealQty"], 
  bodySum:["FRealQty"]
}

该操作配置定义了如何合并来自不同源的数据,并将其映射到目标API接口所需的格式。

通过上述配置,我们可以实现从金蝶系统到聚水潭系统的数据无缝对接,确保每个字段都能正确映射和转换,从而顺利完成ETL过程。这种高效的数据集成方案不仅提高了业务透明度,还大大提升了操作效率。 钉钉与ERP系统接口开发配置

更多系统对接方案