如何通过轻易云实现供应商数据集成

  • 轻易云集成顾问-蔡威

金蝶云星空到泛微OA-Http的供应商数据集成案例

在本技术案例中,我们探讨了将金蝶云星空系统中的供应商数据集成到泛微OA-Http平台的方法。这一过程通过逐单查询和批量写入,确保每个环节都顺畅无误。下面我们将详细介绍如何利用轻易云的数据集成平台,实现这一目标。

首先,我们需要从金蝶云星空系统获取供应商数据,这一步骤使用的是ExecuteBillQuery接口。为了确保数据的完整性和及时性,我们设计了一套定时可靠的抓取机制,通过处理分页和限流问题来高效获取大规模数据。在这一过程中,支持高吞吐量的数据写入能力显得尤为重要,它使得大量数据能够快速被提取并写入下一流程。

具体而言,为了解决不同系统之间的数据格式差异,我们自定义了专门的数据转换逻辑。这些转换规则不仅涵盖了字段映射,还包括复杂业务逻辑的适配。例如,将金蝶云星空中的某些特定字段转化为泛微OA-Http可识别且符合其业务要求的格式。同时,通过轻易云提供的可视化数据流设计工具,使整个配置过程变得直观且易于管理。

接下来是实现实际的数据提交操作。我们调用了泛微OA-Http接口/api/cube/new/card/doSubmit来进行逐单记录插入。在整个对接过程中,一系列监控与告警系统随时跟踪任务状态及性能参数,以便实时发现并解决潜在问题。

此外,在异常处理方面,如果出现任何意料之外的问题,会自动触发错误重试机制,从而保障整体流程的稳定性。因此,无论是网络波动还是暂时无法访问API,都不会影响最终的数据一致性和平稳运行。

通过这种全生命周期管理方式,不仅提高了业务透明度,也极大地提升了工作效率和准确率。在后续文章中,我们将进一步深入探讨各个步骤及细节,包括如何具体实施这些接口调用、如何优化性能以及怎样处理异常情况等。 金蝶与WMS系统接口开发配置

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

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

接口配置与请求参数

在轻易云平台上,我们需要配置元数据以便正确调用金蝶云星空的API接口。以下是我们需要配置的元数据:

