数据集成与ETL转换:写入金蝶云星空API接口

  • 轻易云集成顾问-叶威宏

(线下)对账导入对接金蝶应收单:实现高效数据集成

在实际的企业业务运营中,对账数据的正确导入和处理至关重要。本文将分享一个具体案例,展示如何通过轻易云数据集成平台,实现从金蝶云星空系统到另一个金蝶云星空实例的数据高效对接——特别是在(线下)对账导入到应收单的场景。

为了确保整个过程中的数据不漏单并且快速写入,我们利用了几个关键API接口,包括获取数据的executeBillQuery和写入数据的batchSave。这些API提供了可靠的方法来处理大量的数据,并保证其准确性。

首先,在源系统中执行一次完整的数据抓取操作,这是通过调用executeBillQuery接口实现的。该接口支持定时抓取功能,可以按照设定计划自动拉取最新的数据,为批量处理提供基础。在这一过程中,需要注意分页及限流问题,以避免超出接口限制导致失败或延迟。

其次,针对获取到的大量原始对账数据,我们进行了必要的数据预处理。这包括格式转换、字段匹配以及根据业务需要进行的一些自定义映射。对于不同类型或结构复杂度较高的数据,通过制定特定的映射规则,保证在目标系统成功落地并且符合业务需求。

在实施过程中,还需考虑异常情况和错误重试机制。一旦出现网络问题或者其他意外状况,通过内置日志记录与实时监控功能,可以迅速定位问题来源,并采取相应措施,比如重新执行部分任务以补偿遗漏的数据包。此外,对接双方环境配置与性能优化也是重点关注点,以确保总体流程高效稳定运行。

本案例重点解决的问题是如何有效地将大批量、本地离线产生的对账信息安全、迅速地同步至远程服务器上的金蝶云星空应收模块。这不仅提高了财务部门日常工作的效率,也为后续财务分析奠定了坚实基础。在下一篇详细说明中,我们将进一步探讨具体配置步骤及技术细节,包括相关代码示例和参数设置方法等内容。 打通用友BIP数据接口

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

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

接口配置与请求参数

首先,我们需要了解executeBillQuery接口的基本配置和请求参数。根据提供的元数据配置,接口采用POST方法进行调用,主要用于查询操作(effect: QUERY)。以下是关键的请求参数:

  • FID: 唯一标识符
  • FEntity_FEntryID: 明细行标识符
  • FBillNo: 单据编号
  • FDocumentStatus: 单据状态(如暂存、创建、审核中、已审核)
  • F_PBLH_BillTypeID_qtr_FNumber: 单据类型(如标准采购订单、标准委外订单等)
  • F_PBLH_shop_no_FNumber: 店铺编码
  • F_PBLH_shop_no_FName: 店铺名称
  • F_PBLH_trade_no: 订单编号
  • F_PBLH_spec_no_FNumber: 货品编号
  • F_PBLH_spec_no_FName: 货品名称
  • F_PBLH_goods_count: 货品数量
  • F_PBLH_receivable: 应收金额
  • F_PBLH_paid: 单品支付金额
  • F_PBLH_consign_time: 发货日期
  • F_PBLH_trade_type: 订单类型
  • FDate: 应收单日期

此外,还有一些其他请求参数,如最大行数(Limit)、开始行索引(StartRow)、过滤条件(FilterString)等。

请求示例

为了更好地理解如何调用该接口,以下是一个具体的请求示例:

{
    "FormId": "PBLH_WDTDZJG",
    "FieldKeys": "FID,FEntity_FEntryID,FBillNo,FDocumentStatus,F_PBLH_BillTypeID_qtr.FNumber,F_PBLH_shop_no.FNumber,F_PBLH_shop_no.FName,F_PBLH_trade_no,F_PBLH_spec_no.FNumber,F_PBLH_spec_no.FName,F_PBLH_goods_count,F_PBLH_receivable,FDate",
    "FilterString": "FApproveDate>='2023-01-01' and F_PBLH_shop_no.F_PBLH_isonline = 0 and F_PBLH_BillTypeID_qtr.FNumber='CKDZ'",
    "Limit": "2000",
    "StartRow": "0"
}

在这个请求中,我们指定了业务对象表单Id为PBLH_WDTDZJG,需要查询的字段集合包括FID, FBillNo, FBillNo, FDocumentStatus, FDate等,并通过过滤条件筛选出符合条件的数据。

数据清洗与转换

