简介《SAP MDG Overview》是一份面向 SAP 顾问、数据治理人员及企业架构师的官方介绍性资料系统讲解 SAP Master Data Governance 9.0 的集中式治理框架明确合并与批量处理能力不在本次介绍范围源自2016年6月的产品概览文档。压缩包仅含 1 个 PDF 文件大小约 2.54MB内容为英文版以图文结合的幻灯片形式呈现结构紧凑适合离线查阅可在较短时间内建立主数据治理的整体认知。目前已有 671 人学习下载。资料从主数据管理挑战切入列举销售效能降低、采购决策次优、上市延迟、业务决策无效等业务痛点也梳理了主数据维护成本高、多系统分散管理、动态环境灵活性不足、客户数据视图缺失、供应商和产品透明度低等质量问题解决方案部分则重点介绍统一平台、严格数据治理流程、跨部门数据同步、变更管理以及分析报告工具。读者可从中获得 SAP MDG 集中治理能力的高层概览理解企业主数据治理的必要性与实施要点为后续深入特定模块或启动相关项目提供参考。1. SAP MDG 是什么别把它当成又一个主数据录入界面很多从业者第一次接触 SAP MDGMaster Data Governance主数据治理容易把它和 SAP 传统的 MM 物料主数据维护事务码、BP 供应商维护事务码混为一谈。这是最常见的认知偏差。MDG 不是一个录入窗口的升级版而是一套把「创建、变更、审批、分发」串成闭环的治理框架。它的核心价值不是让你少点几次鼠标而是让主数据从「某几个关键用户手里的活」变成「有流程、有规则、有审计痕迹的公司级资产」。哪些人应该关注这套方案如果你所在的企业正在做数据治理项目、准备上 S/4HANA 或已经上线但被物料/客户/供应商数据的脏乱差困扰又或是审计要求你讲清楚「某条物料为什么从 A 状态改成了 B 状态、谁批准的、什么时候改的」那 MDG 就是绕不开的选项。本文不聊PPT层面的概念直接拆开讲它的数据模型、流程配置、界面增强和常见翻车点让新手能按步骤搭一个可用的模拟环境让熟手能对照检查自己的配置边界。这不是一篇纯科普而是一份按标题「SAP MDG Overview」展开的落地实战梳理。2. MDG 的核心架构与数据模型先搞懂它到底管什么、怎么管2.1 治理流程的三层结构流程层、规则层、数据层要怎么配合MDG 的架构可以拆成三层理解。上层是流程层负责状态流转比如「新建→部门经理审批→财务审批→生效」中间是规则层承载校验逻辑、去重逻辑和字段级权限底层才是数据层即它真正存储主数据的地方。这三层的关系决定了你实施时的所有工作分配。我一般会这样跟项目组解释流程层是高速公路规则层是收费站和路标数据层是货物本身。很多实施团队只盯着流程层做工作流配置忽略了规则层结果就是流程跑通了但进去的数据质量还是老样子——因为唯一性检查、必填字段约束、字段之间的一致性校验全都没建。反过来如果只做规则层不做流程层那 MDG 和普通维护事务码就没有本质区别审批痕迹和变更历史依然无从谈起。数据层上有个关键概念要注意MDG 分为「中心 Hub 部署」和「分散式部署」两种模式。中心部署意味着主数据统一存在 MDG 自己的数据库表中通过后处理Post-Processing和分发Distribution推送到下游的 S/4HANA 或 ECC 系统分散式部署则是在 S/4HANA 内部直接激活 MDG 的 BOPF 模型数据就存在标准表里。早期项目多用中心部署现在新项目基本都走 S/4HANA 内嵌模式因为省掉了一套系统数据实时性也更好。选哪种不是技术偏好问题而是由你现有的系统 landscape 决定的——如果本来就有独立的 ECC 和 S/4HANA 多套系统中心部署才有意义。2.2 物料、供应商、财务和客户四大领域的数据模型怎么各就各位MDG 在标准产品里覆盖了四大领域物料MDG-M、供应商MDG-S、财务主数据MDG-F和客户MDG-C。它们的底层模型各不相同实施难度也差异很大。物料和供应商是绝大多数企业的首选落地范围财务主数据因为涉及合并报表的复杂维度配置通常放在第二阶段客户主数据则往往和信用管理、开票相关的逻辑纠缠在一起复杂度最高。物料的数据模型是基于 S/4HANA 的物料主数据表结构拆解出来的MDG 引入了一个叫「区域Area」的概念——不同工厂、不同销售组织维护同一颗物料的字段范围和校验规则可以不一样。举个例子基础视图由总部维护工厂视图由各工厂维护MDG 通过区域和字段派生规则来控制「谁在哪个区域能改哪些字段」。供应商模型类似但多了采购组织视图和公司代码视图的层级关系。实施时建议不要一开始就追求四大领域全覆盖。某公司上 MDG 时先做了物料把供应商排到二期财务和客户压根没提这个决定事后看是明智的——物料领域的数据量最大、流程最典型先把这一条链路跑通团队建立信心后其他领域只是模型和配置的复用。同时要注意MDG 不是建完模型就跑它需要定义「数据质量规则」DQR和「匹配与去重规则」DMR)这些规则才是真正决定数据治理效果的部分。2.3 从 ECC 到 S/4HANAMDG 的版本演进和选型判断如果你打开 SAP 官方的功能清单会发现 MDG 的历史版本和功能差异比想象中复杂。从早期的 MDG 7.0基于 ECC 的 NetWeaver 技术栈到 S/4HANA 1610、1909、2021 直到现在的 2023模型和工具集一直在变。这里给一个简单判断标准新项目直接用 S/4HANA 内嵌模式不要再考虑单独的 MDG 服务器。道理很直接——内嵌模式下的 MDG 和 S/4HANA 共享同一套主数据表从 MDG 创建的物料直接就在表中省去了分发和确认的额外步骤独立的中心 Hub 模式需要维护 IDOC/WebService 分发排错链路长反而成了运维负担。当然选择 S/4HANA 内嵌模式不等于分发不重要。如果你的企业还有外围系统比如 CRM、SRM需要接收主数据S/4HANA 内嵌 MDG 一样要靠分发往外推只是分发逻辑更简单——从 MDG 的激活表直接触发不需要像中心模式下先从 MDG 表搬到 ECC 再二次分发。这里提醒一点实施选型阶段一定要把「现有系统里是否有存量数据、存量数据是否已经清洗过」这个因素放进去。MDG 不是数据清洗工具它是治理工具——脏数据必须先靠 ABAP 程序或数据迁移工具清完再纳入 MDG 管辖否则治理流程只是给坏数据盖了章。3. 用 MDG 配置一个物料创建流程从零到可运行的最小步骤3.1 准备系统角色和数据源配置前的四个前置条件在开始配置前需要确认系统里已经具备以下基础。首先是业务角色Business RoleMDG 的权限控制和 SAP 传统角色不一样它有一套独立的基于 BRFplus 的权限模型你需要至少创建一个类似「物料数据专员」的角色并分配给他。其次是数据源Data Source即数据的源头系统标识——在内嵌模式下就是当前 S/4HANA 系统本身需要在配置表里登记。第三是编号范围物料号的内部给号或外部给号要提前定义建议测试阶段用内部给号省去手工输入的错误。第四是工作流引擎MDG 默认走 SAP Business Workflow你需要一个可用的审批用户和一个 WF 管理员账号。很多新手在这里会卡住业务角色建好了但登录 MDG Web UI 后发现看不到任何功能磁贴。原因通常是角色里的「功能授权」和「数据授权」没分配完或者负责 UI 的 Gateway (OData) 服务没激活。我的建议是配置顺序严格按照「后台数据结构 → 信息类型/区域 → 规则 → UI → 工作流 → 角色」来不要先建角色再去配模型否则你很容易为了迁就某个角色而改模型最后整出一个四不像。这一步里值得单独说明的是「数据源」和「目标系统」的区别。数据源描述的是 MDG 自己加载和管理数据的系统目标系统是数据最终要分发到的消费系统。内嵌模式下数据源和目标系统可以是同一个逻辑系统这就足够了。很多配置人员混淆了这两个概念导致在分发配置里反复报错说找不到接收方——实际上你只需要把目标系统配置成自己的逻辑系统名。3.2 关键配置事务码清单直接用这些 T-Code 定位配置点SAP MDG 的配置分散在好几处用事务码导航比菜单翻找快得多。下表列出最常用的几个建议截图存下来按顺序操作事务码/路径配置内容适用场景SPRO → Governance → 主数据治理总体导航入口按领域展开所有 MDG 配置MDGIMG主数据治理实施指南的快捷入口比 SPRO 路径直达MDG_CHIPMDG 角色的工作中心配置配置 Web UI 磁贴和任务列表GENPEL应用对象类型定义扩展流程时注册新对象类型BD64分配模型ALE 模型配置数据分发逻辑BRFplus业务规则维护配置校验、派生和默认值SWDD工作流构建器设计审批流程SE80ABAP 工作台查看和扩展 MDG 的数据结构实际操作建议从 MDGIMG 开始它会按照「数据模型 → 流程 → 规则 → UI → 权限 → 分发」的顺序把配置点排列好比 SPRO 里逐层展开的效率高很多。BRFplus 单独拿出来是因为 MDG 几乎所有治理逻辑都写在这里——字段必填、值校验、状态机跳转条件、默认值派生、字段级隐藏禁用全在 BRFplus 里维护。3.3 配置一个最简物料创建流程实体化步骤、规则和工作流现在我们放下概念走一遍「从零配置领域实体创建流程」的最小可运行路径。这里拿物料领域MDG-M举例假设已经在 S/4HANA 内嵌模式下激活了 MDG目标是让用户通过 MDG 的 Fiori 界面创建一颗有基本视图和工厂视图的物料提交后走一级审批审批通过物料号自动写到 S/4HANA 物料表。第一步是定义数据模型下的实体类型。进入 MDGIMG找到「主数据治理 → 物料 → 配置物料数据治理」的节点确认已激活的实体化Entity Type包含「MATERIAL」。实际操作中如果它没有自动激活会直接导致后续 UI 配置找不到实体类型这里用 SPRO 事务码检查激活状态# 这个步骤没有直接的 bash 命令但可以通过 SPRO 导航检查激活状态 # SPRO - Governance - Master Data Governance - General Settings - # Data Modeling - Activate Data Model上面这段是示意真实操作全在 GUI 里完成。很多人误以为 MDG 是纯 Web 配置其实底层的激活工作必须在 SAP GUI 里做。激活数据模型时注意观察短文本日志看到绿色对勾才算真正激活。第二步检查信息类型Info Type。物料的信息类型对应 S/4HANA 的视图分组比如基础数据基本数据 1/基本数据 2、工厂数据工厂存储/采购/MRP。在 MDG 配置里你需要确认信息类型已经分配给物料实体。这一步决定了后续用户界面能展示哪些页签。第三步配置字段属性。在 SPRO 导航里找到「字段属性」的维护位置对「物料类型」字段做必填设置对「行业领域」设置默认值对「创建者」设置系统字段属性这些配置项的归属全在 BRFplus 里。下面展示一个最简的 BRFplus 表达式逻辑示例帮第一次接触的人理解「规则」长什么样// BRFplus 表达式示意物料类型不能为空 // 实际维护界面是可视化配置这里仅为说明规则逻辑 IF 物料类型 IS INITIAL THEN MESSAGE 物料类型不能为空 TYPE E ENDIF这里用 javascript 的代码格式是因为编辑器支持高亮但 BRFplus 本身不是 ABAP 也不是 JavaScript它的规则直接在 Fiori 风格的 BRFplus 工作台里拖拽配置逻辑字段名会自动带出。重点是理解规则是附加在字段上的不是独立存在的程序。第四步创建工作流。进入 SWDD创建一个工作流模板标准做法是复制 SAP 提供的样例模板例如物料创建的两步审批模板调整审批人角色为自己的业务角色。这里给出一个给新手的工作流设计原则先做一个串行一级审批不要一上来就做并行多级会签。工作流的功能编号要写进 MDG 配置里的「流程定义」节点MDG 是通过功能编号触发工作流启动的。第五步配置 Web UI 的向导。在 MDG_CHIP 里配置「数据迁移/创建向导」这一步把刚才激活的实体化绑定到 UI 向导上。这里容易翻车的是 UI 向导的数据结构没选对——创建场景要用「创建数据结构」变更场景用「编辑数据结构」搞反的话 UI 上会多出一堆禁用字段。从实测经验看这几步配置完MDG 就具备了最基本「能创建一颗物料并触发审批」的能力。不要急着添加各种复杂校验先让用户跑通端到端场景再去迭代规则。4. UI 配置与扩展用 Fiori 界面把治理流程交到业务手上4.1 配置 MDG Fiori 审批工作台关键参数与显示字段调整MDG 的 Fiori 界面分两类一类是数据维护者使用的「创建/变更申请」界面一类是审批者使用的「审批/驳回」工作台。审批工作台的配置核心在「决策」界面上——审批人要能一目了然地看到变更前后的数据差异所以差异展示器Value Comparison的字段配置就很重要。审批工作台的显示字段不是从后端 OData 服务自动带出来的需要在配置工作台模板时显式选择。进入配置工作台模板的步骤里能看到每个页签包含的字段列表。这里的最优实践是审批界面只显示关键字段物料类型、描述、基本计量单位、行业领域、税分类把不重要的字段收进技术性页签。字段太多会拖慢页面加载因为 MDG 的字段级权限在后台要做实时判断字段一多前端请求就重。一个容易踩的坑是审批界面上的「批准/拒绝」按钮是灰色的。现象是审批人打开请求单能看到明细但就无法做决策操作。原因几乎都是该审批用户在工作流里的代理Agent关系没建对或者是用 WF 的「代理」而非「实际审批人」分配了任务。解决方式是回到 SWDC 里检查任务代理确认审批人用户 ID 和工作流里配置的规则能匹配上。参数调节上最常改的是「变更请求类型编号范围」和「激活模式」。激活模式这个参数尤其值得注意——它可以设置为「自动激活」和「手动激活」。自动激活模式下审批一通过数据立刻写入激活表手动激活模式则需要后处理步骤里有人再点一次激活。一般生产环境建议自动激活但测试阶段可以用手动激活这样便于在激活前检查数据。4.2 通过 UI 扩展添加自定义字段从数据结构到 OData 的完整链路自定义扩展是 MDG 项目里绕不开的活儿。扩展一套自定义字段需要动四处数据结构表发布为激活表、字段映射迁移规则里的映射关系、UI 布局、OData 服务。这四处任何一处没同步最终都会在界面上表现为「字段不显示」或「值存不进去」。先看数据结构的扩展方式。在 SE11 里复制 MDG 标准的数据结构比如物料的数据结构 E1_MATNR_MDG追加自定义字段然后发布并生成增强表。发布后需要重新生成激活表结构。S/4HANA 内嵌模式下这个过程比中心模式简单因为不需要再映射到 IDOC 结构。然后是字段映射配置。进入 SPRO 的「迁移项目」配置节点里找到对应实体类型的映射关系把自定义字段从「源字段」映射到「目标表字段」。这块常见错误是映射对象漏了「激活数据结构」——生成激活请求时找不到映射关系而直接报错。正确做法是映射关系里同时维护好「创建时写入」「变更时写入」「激活时读取」三类规则。OData 服务再生是扩展的最后一段链路。如果扩展前 OData 服务已经生成过扩展后必须重新生成服务。做法是进入 /IWFND/MAINT_SERVICE 激活对应的服务然后在事务码 SEGW 里重新「重新生成」。实测中如果跳过这步前端字段会加载不出来Fiori 页面直接灰一块。戴上经验之谈UI 扩展的 Debug 顺序永远是「后端表 → 映射 → OData → 前端」不要反过来在浏览器控制台里查半天。5. 主数据分发与常见问题避坑清单5.1 分发机制与配置检查为什么审批通过了数据却没过去MDG 的数据分发坦白说是整个方案里最容易出问题的环节之一。数据在 MDG 里创建、审批、激活这只是在 MDG 自己的表里写好了下游系统能不能收到取决于分发配置。常见现象是物料审批已经显示「已激活」但 S/4HANA 物料表里查不到对应的物料号。排这个问题的思路要按层次来。第一个检查点是「分发规则」。进入事务码 BD64 查看分配模型确认物料数据源到下游客系统的分配规则存在。分配模型里用的是「模型视图」你需要确认 MDG 的物料消息类型MATMAS、MATMA已经订阅。这里有一个常见误区MDG 内嵌模式下分配模型只需要配置「MDG 源到本系统」即可不需要像中心部署那样配两段MDG→ECC→再分发很多人沿用中心部署的习惯配了第二段反而造成重复分发或 IDOC 报错。第二个检查点是「消息变式」而不是消息类型。MDG 分发通常走消息变式而非直接消息类型消息变式里承载的是过滤条件比如哪些工厂的数据要发给哪个系统。如果没有配置消息变式默认会把所有字段都发出去但界面上的消息类型监控里可能看不到任何错误——因为消息变式也在消息类型里只是通过了变式名称在起作用。第三个检查点最关键也最容易被忽略激活后的分发标志。MDG 数据激活后每条主数据上有一个分发标志位如 ERPMaster 的分发状态。如果你在测试环境里反复点「重新分发」而没有重置标志位后续变更请求的自动分发可能被跳过。这个坑的实际表现就是「第一次创建能分发后续修改就不动了」。解决方式是在分发后处理队列里手动重跑或者用一个 FM 重置分发状态。5.2 六条一线踩坑记录现象、原因、解决下面把 MDG 项目里反复出现的六个困扰直接写成踩坑记录每条对应一个现象和一个可执行的解决路径已经有配置经验的人对号入座即可。坑一审批通过后工作流无法完成。现象审批人点「批准」后页面转圈很久然后工作流任务报错。原因通常是工作流里配置的「决策步骤」没有绑定到 MDG 的功能编号上导致工作流结束后无法触发激活。解决检查功能编号配置节点确认决策动作对应的功能编号为「激活」而不是「仅保存」重新保存工作流模板并测试。坑二请求单上出现「草稿」状态但无数据。现象用户创建请求单成功但在 UI 里录入字段后保存再次打开时数据全空。原因MDG 的草稿保存机制和 UI 上的「保存」按钮配置不相符很多模板里「保存」只是保存了界面布局而非业务数据。解决在 UI 配置向导里把「保存」动作绑定为「数据保存」而不是「仅保存草稿」同时确认数据保存后调用了 BOPF 的保存逻辑。坑三去重检查误杀正常请求。现象创建一颗新物料提示「有类似物料存在」但肉眼明显不是同一种。MDG 的去重分匹配与合并两个阶段它对标准的匹配太严格甚至匹配了通用的规格字段导致误报。解决调整 DMR 规则里的权重和字段范围把物料描述、EAN 码等唯一性强的字段权重调高把通用长描述关掉。另外要同步调整「自动锁定」开关避免误杀后还把物料锁定。坑四字段级权限配置了但界面上看不出区别。现象对某个角色设置了「隐藏」某个字段的权限但登录该角色的账号UI 里字段照样显示。原因MDG 的字段级权限绑定的是「角色时区」而不是角色直接关联你在 BRFplus 里做了权限表达式但没把这个表达式挂到对应「角色分类」上。解决回到权限配置节点检查当前角色分类绑定的表达式 ID。坑五分发到外围系统时映射报错缺字段。现象MDG 内的数据完整但分发到外围 CRM 系统时报「字段太短」或「字段缺失」。原因IDOC 映射字段长度不匹配MDG 源字段长度大于目标系统字段。解决先在 IDOC 监控里定位具体哪个 segment 报错然后在分发映射里增加一个出站增强函数做字段截断或补位而不是在 MDG 端改字段长度——改 MDG 端字段长度会牵连数据模型代价大。坑六迁移期间生产系统性能下降。现象MDG 激活大批量数据时生产系统 DB 请求飙升。原因MDG 的激活逻辑是同步执行的大批量数据一次性提交会锁表。解决拆批提交每批控制在 500 条以内把激活配置里的事务提交模式调整为「分批提交」把后处理队列独立出来跑。5.3 分发监控的三个常用界面MDG 跑起来后日常运维主要盯三个界面。第一个是事务码 WE02 的 IDOC 列表界面这里能看到出站 IDOC 的状态03 已发送、12 成功、17 失败等所有的分发问题都从这里入手。第二个是事务码 /SAPTRX/ASAP 的事件处理界面如果启用了供应链事件跟踪这里能看到消息到下游系统的全过程。第三个是 MDG 自己的「数据分发监控」Fiori 应用它从业务视角展示「哪些主数据已分发、哪些等待重发」。日常巡检建议每周都扫一遍 WE02 里状态为「17」或「63」的 IDOC。往往这些报错里一半是字段映射错误另一半是接收系统不可用。对于接收系统不可用的情况不要反复点「重发送」而是要先把接收端队列清干净否则 IDOC 会堆积在 SXDA 队列里后面查起来更难。6. 进阶用法从单领域到全流程治理的关键跳板当你已经把物料这一条链路做得稳定接下来的进阶方向不外乎三块变更请求中的批量变更、规则和流程的跨领域复用、以及 MDG 与其他治理工具数据质量管理、信息生命周期管理的联动。这里挑批量变更展开讲一下。MDG 支持对多条主数据发起批量变更请求。这个功能的使用门槛不在配置而在规则设计——你需要为批量变更定义一套不同于单条变更的审批策略。标准策略是「逐条审批」和「批次审批」并存但业务上通常希望 100 条物料修改基本视图描述时只审批一次而涉及税分类、采购价值关键字段的修改要逐条审批。配置这一套的关键参数是「变更请求的类型」每个类型可以定义不同的流程编号甚至可以按字段阈值触发不同流程——比如只要变更里包含「物料类型」就自动升级为逐条审批。实现批量变更还有一个前置条件批量变更的操作 UI 通常是表格编辑模式这意味着你需要在 UI 向导里配置「批量编辑」的数据结构。这个数据结构要比单条的数据结构更大因为它承载了多条记录的集合。实际项目里这里最容易翻车的是「批量编辑没有带上字段权限」——用户能打开批量网格但格子是灰的原因就是字段权限表达式在批量数据结构中没有绑定。另一个值得花时间的进阶点是规则库的跨领域复用。BRFplus 规则虽然是在物料领域建的但它的函数和表达式可以跨领域拉到供应商场景里去复用例如通用的「税号格式校验」「国家代码合法性校验」。把这类通用规则抽到一个独立的 BRFplus 函数库可以让后续供应商项目省掉至少一半的规则配置工作量。做法是把函数库放在一个不绑定特定领域的顶层文件夹各领域的规则表达式直接调用它。最后回到一个个人习惯问题。我在任何一个 MDG 项目里都会坚持先在沙盒环境里把「目标端到端场景」完整做一遍确认后台表有数据、分配模型有记录、UI 能打开——然后才开始动配置。看起来这像废话但太多人一上来就配了三个月模型最后发现初始数据源没建对推倒重来。这个坑花了一整个项目周期才长记性。希望这些内容能帮你少走一段弯路也希望这篇梳理能成为你上手 MDG 时的一页靠谱参考。本文还有配套的精品资源点击获取