> 文章列表 > SAP MDG —— 使用DIF导入物料主数据 Part1

SAP MDG —— 使用DIF导入物料主数据 Part1

SAP MDG —— 使用DIF导入物料主数据 Part1

文章目录

  • 业务场景
  • 背景知识
  • 关于使用DIF处理物料数据的相关信息
    • 限制
    • 性能和用途
    • 本篇小结

业务场景

SAP MDG提供了大量业务流程用于搜索、创建、修改和标记删除主数据。MDG支持在中央集线器中统一治理主数据并分发到相关业务系统

这些流程是由工作流驱动的,通常包含多个批准和修订步骤,并涉及所有参与该主数据维护的人员。

你可以使用 Import Master Data 服务将物料和物料分类数据的文件批量导入MDG系统。你也可以导入Key MappingValue Mapping 信息。这些文件中的数据可以更新现有主数据,或创建新的主数据条目。

本篇文章将详细介绍 Data Import Framework (DIF) 的背景知识,并介绍如何使用DIF从CSV文件上传和转换物料主数据。

背景知识

数据传输(Data Transfer) 是指一组在系统和系统间移动主数据并转换数据内容的功能和特性的集合。举例来说,这些系统就包括ERP系统和MDG系统。为了传输主数据和映射信息,需要遵循以下流程:

  1. 从源系统导出主数据和映射信息到一个XML文件。该文件将保留在源系统的应用服务器上。
  2. 从源系统的应用服务器复制该XML文件到目标系统的应用服务器。
  3. 向目标系统导入主数据和映射信息。

MDG 物料主数据 DIF标准功能包括了导入监控物料主数据及其映射信息。

关于使用DIF处理物料主数据的相关信息

限制

你可以在StagingActive area创建物料主数据或修改已存在的物料主数据。

IDocs不支持Flex实体,因为Flex实体不会将数据写入active area。因此DIF仅支持将Reuse实体数据写入Staging或Active area。

一个独立的IDoc XML文件只支持包含MATMAS IDocs 或 CLFMAS IDocs,而不能同时包含两者信息。作为替代方案,为MATMAS IDocs和CLFMAS IDocs创建两个独立的XML文件,将他们放在不同的源目录下,然后执行导入功能。

如果你修改一条已存在的物料主数据,你必须填写该数据的所有字段内容,否则数据将被刷为空值。NODATA符号只在上传到Active area时被考虑。

性能和用途

Data Import Framework
处理类型 异步
并行处理 支持
Flex 和 Reuse数据模型 支持
Reuse模型中的Flex实体 不支持
一次性可导入的数据量 >1000
创建数据 支持
修改数据 支持
容错性*1 支持
直接将数据导入Active area*2 支持
将数据导入Staging area*3 支持
数据格式 XML*4

*1) 如果一条数据当前被另一个变更请求锁定(或其他用户锁定),或者一条数据存在某些错误,系统仍可以继续执行导入流程。
*2) 该场景中,数据将直接作为激活数据写入,而不被事先写入任何变更请求中。也就是说该场景下不启用任何管控流程。这种场景一般适用于主数据期初导入,或其他不需要触发审批的大批量数据导入场景。
*3) 该场景中,数据将以变更请求为单位写入Staging area,主要用于管控流程。
*4) 也可使用CSV文件取代XML文件进行导入,但需要实施一些转换逻辑。

Data Import Framework并不是一种典型的数据迁移工具。它主要设计用于将小批量(相较于数据迁移来说)数据导入Staging area。当然,你也可以用它导入大批量的物料主数据,但也应考虑由此带来的额外运行时长。

在决定使用DIF向一个变更请求导入大量物料主数据之前,你应该谨慎的思考并询问自己一些问题,如“审批人该如何面对或处理一个变更请求包含超过1000条物料主数据的场景?”,对于审批人来说几乎没有可能在如此巨大的变更请求中一一检查每一条物料主数据信息。在很多类似的场景下,选择一个其他的数据迁移工具,并直接将数据导入Active Area可能是一种更好的选择。

在可接受的性能范围内,每次使用DIF进行数据导入的数据量取决于你本次要导入的数据对象,例如一条物料主数据分配的工厂数据,物料分类数量等。同时,系统性能也取决于是否打开数据校验,并行进程的数量设置,当然还有MDG系统的硬件配置。

对于数据迁移场景,更推荐直接使用传统的数据迁移工具将主数据加载到Active area。

注意,MDG数据合并或批量处理模块(Consolidation and Mass Processing)也可以用于创建或修改物料主数据。取决于具体的用例,MDG 合并和批量处理模块也许更适合处理上述场景。

本篇小结

不知道在经过上述那么长的铺垫之后,还有多少小伙伴决定使用DIF批量处理物料主数据?希望各位在决定使用DIF之前一定认清该工具的特色和适用场景,我将在下一篇文章正式开始介绍DIF的相关配置。