{
  "api": "ExecuteBillQuery",
  "effect": "QUERY",
  "method": "POST",
  "number": "FNumber",
  "id": "FId",
  "request": [
    {
      "field": "Limit",
      "label": "Limit",
      "type": "string",
      "describe": "金蝶的查询分页参数",
      "value": "500"
    },
    {
      "field": "StartRow",
      "label": "StartRow",
      "type": "string",
      "describe": "金蝶的查询分页参数"
    },
    {
      "field": "TopRowCount",
      "label": "TopRowCount",
      "type": "int",
      "describe": "金蝶的查询分页参数"
    },
    {
      "field": "FilterString",
      "label": "FilterString",
      "type": "string",
      "describe": 
        `示例写法 FSupplierId.FNumber = 'VEN00010' and FApproveDate>=`,
        `value":"FAuditDate>='{{LAST_SYNC_TIME|dateTime}}' and FUseOrgId.FNumber='000' and FForbidStatus='A'"
    },
    {
      ``field``: ``FieldKeys``,
       ``label``: ``FieldKeys``,
       ``type``: ``array``,
       ``describe``: 
         `金蝶分录主键ID格式:FPOOrderEntry_FEntryId,其它格式 FPurchaseOrgId.FNumber`,
         `value":"{MAIN_REQUEST}"
    },
    {
       ``field``: ``FormId``,
       ``label``: ``FormId``,
       ``type``: ``string``,
       ``describe``: 
         `必须填写金蝶的表单ID如:PUR_PurchaseOrder`,
         `value":"BD_Supplier"
     }
  ],
  autoFillResponse: true
}

请求参数详解

  1. Limit:用于设置每次查询返回的数据条数,本文设置为500。
  2. StartRow:用于设置查询起始行,通常用于分页。
  3. TopRowCount:用于限制返回结果的最大行数。
  4. FilterString:用于设置过滤条件。例如,FAuditDate>='{{LAST_SYNC_TIME|dateTime}}' and FUseOrgId.FNumber='000' and FForbidStatus='A'表示只查询审核日期在上次同步时间之后、使用组织编号为‘000’且未禁用的记录。
  5. FieldKeys:指定需要返回的字段,例如主键ID等。
  6. FormId:指定要查询的表单ID,这里为供应商表单BD_Supplier

调用API并处理响应

通过上述配置,我们可以使用POST方法调用ExecuteBillQuery接口。以下是一个示例请求体:

{
  “FormId”: “BD_Supplier”,
  “FieldKeys”: “FNumber,FName,FCreateDate”,
  “FilterString”: “FAuditDate>='2023-01-01' and FUseOrgId.FNumber='000' and FForbidStatus='A'”,
  “Limit”: “500”
}

该请求将返回符合条件的供应商信息,包括供应商编号、名称和创建日期。

数据清洗与转换

获取到原始数据后,需要对其进行清洗和转换,以便后续写入目标系统。常见的数据清洗操作包括:

  1. 字段映射:将源系统字段映射到目标系统字段。例如,将金蝶中的FNumber映射到目标系统中的供应商编号字段。
  2. 数据格式转换:例如,将日期格式从YYYY-MM-DD转换为目标系统所需的格式。
  3. 数据过滤:根据业务规则过滤掉不需要的数据。

自动填充响应

轻易云平台支持自动填充响应功能,可以简化部分开发工作。例如,通过配置autoFillResponse: true,平台会自动处理API响应并填充到预定义的数据结构中。

通过以上步骤,我们实现了从金蝶云星空获取供应商数据并进行初步加工,为后续的数据写入和进一步处理奠定了基础。这一过程不仅提高了数据集成效率,也确保了数据的一致性和准确性。 金蝶与WMS系统接口开发配置

使用轻易云数据集成平台实现供应商数据转换与写入泛微OA-HttpAPI接口

在数据集成过程中,ETL(Extract, Transform, Load)是关键步骤之一。本文将详细探讨如何利用轻易云数据集成平台,将来自供应商金蝶的数据转换为泛微OA-HttpAPI接口所能接收的格式,并最终写入目标平台。

1. 数据请求与清洗

首先,我们需要从源系统(金蝶)获取供应商相关的数据。假设我们已经完成了数据的提取和初步清洗,接下来就是对这些数据进行转换,以适应目标系统(泛微OA)的要求。

2. 数据转换与写入

在这一阶段,我们将使用轻易云提供的元数据配置来实现数据的转换和写入。以下是具体的元数据配置:

{
  "api": "/api/cube/new/card/doSubmit",
  "effect": "EXECUTE",
  "method": "POST",
  "idCheck": true,
  "request": [
    {
      "field": "billid",
      "label": "参数ID",
      "type": "string",
      "describe": "打开泛微表单后可以在URL中获取该参数",
      "value": "{F_WMMX_OAId}"
    },
    {
      "field": "type",
      "label": "类型",
      "type": "string",
      "describe": "类型",
      "value": "_function case '{F_WMMX_OAId}' when '' then 1 else 2 end"
    },
    {
      "field": "modeId",
      "label": "modeId",
      "type": "string",
      "describe": "//0 正常,1重要,2紧急",
      "value": "32"
    },
    {
      "field": "formId",
      ...

3. 配置解析与应用

API接口配置

api字段指定了目标系统的API路径,即/api/cube/new/card/doSubmit。该路径用于提交新的卡片信息。

请求方法

method字段定义了请求方法为POST,表示我们将以POST请求方式提交数据。

参数配置

每个参数的配置如下:

  • billid: 从URL中获取的表单参数ID。
  • type: 类型字段,根据条件判断设置为1或2。
  • modeId: 固定值32,表示正常模式。
  • formId: 固定值-179,对应特定表单ID。
  • JSONStr: 包含多个子字段,用于传递具体的供应商信息。
JSONStr子字段解析

以下是部分关键子字段及其对应关系:

  • field11628(银行账号): 对应金蝶中的SupplierBank.0.BankCode
  • field11626(使用组织): 对应金蝶中的UseOrgId_Name
  • field11627(收款银行): 对应金蝶中的SupplierBank.0.OpenBankName_new
  • field11625(供应商编码): 对应金蝶中的Number
  • field11257(供应商名字): 对应金蝶中的chinese_name

通过这些配置,我们可以将从金蝶提取的数据映射到泛微OA所需的格式。

4. 特殊处理逻辑

在某些情况下,需要对特定字段进行特殊处理。例如:

{
  ...
  {
    "field":"iscreate","label":"iscreate","type":"string","value":"_function case '{F_WMMX_OAId}' when '' then 1 else 0 end"
  }
}

上述配置表示,如果参数ID为空,则设置为1,否则设置为0。这种条件判断可以确保在不同情况下正确处理数据。

5. 提交与监控

最后,通过轻易云的数据集成平台,我们可以实时监控数据流动和处理状态,确保每个环节都清晰可见。当所有配置完成后,执行POST请求,将转换后的数据提交到泛微OA系统,实现无缝对接。

以上就是利用轻易云数据集成平台实现供应商数据转换与写入泛微OA-HttpAPI接口的详细过程。通过灵活运用元数据配置,可以高效地完成不同系统间的数据集成任务。 钉钉与ERP系统接口开发配置

更多系统对接方案