使用轻易云实现金蝶云星空销售出库单数据ETL转换

  • 轻易云集成顾问-胡秀丛
### 金蝶云星空数据集成案例分享:销售出库单-箱包事业部TW-OK 在这篇技术案例中,我们将分享如何有效地实现金蝶云星空到金蝶云星空的系统对接。具体来说,我们重点介绍的是“销售出库单-箱包事业部TW-OK”方案的实际运行经验和技术要点。该方案旨在通过高效的数据集成来优化业务流程,并确保数据处理全程无缝衔接。 首先,通过使用executeBillQuery API接口从源金蝶云获取相关业务数据,该接口能够定时可靠地抓取所需数据,保障了信息的及时性与准确性。同时,为了应对批量写入需求,我们采用batchSave API接口大量快速且安全地将获取的数据写入到目标金蝶云系统中,从而实现了跨系统间的数据同步。 在此过程中,利用轻易平台提供的信息流可视化设计工具,使得整个数据流动过程更加直观、更容易管理。此外,为了保证数据质量和稳健性,我们设置了集中监控和告警系统,能实时跟踪每个集成任务的状态及性能,一旦出现异常情况可以迅速响应并作出相应处理。 通过上述步骤,本次实施不仅满足了箱包事业部对销售出库单数据的一致性、高效性的要求,同时也为企业API资产管理提供了一种有效途径,帮助全面掌握资源使用情况,提高整体自动化水平。在后续部分,将详细拆解各个关键环节中的具体技术细节,包括分页限流策略、自定义转换逻辑、异常重试机制等内容,以供业界同仁参考与借鉴。 ![用友与CRM系统接口开发配置](https://pic.qeasy.cloud/D6.png~tplv-syqr462i7n-qeasy.image) ### 调用金蝶云星空接口executeBillQuery获取并加工数据 在数据集成的生命周期中,调用源系统接口获取数据是至关重要的一步。本文将详细探讨如何通过轻易云数据集成平台调用金蝶云星空的`executeBillQuery`接口来获取销售出库单数据,并进行必要的数据加工。 #### 接口配置与请求参数 为了成功调用金蝶云星空的`executeBillQuery`接口,我们需要配置相应的元数据。以下是关键的配置项: - **API**: `executeBillQuery` - **Method**: `POST` - **FormId**: `SAL_OUTSTOCK`(业务对象表单Id) - **Pagination**: 支持分页,每页500条记录 - **FieldKeys**: 需查询的字段key集合 - **FilterString**: 过滤条件,用于筛选特定的数据 请求参数主要包括以下几类: 1. **基础信息字段** - 单据类型 (`FBillTypeID.FNumber`) - 单据编号 (`FBillNo`) - 日期 (`FDate`) - 审核时间 (`FApproveDate`) - 销售组织 (`FSaleOrgId.FNumber`) - 客户 (`FCustomerID.FNumber`) - 销售门店 (`FBranchId.FNumber`) - 销售部门 (`FSaleDeptID.FNumber`) - 交货地点 (`FHeadLocationId.FNumber`) - 对应组织 (`FCorrespondOrgId.FNumber`) 2. **物流信息字段** - 承运商 (`FCarrierID.FNumber`) - 运输单号 (`FCarriageNO`) 3. **人员信息字段** - 销售组 (`FSalesGroupID.FNumber`) - 销售员 (`FSalesManID.FNumber`) - 仓管员 (`FStockerID.FNumber`) 4. **财务信息字段** - 结算方 (`FSettleID.FNumber`) - 付款方 (`FPayerID.FNumber`) - 结算组织 (`FSettleOrgID.FNumber`) - 结算方式 (`FSettleTypeID.FNumber`) 5. **其他重要字段** - 收货人姓名 (`FLinkMan`) - 收货人手机 (`FReceiverMobile`) #### 数据请求与清洗 在请求数据时,我们需要确保分页参数和过滤条件的正确设置。以下是一个示例请求体: ```json { "FormId": "SAL_OUTSTOCK", "FieldKeys": "FBillNo,FDate,FApproveDate,FSaleOrgId_FNumber,FCustomerID_FNumber", "FilterString": "FSaleOrgId.FNumber='202' and FDate >='{{LAST_SYNC_TIME|date}}' and FCustomerID.FName NOT LIKE '%虚拟%'", "Limit": 500, "StartRow": 0 } ``` 上述请求体中,`FieldKeys`指定了我们需要查询的字段,`FilterString`用于筛选符合条件的数据,分页参数包括每页记录数(`Limit`)和起始行索引(`StartRow`)。 #### 数据转换与格式化 获取到原始数据后,我们需要对部分字段进行格式化处理。例如,将审核时间(`FApproveDate`)转换为新的格式: ```json { "old": "FApproveDate", "new": "FApproveDate_new", "format": "date" } ``` 通过这种方式,可以确保数据在后续处理环节中保持一致性和可读性。 #### 实际案例应用 假设我们从金蝶云星空获取到如下原始数据: ```json [ { "FBillNo": "SO20230001", "FDate": "2023-10-01", "FApproveDate": "2023-10-02T12:00:00Z", "FSaleOrgId_FNumber": "202", "FCustomerID_FNumber": "CUST001" } ] ``` 经过格式化处理后的数据将变为: ```json [ { "FBillNo": "SO20230001", "FDate": "2023-10-01", "FApproveDate_new": "2023-10-02", "FSaleOrgId_FNumber": "202", "FCustomerID_FNumber": "CUST001" } ] ``` 这样处理后的数据可以直接用于后续的数据写入和分析步骤。 #### 总结 通过轻易云数据集成平台调用金蝶云星空接口,我们能够高效地获取销售出库单的数据,并进行必要的清洗和转换。这一过程不仅提升了数据处理的透明度和效率,还确保了不同系统间的数据无缝对接,为企业业务决策提供了可靠的数据支持。 ![金蝶与外部系统打通接口](https://pic.qeasy.cloud/S27.png~tplv-syqr462i7n-qeasy.image) ### 使用轻易云数据集成平台实现销售出库单数据ETL转换与写入金蝶云星空API 在数据集成过程中,将源平台的数据转换为目标平台能够接收的格式是至关重要的一步。本文将详细探讨如何使用轻易云数据集成平台,将销售出库单数据转换并写入金蝶云星空API接口。 #### 1. 数据请求与清洗 在数据生命周期的第一阶段,我们已经完成了从源平台的数据请求和清洗工作。接下来,我们将关注如何利用轻易云的数据转换功能,将这些清洗后的数据转换为金蝶云星空所需的格式。 #### 2. 数据转换配置 我们需要配置ETL过程中的元数据,以确保数据能够正确地映射到金蝶云星空API接口中。以下是关键的元数据配置: ```json { "api": "batchSave", "method": "POST", "idCheck": true, "operation": { "method": "merge", "field": "FBillTypeID_FNumber,FBillNo,FDate,FSaleOrgId_FNumber,FCustomerID_FNumber,FStockOrgId_FNumber", "bodyName": "details", "header": ["FBillTypeID_FNumber", "FBillNo", "FDate", "FSaleOrgId_FNumber", "FCustomerID_FNumber", "FStockOrgId_FNumber", "FGYFINDate", "FCustomerID_FDJZDYSWDYZZ"], "body": ["FMaterialID_FNumber", "FRealQty", "FTaxPrice", "FStockID_FNumber", "FSoorDerno", "FAllAmount", "FDiscount", "FGYFINDate", "FCustomerID_FDJZDYSWDYZZ", "FDiscount"] }, ... } ``` #### 3. 请求字段解析与映射 为了确保数据能够正确传递到目标系统,需要对请求字段进行解析和映射。例如,`FBillTypeID`字段需要转换为金蝶云星空所识别的格式: ```json { "field": "FBillTypeID", "label": "单据类型", ... "parser": { "name": "ConvertObjectParser", ... } } ``` 类似地,其他字段如`FDate`, `FSaleOrgId`, `FCustomerID`等也需要进行相应的解析和映射。 #### 4. 明细信息处理 对于明细信息(如物料编码、实发数量等),我们需要确保每个子字段都能正确映射到目标系统。例如,物料编码`FMaterialID`的配置如下: ```json { ... { ... { ... { ... { ... { ... { ... { ... { ... { ... { ... { ... { ... ![轻易云数据集成平台金蝶集成接口配置](https://pic.qeasy.cloud/T18.png~tplv-syqr462i7n-qeasy.image)