获取到原始数据后,需要对其进行清洗和转换,以便后续处理。轻易云平台提供了强大的数据清洗和转换功能,可以通过可视化界面设置各种规则。例如:

  1. 字段映射与重命名:将原始字段映射到目标系统所需的字段,并进行重命名。
  2. 数据格式转换:将日期格式从YYYY-MM-DD转换为目标系统所需的格式。
  3. 数据过滤与校验:根据业务规则过滤掉不符合要求的数据,并进行必要的校验。

数据写入

完成数据清洗和转换后,下一步是将处理后的数据写入目标系统。这通常涉及到调用目标系统的API接口,将清洗后的数据批量插入或更新到目标数据库中。

实时监控与日志记录

在整个过程中,轻易云平台提供了实时监控和日志记录功能,可以随时查看每个步骤的执行状态和结果。如果出现错误,可以通过日志快速定位问题并进行修复。

通过以上步骤,我们可以高效地调用金蝶云星空接口executeBillQuery获取并加工数据,为后续的数据处理和分析奠定坚实基础。 金蝶与SCM系统接口开发配置

数据集成与ETL转换:将数据写入金蝶云星空API接口

在数据集成生命周期的第二步,我们将已经集成的源平台数据进行ETL转换,转为目标平台金蝶云星空API接口所能够接收的格式,并最终写入目标平台。本文将深入探讨如何通过轻易云数据集成平台实现这一过程。

配置元数据

首先,我们需要配置元数据,以确保数据能够正确地转换并写入金蝶云星空API接口。以下是一个详细的元数据配置示例:

{
  "api": "batchSave",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "operation": {
    "method": "merge",
    "field": "FDate,F_PBLH_shop_no_FNumber,F_PBLH_consign_time,F_PBLH_shop_no_F_PBLH_custno,F_PBLH_trade_no,KDStock",
    "bodyName": "list",
    "bodySum": ["F_PBLH_goods_count", "F_PBLH_single_allamount"],
    "header": ["FDate", "F_PBLH_shop_no_FNumber", "F_PBLH_consign_time", "F_PBLH_shop_no_F_PBLH_custno", "F_PBLH_trade_no", "KDStock"],
    "body": ["F_PBLH_spec_no_FNumber", "F_PBLH_goods_count", "F_PBLH_single_allamount"]
  },
  ...
}

请求参数解析

在请求参数中,我们需要特别注意字段的解析和转换。例如,以下字段通过ConvertObjectParser进行解析:

{
  "field": "FBillTypeID",
  "label": "单据类型",
  ...
  "parser": {
    "name": "ConvertObjectParser",
    ...
  },
  ...
}

这些字段包括但不限于单据类型、结算组织、客户、销售部门等。解析器会根据预定义规则将源数据转换为目标系统所需的格式。

数据清洗与转换

在ETL过程中,数据清洗与转换是关键步骤。我们需要确保每个字段的数据都符合目标系统的要求。例如,以下是一些具体的转换规则:

  • 业务日期:将源系统中的业务日期字段{FDate}直接映射到目标系统。
  • 客户:通过MongoDB查询获取客户编号,并映射到目标系统。
  • 物料编码:物料编码通过ConvertObjectParser进行解析,并映射到目标系统。
{
  ...
  {
    "field": "FCUSTOMERID",
    ...
    "value": "_mongoQuery f3b55dc4-44d0-3a14-a28f-c372d39e70cc findField=content.FCustomerId_FNumber where={\"content.FNumber\":{\"$eq\":\"{F_PBLH_shop_no_FNumber}\"}}"
  },
  ...
}

明细处理

对于明细部分,我们需要处理多个子字段,并确保它们正确地映射到目标系统。例如:

{
  ...
  {
    "field": "FEntityDetail",
    ...
    {
      ...
      {
        ...
        {
          ...
          {
            ... 
            {"field":"warehouse_no","label":"warehouse_no","type":"string","value":"{KDStock}"}
          }
        }
      }
    }
  }
}

在这个示例中,我们处理了物料编码、计价数量、含税单价等多个字段,并确保它们符合金蝶云星空API接口的要求。

提交与审核

最后,我们需要配置提交和审核选项,以确保数据能够自动提交并审核:

{
  ...
  {
    ... 
    {"field":"IsAutoSubmitAndAudit","label":"提交并审核","type":"bool","describe":"提交并审核","value":"true"}
   }
}

通过上述配置,我们可以实现从源平台到金蝶云星空API接口的数据无缝对接。这不仅提高了数据处理效率,还确保了数据的一致性和准确性。 如何对接用友BIP接口

更多系统对接方案