SAP S/4HANA MM模块培训 51 - 采购用户参数:SU3默认值与MSV、EVO、EFB

SAP S/4HANA MM模块培训 51 - 采购用户参数:SU3默认值与MSV、EVO、EFB
用户参数解决的是一个非常具体、也非常高频的问题:同一个采购员每天都在同一工厂、采购组织或采购组下工作,为什么还要在每个事务里重复输入相同值?SAP GUI 可以把常用值保存在当前用户相关的 SAP Memory 中,在目标字段支持相应参数 ID 时自动提出默认值。更进一步,采购模块还会用 MSV、EVO、EFB 这类参数,把消息版本、采购员默认行为和功能权限键分配给具体用户。
本课视频真正完整演示的是 SU3 → WRK = 0001 → MB52/MB51 自动提出工厂 → 手工覆盖为 1010。视频在开始介绍 MSV 后中断,议程中的 EVO 与 EFB 没有实际讲解。因此本文前半部分只复原视频证据;后半部分依据 SAP Learning 与 SAP Help 补齐,并从第一节补充内容开始持续标记为“SAP 官方教程补充”。
课程目标与证据边界
学完本文,你应该能够:
- 解释参数 ID、SPA/GPA 与 SAP Memory 之间的关系。
- 通过菜单或事务码
SU3维护当前用户参数。 - 用
F1 → Technical Information查找字段的Parameter ID。 - 理解为什么
WRK = 0001可以在MB52、MB51中提出工厂默认值,又为什么它仍可被覆盖。 - 区分视频实际完成的
WRK实操与视频未完成的MSV/EVO/EFB配置。 - 依据 SAP 官方资料设计
MSV消息版本、EVO采购员默认值键和EFB功能权限键的配置、分配与测试方法。 - 区分经典 SAP GUI 用户参数和 SAP Fiori / Cloud 用户默认值入口。
本文使用三种证据标签:
| 标签 | 含义 | 本文写法 |
|---|---|---|
| 视频实录 | 视频画面和完整字幕明确展示 | 保留事务码、参数 ID、参数值和时间点 |
| 课程系统示例 | 只对讲师系统有效 | 0001、1010 等值均明确标为示例 |
| SAP 官方教程补充 | 视频未完成,由 SAP Learning / SAP Help 补齐 | 每个后续 H2 都带统一前缀,绝不伪装成视频实操 |
视频时间轴导航
下面的时间点来自完整视频和逐条复核字幕,便于把文章中的结论回溯到原始证据。时间点表示相关讲解开始或关键画面出现,不表示该分钟内已经完成保存或业务过账。
| 时间点 | 视频内容 | 可确认的结果 |
|---|---|---|
00:00:00 | 录制提示与课程开始 | 本课进入用户参数主题 |
00:00:11 | 展示四项议程 | 议程含用户参数、MSV、EVO、EFB |
00:00:59 | 解释用户参数 | 用参数 ID 为常用屏幕字段提出默认值 |
00:01:47 | 解释 SAP Memory | 参数值属于用户相关内存,可减少重复输入 |
00:02:31 | 登录系统并进入当前用户数据 | 开始 SAP GUI 实操 |
00:03:11 | 打开 System → User Profile → Own Data | 证明菜单入口存在 |
00:03:47 | 打开 Parameters 页签 | 显示参数 ID、参数值、短文本三列 |
00:04:40 | 删除并保存原有 WRK | 为后续对比默认值来源做准备 |
00:05:24 | 新增 WRK = 0001 | 把课程工厂值分配给当前用户 |
00:05:55 | 再次进入 MB52 | 工厂字段自动提出 0001 |
00:06:10 | 对工厂字段按 F1 | 进入技术信息查询参数 ID |
00:06:44 | 技术信息窗口 | 明确显示 Parameter ID = WRK |
00:08:40 | 打开 MB51 | 工厂同样自动提出 0001 |
00:09:02 | 把工厂改为 1010 | 证明默认值允许手工覆盖 |
00:09:10 | 开始解释 MSV | 只讲到版本 00 与消息类别概念 |
00:10:17 | 最后一条字幕结束 | 没有进入 MSV 配置,也没有讲 EVO/EFB |
这张时间轴还解释了为什么本文不能把四项议程全部写成视频成果:可追溯的最后一个完整操作是 MB51 覆盖工厂,后面只有 MSV 的开场说明。
视频议程:四个主题只完成了第一个
视频开场给出四项议程,但议程不等于已完成内容:
/images/article_image/827764970991685.png
| 议程主题 | 视频实际进度 | 本文处理 |
|---|---|---|
| 什么是用户参数 | 完整讲解并实操 | 按视频顺序详细复原 |
使用 MSV 定制系统消息 | 只讲到标准版本 00 和一般消息类型 | 视频段只写开头,完整机制放入官方补充 |
使用 EVO 为采购员定义默认值 | 视频未开始 | 依据 SAP 官方资料补充 |
使用 EFB 定义采购员功能权限 | 视频未开始 | 依据 SAP 官方资料补充 |
视频容器时长为 00:10:18.041,最后一条字幕结束在 00:10:17.420。最后一句仍在说明 MSV 的版本 00,没有进入任何 IMG 配置画面,也没有保存消息版本、采购员默认值键或功能权限键。
用户参数是什么:默认值来自用户相关的 SAP Memory
视频在 00:00:59 后开始解释用户参数。核心逻辑不是“把一个值写死在字段里”,而是给一个字段对应的参数 ID 维护候选值:
/images/article_image/827764993581125.png
完整链路可以拆成五步:
- 当前用户在用户主数据中维护参数 ID 与参数值。
- 参数值进入该用户相关的 SAP Memory。
- 目标事务打开字段时,如果字段对应同一参数 ID,程序可以读取该值。
- 系统把值作为默认值提出。
- 用户仍可修改或清空,除非应用还有其他校验或权限控制。
视频特别强调了两个结果:
- 提高录入效率:经常使用的屏幕字段不必反复输入。
- 默认值可以覆盖:系统只负责提出值,不代表用户被锁定在这个值上。
这一区分非常重要。用户参数不是授权对象,也不是字段选择规则,更不是业务校验。把 WRK = 0001 放入用户参数,并不会自动授予用户访问工厂 0001 的权限;真正能否查看或处理数据,仍由角色、授权对象、组织限制和应用校验决定。
参数 ID、字段名与参数值不能混为一谈
视频的技术信息窗口同时出现 WERKS、WERKS_D、WRK 和 WERKS-LOW,这些名称分别处在不同技术层级:
| 名称 | 视频值 | 作用 | SU3 是否填写它 |
|---|---|---|---|
| 数据库/结构字段 | T001L-WERKS | 标识业务数据字段 | 否 |
| 数据元素 | WERKS_D | 定义字段语义、类型与帮助 | 否 |
| 参数 ID | WRK | 连接 SAP Memory 与支持该 ID 的屏幕字段 | 是,填在 Parameter ID 列 |
| Dynpro 屏幕字段 | WERKS-LOW | 当前选择屏幕上的输入控件 | 否 |
| 参数值 | 0001 | 当前用户希望系统提出的工厂示例 | 是,填在 Parameter value 列 |
因此,不能把 WERKS 直接填进 SU3 的参数 ID 列,也不能因为字段技术名相似就自行创造参数 ID。标准方法始终是从目标屏幕字段的技术信息读取 Parameter ID。
SET/GET 的作用范围
SAP 官方资料把这种机制称为 SPA/GPA 参数。程序可以通过 SET PARAMETER 把值写入用户相关 SAP Memory,也可以通过 GET PARAMETER 读取。它带来三个容易忽略的边界:
- 参数是用户相关的;A 用户维护的
WRK不应直接成为 B 用户的值。 - 参数可以在同一终端会话的并行会话之间共享,所以测试时只关闭当前事务不一定能清除旧值。
- 只有应用主动读取对应参数时才会提出默认值;字段有参数 ID,也不代表每个使用该字段的程序都会在同一时点读取。
这也是为什么正式验收要包括“删除参数、重新登录、再次进入事务”这一组反向测试,而不能只凭一次屏幕上出现 0001 就结束。
进入用户数据:菜单路径与 SU3
视频从 00:02:31 开始登录系统,并演示两种进入当前用户数据的方法。
/images/article_image/827765020983365.png
方法一:从菜单进入
- 在 SAP GUI 顶部打开
System。 - 选择
User Profile。 - 选择
Own Data。 - 进入
Maintain User Profile后打开Parameters页签。
/images/article_image/827765084053573.png
方法二:直接执行 SU3
- 在命令栏输入
SU3。 - 按 Enter。
- 打开
Parameters页签。
视频中的 Maintain User Profile 画面包含三个页签:
| 页签 | 用途 |
|---|---|
| Address | 当前用户的姓名、通信等地址数据 |
| Defaults | 登录语言、日期与数字格式、输出等默认属性 |
| Parameters | SET/GET Parameter ID、参数值和短文本 |
SU3 面向当前用户自己的数据。管理员查看或维护其他用户时通常使用 SU01/SU01D 等用户管理事务,并且必须具备相应权限。不能把 SU3 当成批量用户管理工具。
在 SU3 中维护 WRK = 0001
视频先在用户参数中删除原有的 WRK,保存,然后重新添加,用这个过程证明默认值确实来自用户参数。
在 00:05:24 左右,讲师维护:
| 字段 | 视频值 | 含义 |
|---|---|---|
| SET/GET Parameter ID | WRK | 工厂(Plant)参数 ID |
| Parameter value | 0001 | 课程系统中的示例工厂 |
| Short Description | Plant | 系统显示的参数短文本 |
/images/article_image/827765155590213.png
这张完整 SAP GUI 原帧记录了视频在 SU3 → Parameters 中保存 WRK = 0001 的结果:
/images/article_image/827765178261573.png
操作步骤是:
- 执行
SU3。 - 打开
Parameters页签。 - 新增一行,参数 ID 输入
WRK。 - 参数值输入
0001。 - 保存。
这里的 0001 只是课程系统数据。生产系统必须使用经过主数据、组织结构与权限确认的真实工厂代码。直接照抄课程值,最多得到一个无效默认值,严重时还会造成错误组织数据被带入后续事务。
用 MB52 验证默认工厂
视频在维护参数前先打开 MB52,当时工厂字段需要手工输入。保存 WRK = 0001 后再次进入 MB52,系统自动在工厂字段中提出 0001。
/images/article_image/827765279084613.png
验证步骤如下:
- 退出或重新进入
MB52。 - 观察选择屏幕的
Plant字段。 - 确认字段中出现
0001。 - 不要只看字段有值,还要确认该值确实来自当前用户参数,而不是事务变式、个人设置或上一轮会话缓存。
在排查时,可以先删除 WRK、重新登录并再次打开 MB52。若默认值消失,再恢复 WRK 后重新出现,证据链才比较完整。如果删除参数后仍有同一默认值,就要继续检查事务变式、屏幕变式、参数事务、个人设置或程序代码。
用 F1 技术信息查询参数 ID
用户不应凭字段名称猜参数 ID。视频从 00:06:10 开始演示标准查询方法:
/images/article_image/827765309956165.png
- 打开包含目标字段的事务,例如
MB52。 - 把光标放在
Plant字段上。 - 按
F1打开字段帮助。 - 选择
Technical Information。 - 在
Field Data区域读取Parameter ID。
/images/article_image/827765370626117.png
视频中的技术信息明确显示:
| 技术字段 | 视频值 |
|---|---|
| Table Name | T001L |
| Field Name | WERKS |
| Data Element | WERKS_D |
| Parameter ID | WRK |
| Dynpro Field | WERKS-LOW |
其中最关键的是 Parameter ID = WRK。表名、字段名和屏幕字段有助于技术分析,但维护用户默认值时真正使用的是参数 ID。
如果技术信息里没有 Parameter ID,不要自行把字段技术名截成三位字母。参数 ID 必须由数据元素或应用逻辑正式定义;没有参数 ID 的字段通常不能直接靠 SPA/GPA 用户参数实现默认值。
用 MB51 证明默认值可以被覆盖
视频在 00:08:36 后打开 MB51。系统同样在工厂字段中提出 0001,说明 MB51 也消费了 WRK。
/images/article_image/827765441241157.png
随后讲师把工厂值从 0001 改为 1010:
/images/article_image/827765500014661.png
这一步证明三个要点:
WRK是当前用户的候选默认值。MB51读取该参数后自动提出0001。- 用户仍可将其改为
1010,因此默认值不等于强制值。
这里同样不能把 1010 理解为 SAP 标准工厂。它只是视频为了证明“可覆盖”而输入的另一示例值。实际用户能否执行该工厂的数据查询,仍取决于工厂是否存在以及用户是否有权限。
视频结尾:MSV 只讲到版本 00
从 00:09:10 开始,视频切换到 User Parameter MSV。讲师提到:
- 标准系统中的可控制消息有版本
00。 - 对可控制消息可以调整消息类型。
- SAP 系统存在信息、警告、错误等不同类别的系统消息。
- 警告消息用
W表示。
但是视频没有进入配置,也没有说明版本如何创建、怎样分配给用户或如何测试。画面在讲解版本 00 时结束。
/images/article_image/827765522088005.png
因此,到这里为止可以确认的视频成果只有:用户参数基础、SU3、WRK = 0001、MB52/MB51、F1 技术信息和覆盖值 1010。下面的全部章节都是 SAP 官方资料补充。
SAP 官方教程补充:用户默认值围绕具体用户组织
SAP Learning 的“Maintaining Default Values”课程提供了一张用户默认值关系图。它把参数 ID、语言与格式、输出设置以及应用默认值都连接到具体用户。由于该图不是 SAP 软件界面,本文按原信息关系重新制作成中文图:
/images/article_image/827765557796933.png
官方资料补充了视频没有展开的几个原则:
- 参数值是用户相关的,不应把某个用户的默认值误当作系统全局值。
- SAP Memory 可以在同一终端会话的并行会话之间共享 SPA/GPA 值。
- 应用程序通过
SET PARAMETER、GET PARAMETER读写参数。 - 用户参数只在目标应用识别相应 ID 时才有作用。
- 应用或功能内部的默认值可能优先于用户参数。
- 修改或删除参数后,部分场景需要重新登录才会稳定生效。
一个可审计的参数设计至少应记录:参数 ID、业务含义、允许值、目标事务、维护责任人、是否需要重登、覆盖优先级、权限依赖和测试结果。
SAP 官方教程补充:经典采购事务支持哪些参数 ID
SAP Help 收集了部分经典采购事务可使用的参数 ID。它不是“全部参数大全”,更不是“所有采购事务都支持”的承诺。
/images/article_image/827765581127749.png
| 业务字段 | 参数 ID | 典型场景 | 使用前检查 |
|---|---|---|---|
| 采购组织 | EKO | 采购凭证预选采购组织 | 目标事务是否读取 EKO |
| 采购组 | EKG | 采购组默认值 | 用户职责与授权是否匹配 |
| 工厂 | WRK | 工厂默认值 | 视频已在 MB52/MB51 验证 |
| 库存地点 | LAG | 库存地点默认值 | 字段所在屏幕是否支持 |
| 物料组/类别 | MKL | 物料组预选 | 不同事务字段语义可能不同 |
| 科目分配类别 | KNT | 科目分配预选 | 不能替代必填与一致性校验 |
| 协议类型 | VSA | 合同或计划协议预选 | 仅在相应经典界面有效 |
| 采购申请参考 | BAN | 参考采购申请的预选 | 需要结合事务流程验证 |
SAP Help 特别提醒:ME21N、ME51N 这类单屏采购事务可能使用自身的 Personal Settings 或 Default Values,经典参数并不自动覆盖所有字段。正确做法不是“在 SU3 里放越多参数越好”,而是为每个目标事务建立验证表。
推荐用以下矩阵验收:
| 参数 | 目标事务 | 首次进入 | 新会话 | 重新登录 | 手工覆盖 | 结果 |
|---|---|---|---|---|---|---|
| WRK | MB52 | 应提出 | 应提出 | 应提出 | 应允许 | 待测/通过 |
| WRK | MB51 | 应提出 | 应提出 | 应提出 | 应允许 | 待测/通过 |
| EKO | ME21N | 不预设结论 | 不预设结论 | 不预设结论 | 按应用 | 需单独验证 |
SAP 官方教程补充:从一个参数扩展到岗位参数组合
生产环境通常不会只维护一个 WRK。采购员可能同时需要工厂、采购组织、采购组、库存地点或科目分配的候选值。正确做法不是复制一张“标准参数清单”给所有人,而是从岗位和目标事务反推参数组合。
第一步:按业务入口盘点
先记录用户真正使用的入口,例如 MB51、MB52、ME21N、ME51N 或 Fiori 应用。每个入口至少记录:字段名称、F1 技术信息中的参数 ID、首次进入是否读取、重新登录后是否读取、是否存在 Personal Settings、是否允许覆盖。
第二步:按组织职责分组
可以把用户分成单工厂采购员、多工厂采购员、中央采购员、库存报表用户等岗位组。单工厂用户可能适合维护 WRK;跨工厂用户如果总是被错误默认值干扰,就可能不应设置固定工厂,而应依赖选择变式或应用个人设置。默认值必须减少错误,而不是仅仅减少击键。
第三步:把值的来源写清楚
| 参数类别 | 值的来源 | 上线前验证 |
|---|---|---|
组织代码,如 WRK/EKO/EKG | 已批准的组织结构与用户职责 | 代码存在、状态有效、授权匹配 |
业务类别,如 KNT | 采购流程设计 | 与凭证类型、科目分配和字段控制兼容 |
配置键,如 MSV/EVO/EFB | 当前系统 IMG 配置 | 键存在、行为已测试、大小写正确 |
| 应用默认值 | 事务个人设置或 Fiori 设置 | 作用对象和优先级明确 |
第四步:做正向与反向验收
正向测试确认参数存在时目标字段被提出;反向测试删除参数并重新登录,确认默认值按设计消失;覆盖测试确认用户能否把值改成另一个有效且有权限的值。若反向测试失败,就说明还有其他默认机制参与,不能把结果全部归因于 SU3。
SAP 官方教程补充:MSV 的消息版本确定链
MSV 不是某条消息的编号,而是用户主数据中选择“消息版本”的参数。SAP 官方资料给出的确定链如下:
/images/article_image/827765603258437.png
- 在 Customizing 中为可控制消息维护版本、应用区域、消息编号和消息类别。
- 在用户
SU3 → Parameters中维护MSV = <版本>,例如01。 - 业务运行时,系统根据当前用户的
MSV读取对应版本。 - 在该版本下定位应用区域和消息编号。
- 执行配置的消息类别:抑制、警告或错误。
SAP Help 明确说明:如果用户主数据没有维护 MSV,系统使用版本 00。这正好补全视频在最后一段没有讲完的内容。
一个典型的配置记录
| 字段 | 示例 | 说明 |
|---|---|---|
| Version | 01 | 自定义消息版本键,客户配置值 |
| Application Area | 例如 L9 或采购消息类 | 由实际业务消息决定 |
| Message Number | 例如 040 | 目标消息编号 |
| Message Category | 空白、W、E | 抑制、警告、错误 |
上表中的版本 01、应用区域和消息号只是机制示例。真正上线时必须从目标业务消息的技术信息、IMG 节点和 SAP 版本文档中取得准确值。
SAP 官方教程补充:消息类别决定能否继续
在 SAP 官方给出的可控制消息示例中,常见结果是:
/images/article_image/827765634535493.png
| 配置值 | 业务结果 | 风险 |
|---|---|---|
| 空白 | 不显示该消息 | 可能隐藏重要提示,不应随意使用 |
W | 显示警告,用户确认后通常可继续 | 容易形成“习惯性确认” |
E | 显示错误,必须纠正后才能继续 | 可能阻断业务,需要先评估影响 |
视频把系统消息概括为信息、警告、错误。具体 IMG 活动能否配置 I,要以该活动的字段帮助和版本文档为准;SAP 官方的 MSV 示例明确使用空白、W、E。因此不能把一般消息类型列表直接等同于每个配置节点的允许值。
还要区分两种完全不同的“消息”:
- 系统消息:用户操作后显示的错误、警告、信息等反馈。
- 采购输出消息:采购订单打印、邮件、传真、EDI 等外部输出。
MSV 控制的是前者的版本化反应,不是采购订单输出确定。把两者混淆会导致去 NACE、输出参数确定或消息…418 tokens truncated…确认不会把法律、财务或库存控制所需的提示一起隐藏。
SAP 官方教程补充:EVO 是采购员默认值键
EVO 的参数值不是工厂或采购组织,而是一个在采购 Customizing 中定义的“采购员默认值键”。
/images/article_image/827765657501765.png
经典 IMG 路径为:
Materials Management → Purchasing → Environment Data → Define Default Values for Buyers
完整配置链是:
- 在 IMG 中创建默认值键。
- 按当前 SAP 版本维护该键下的采购员默认行为。
- 在
SU3中维护EVO = <默认值键>。 - 重新进入目标采购应用。
- 验证应用是否读取该键并应用相应行为。
SAP Help 给出的明确示例包括:
- 在库存转储可用性检查中,
EVO对应默认值键可以控制发生物料短缺时是否显示详细可用性概览。 - 在采购订单处理相关版本中,采购员默认值可以影响采购信息记录更新行为。
这些只是官方文档中的可验证示例,不代表每个版本的 EVO 页面都有完全相同的勾选项。不同 S/4HANA 版本、兼容性范围、经典 GUI 与 Fiori 应用可能存在差异,必须查看本系统 IMG 文档和 F4 帮助。
EVO 上线检查
| 检查项 | 需要回答的问题 |
|---|---|
| 键定义 | 是否使用客户命名规范,是否避免与标准键混淆 |
| 用户分配 | 哪些采购员需要该键,是否按岗位分组 |
| 事务范围 | 哪些采购订单、库存转储或其他应用读取该设置 |
| 数据影响 | 是否影响信息记录更新、默认选择或附加屏幕 |
| 会话影响 | 修改后是否需要重新登录 |
| 回退 | 如何恢复原键或移除 EVO |
SAP 官方教程补充:EFB 是采购应用内部功能权限键
EFB 也不是简单字段默认值。它把用户关联到采购 Customizing 中定义的功能权限键。
/images/article_image/827765677998149.png
SAP Help 对“采购申请价格能否传入采购订单”给出了非常清晰的例子:
- 进入
Materials Management → Purchasing → Authorization Management → Define Function Authorizations for Buyers。 - 创建或选择功能权限键。
- 在采购订单功能权限中启用
Order price adoption,对应字段T160D-EBPUEB。 - 在
SU3 → Parameters中维护EFB = <功能权限键>。 - 参数值应使用已配置键值,并注意大写。
- 在采购申请项目的估价区域维护
PO Price:不采用、作为毛价采用或作为净价采用。 - 参考采购申请创建采购订单,验证价格按预期传递。
对应的技术值通常为:
| PO Price 语义 | 技术值 | 结果 |
|---|---|---|
| Do not adopt | 空白 | 不把采购申请价格带入采购订单 |
| As gross price | 1 | 作为毛价采用 |
| As net price | 2 | 作为净价采用 |
EFB 不是完整的用户授权
名称中的“功能权限”很容易造成误解。EFB 控制的是采购应用内部某些功能开关,不能替代:
- PFCG 角色与菜单授权;
- 事务码授权;
- 采购组织、采购组、工厂等组织级授权;
- 供应商、金额、审批或职责分离控制;
- 生产变更审批与审计日志。
因此,EFB 设计必须由采购顾问与安全顾问共同评审。只在 SU3 中分配一个键,不代表用户获得了所有采购权限;反过来,用户有事务权限也不代表应用内部功能一定开放。
SAP 官方教程补充:MSV、EVO、EFB 的共同结构与关键差异
三个参数都维护在 SU3 → Parameters,但它们指向的配置对象、业务效果和风险完全不同。把三者当成普通字段默认值,是用户参数项目中最常见的设计错误之一。
| 参数 | SU3 中保存的值 | 后端对象 | 典型效果 | 主要风险 |
|---|---|---|---|---|
MSV | 消息版本键 | 可控制系统消息的版本记录 | 抑制、警告或阻断某条消息 | 把重要错误隐藏,或把业务全部阻断 |
EVO | 采购员默认值键 | Define Default Values for Buyers | 改变采购应用中的默认行为 | 版本差异、个人设置覆盖、数据更新行为改变 |
EFB | 采购功能权限键 | Define Function Authorizations for Buyers | 开放或限制采购应用内部功能 | 被误当作完整授权,造成控制缺口 |
它们的共同生效链可以概括为:
- 顾问在 IMG 中定义并测试配置键。
- 用户管理员把键值分配给测试用户的参数 ID。
- 用户重新登录,使用户参数稳定加载。
- 在明确的目标事务和测试数据上触发行为。
- 业务负责人确认结果,安全团队确认权限边界。
- 通过运输、审批或受控用户维护方式推广。
不能只检查 SU3 是否有一行记录
如果 MSV = 01 已经存在,但版本 01 没有对应应用区域和消息号,业务行为不会按预期变化;如果 EVO 指向一个没有目标选项的键,也不会产生讲师口述的效果;如果 EFB 键开放了价格采用,但采购申请项目没有维护 PO Price,采购订单仍可能没有带入价格。参数行只完成了“用户到配置键”的关联,不代表整条业务链已经成立。
建议的最小证据包
每个配置键至少保留:IMG 节点与键的截图、配置字段说明、SU3 用户分配截图、重新登录时间、目标事务输入、系统结果、关联业务凭证、预期与实际对比、审批人和回退方式。这样才能在用户反馈“昨天还能用、今天不能用”时快速定位是配置、用户分配、事务入口还是数据条件发生变化。
SAP 官方教程补充:默认值的优先级与生效时点
SAP 官方资料指出,功能内部定义的默认值可能优先于用户参数。实际项目中可以按以下顺序排查:
- 当前屏幕上的显式输入:用户已经输入或从上游对象带入的值通常优先。
- 事务或应用个人设置:例如单屏采购事务的 Personal Settings。
- 事务变式、参数事务或应用初始化逻辑:程序可能主动覆盖字段。
- SPA/GPA 用户参数:目标程序读取
GET PARAMETER后提出值。 - 字段保持为空:目标应用没有读取参数,或读取条件不满足。
这不是所有程序都采用的固定技术顺序,而是排查框架。最终优先级必须由目标应用的实际行为、字段帮助和官方文档确认。
修改用户参数后的生效方式也要测试:
| 操作 | 可能结果 |
|---|---|
| 保存后在当前会话重新进入事务 | 有些参数立即生效 |
| 打开新的并行会话 | 可能读取同一用户 SAP Memory |
| 退出并重新登录 | 重新加载用户参数,最适合作为正式验收步骤 |
| 只刷新当前屏幕 | 不一定重新初始化字段 |
生产变更验证应至少包含一次完整重新登录,避免把旧会话缓存误判为最终结果。
SAP 官方教程补充:经典 SAP GUI 与 Fiori 默认值要分开
经典 SAP GUI 的 SPA/GPA 参数与 Fiori 用户默认值并不是同一个入口,也不保证自动互通。
/images/article_image/827765706752069.png
| 维度 | 经典 SAP GUI | SAP Fiori / Cloud |
|---|---|---|
| 常见入口 | SU3、System → User Profile → Own Data | Settings → Default Values,或业务应用专用设置 |
| 数据载体 | 参数 ID 与参数值 | 用户默认值、值集、应用专用设置 |
| 典型范围 | Dynpro/经典事务主动读取 SAP Memory | 目标映射、插件或业务应用读取默认值 |
| 采购示例 | WRK/EKO/EKG/MSV/EVO/EFB | 采购申请工厂、公司代码、采购组、科目分配、成本中心等 |
| 重要边界 | 并非所有事务都消费同一参数 | 采购申请默认值不自动影响采购订单或合同 |
SAP Learning 明确说明,Default Settings for Users - Purchase Requisitions 面向采购申请。即使管理员为用户维护了工厂、公司代码、科目分配类别、成本中心和凭证类型,也不能推断采购订单或合同应用一定使用相同值。
混合部署或系统迁移时,应先建立“用户实际入口清单”:
- 用户使用的是 SAP GUI、WebGUI 还是 Fiori 应用?
- 对应业务对象是采购申请、采购订单、合同还是报表?
- 默认值由 SU3、应用个人设置、Fiori Default Values 还是管理员应用维护?
- 同一字段在不同入口是否需要一致?
- 一致性由配置、主数据、角色还是自动化测试保障?
Fiori 采购申请默认值的验收重点
SAP Learning 给出的采购申请默认值示例包括工厂、公司代码、科目分配类别、成本中心和凭证类型。验收时要逐项确认:
| 检查项 | 为什么要检查 |
|---|---|
| 默认值针对哪个业务对象 | 采购申请设置不能直接推断为采购订单或合同默认值 |
| 当前值、附加值或值集 | 多值设置与单一固定值的用户体验不同 |
| 用户是否仍可修改 | 默认值、限制值和授权范围是不同控制 |
| 后端组织与主数据是否有效 | 前端能选到值不代表后续校验一定通过 |
| 应用是否有自己的个人设置 | 个人设置可能覆盖管理员提供的默认值 |
| 批量维护方式 | 多用户场景可评估 SAP 官方支持的 Excel-Based Data Exchange |
迁移项目不能简单地把 SU3 参数表复制到 Fiori 设置。应建立字段级映射:旧参数 ID、旧事务、Fiori 应用、目标默认值字段、值来源、优先级和回归测试。没有映射的字段保持待确认,不用猜测填充。
SAP 官方教程补充:生产配置与治理方案
用户参数看起来只是几行小数据,但会改变大量用户进入事务时的初始状态。建议把它纳入正式配置治理。
1. 建立参数目录
| 字段 | 示例 |
|---|---|
| 参数 ID | WRK |
| 业务含义 | 默认工厂 |
| 允许值来源 | 工厂主数据与组织设计 |
| 目标事务 | MB51、MB52 等经过验证的事务 |
| 是否可覆盖 | 是 |
| 授权依赖 | 工厂相关授权对象 |
| 维护责任 | 用户本人、服务台或用户管理员 |
| 生效方式 | 保存后重新登录验证 |
2. 分离配置键与用户分配
MSV/EVO/EFB 的参数值通常指向配置键。配置键本身和用户分配应分开治理:
- 顾问负责 IMG 中的键与行为;
- 安全或用户管理团队负责把键分配给正确用户;
- 业务负责人确认岗位范围;
- 测试团队验证实际事务结果;
- 生产变更保留审批、运输和回退记录。
3. 使用测试用户而不是直接改生产采购员
尤其是 MSV 与 EFB,错误配置可能把警告变成阻断、把阻断隐藏,或改变采购申请价格传递。应先用专用测试用户验证,再逐步扩大用户范围。
4. 不把默认值当成数据质量控制
默认值只能降低重复输入,并不能保证值正确。真正的数据质量仍需要:
- 组织结构和主数据有效性;
- 字段必输、值帮助和一致性检查;
- 角色与授权;
- 审批策略;
- 业务规则和例外处理;
- 监控与审计。
5. 设计可撤回的上线批次
建议先选择一个测试用户,再选择一个岗位小组,最后推广到完整用户群。每一批都应保存变更前的参数快照,并明确撤回方法:删除参数、恢复原值或重新分配原配置键。MSV 尤其要先验证回退到版本 00 的结果,避免自定义版本意外阻断所有目标业务。
6. 防止用户自行改变受控参数
WRK 这类效率型默认值可以允许用户自行维护,但 MSV/EVO/EFB 可能承载配置和控制含义。项目应明确哪些参数可由用户在 SU3 中维护,哪些必须由服务台或用户管理员按工单修改。技术上能进入 Parameters 页签,不等于治理上允许随意改变所有键。
7. 定期复核失效参数
用户转岗、工厂停用、采购组织调整或配置键退役后,旧参数可能继续存在。定期把用户参数与有效组织代码、岗位清单和现行配置键对比,可以减少无效默认值、错误组织带入和历史权限键残留。复核结果应区分“参数存在”“应用读取”“用户有权使用”三个层次。
SAP 官方教程补充:常见故障排查
故障 1:SU3 已维护 WRK,但事务中没有工厂默认值
按以下顺序检查:
- 参数 ID 是否确实为
WRK,而不是凭字段名猜测。 - 参数值对应的工厂是否存在。
- 是否保存成功。
- 是否重新登录。
- 目标事务是否支持
WRK。 - 事务个人设置或变式是否覆盖了用户参数。
- 程序是否只在初始进入时读取参数,而当前只是返回同一屏幕。
故障 2:MB52 有默认值,ME21N 没有
这不一定是错误。不同事务可能使用不同默认机制。MB52 能读取 WRK,不代表 ME21N 的所有字段都读取同一参数。应检查 ME21N 的 Personal Settings、Default Values 和 SAP 版本文档。
故障 3:MSV 自定义版本没有生效
检查:
SU3中是否维护正确的MSV值;- 参数值是否与 Customizing 的版本完全一致;
- 用户是否重新登录;
- 应用区域和消息编号是否正确;
- 该消息是否允许配置;
- 实际触发的是否另一个消息号;
- 是否把系统消息误认为采购输出消息。
故障 4:EVO 已分配,但采购订单行为不变
检查目标事务和版本是否读取 EVO 默认值键;确认键下的目标选项已保存;验证是否存在个人设置或业务对象数据覆盖;用同一用户、同一事务和可重复测试数据重新执行。
故障 5:EFB 已分配,但采购申请价格仍未带入采购订单
检查:
- EFB 参数值是否使用正确的大写键。
- 功能权限键是否启用
Order price adoption。 - 采购申请项目是否维护
PO Price类型。 - 采购订单是否真正参考该采购申请创建。
- 价格是否被后续定价过程重新确定。
- 当前系统是 SAP ERP、S/4HANA 还是 Cloud 场景,配置入口是否相同。
SAP 官方教程补充:端到端测试清单
建议把验收拆成四组。
A. WRK 默认值
-
SU3中维护WRK = 0001。 - 保存并重新登录。
- MB52 首次进入提出
0001。 - MB51 首次进入提出
0001。 - 能手工改为另一个授权工厂。
- 删除 WRK 后重新登录,默认值按预期消失。
B. MSV 消息版本
- 未维护 MSV 时验证版本
00。 - 为测试用户分配自定义版本。
- 精确触发目标消息。
- 验证空白、W、E 的行为。
- 验证错误不会留下半成品数据。
- 验证回退版本。
C. EVO 默认值键
- IMG 中的键、说明和选项已复核。
- SU3 的 EVO 值与键一致。
- 目标采购事务确实读取该键。
- 每个勾选项都有单独测试案例。
- 信息记录更新等数据影响已核查。
D. EFB 功能权限键
- 功能权限键按岗位设计。
- EFB 参数值使用大写。
- 采购申请 PO Price 三种值分别测试。
- 参考采购申请创建采购订单。
- 毛价、净价和不采用的结果符合设计。
- PFCG 与组织权限另行通过。
SAP 官方教程补充:常见问题
1. 所有字段都能用 SU3 设默认值吗?
不能。字段必须有参数 ID,并且目标应用必须读取它。先用 F1 技术信息确认参数 ID,再在目标事务中测试。
2. WRK 会限制用户只能访问一个工厂吗?
不会。WRK 只是默认工厂。访问范围由授权和业务规则决定。
3. 参数值保存后为什么要重新登录?
用户参数与 SAP Memory、会话初始化有关。部分变化可在新事务中立即出现,但正式验收最好完整退出并重新登录。
4. MSV 的 00 可以直接修改吗?
是否允许、是否应该修改要按系统治理决定。更稳妥的做法通常是创建客户版本、分配给测试用户并逐步上线,同时保留版本 00 作为基线。
5. MSV 能控制采购订单打印吗?
不能用这个结论。MSV 处理的是系统消息版本;采购订单打印、邮件、EDI 属于输出管理或消息确定。
6. EVO 里有哪些固定选项?
没有一张适用于所有版本的固定清单。SAP 官方文档给出了可用性详细信息、信息记录更新等例子,实际字段要看当前系统 IMG 文档。
7. EFB 等于采购员角色吗?
不等于。EFB 是采购应用内部的功能权限键,不能替代 PFCG、组织授权和职责分离。
8. Fiori 里还需要 SU3 吗?
取决于应用。部分 Fiori 应用使用自己的 Default Values 或管理员默认设置;部分后端逻辑仍可能访问用户参数。必须按具体应用验证,不能一概而论。
SAP 官方教程补充:本课结论与参考资料
本课最重要的结论可以压缩成五句话:
- 参数 ID 把用户相关的 SAP Memory 值与支持它的屏幕字段连接起来。
- 视频通过
SU3 → WRK = 0001 → MB52/MB51完整证明了默认工厂机制。 - 默认值可以覆盖,不能替代权限或数据质量控制。
MSV/EVO/EFB的参数值是消息版本、采购员默认值键和功能权限键,必须与 Customizing 配合。- 经典 SAP GUI 与 Fiori / Cloud 的用户默认值入口和应用范围不同,必须逐应用验证。
视频来源
SAP 官方资料
- SAP Learning:Maintaining Default Values
- SAP Learning:Setting User Defaults
- SAP Learning:Creating a Purchase Requisition via Self-Service Process
- SAP Help:Filling an Initial Screen Using SPA/GPA Parameters
- SAP Help:User Parameter IDs
- SAP Help:Maintenance of User Parameters
- SAP Help:Which user parameter IDs are working in purchasing documents
- SAP Help:Allowing Negative Stock(MSV 示例)
- SAP Help:Define Attributes of System Messages
- SAP Help:Stock Transfer in Purchasing(EVO 示例)
- SAP Help:How to analyze Price is not transferred from Purchase requisition to Purchase Order(EFB)
- SAP Help:Maintaining Your Default User Values


