
简介面向 SAP 初学者和企业信息化人员的一份 PPT 课件系统整理了 SAP 日常操作中的高频实用技巧。内容依次覆盖 SAP LOGON 配置、登录安全策略、屏幕元素组成、常见图标与快捷键、命令框指令、事务代码使用方法、收藏夹组织个人工作等基础模块并进一步介绍用户默认值设置、打印输出、ALV 清单显示、F1/F2/F4/F8 功能键和变式应用等进阶功能有助于新用户快速熟悉系统界面和操作路径减少摸索时间。资源为单个 PPTX 文件共 43 页压缩包大小 1.96MB内容精炼适合按章节自学或部门内训。已有 288 人浏览学习对正在接触 SAP 的学员及需要支持内部用户的运维人员有参考价值。1. 别一上来背事务码SAP基本操作先解决“敢点”的问题一个刚接手 SAP 的新顾问打开 GUI 810 看到满屏英文菜单第一反应往往是直接关掉。SAP基本操作及技巧这类资料本质上就是给这种“敢点但不知道点什么”的阶段准备的。标题里的 43 页 PPT页数不算多但通常会把登录、导航、事务码、变式、权限、常见业务场景串成一条线真正落地时你会发现大部分日常操作靠的是十几个事务码和几套固定习惯不是背完整本菜单。这篇笔记适合刚入职的 MM/PP/FICO 内部顾问也适合从 Excel 转型做 ERP 支持的人。你不需要懂 ABAP只需要一台能连上开发环境的笔记本跟着页面一步步点过去先把“敢点”变成“会点”。2. 先打通日常操作SAP GUI 会话管理与高频事务码2.1 登录与多窗口在 SAP GUI 810 里怎么合理开会话登录这件事看起来无聊但翻车率其实最高。首次打开 SAP GUI看到系统列表时双击对应的系统条目接着输入用户名、密码和客户端。客户端由项目 Basis 团队分配常见的有 100、200 这样的三位数字。同一个用户名在不同客户端下的权限和主数据范围可能完全不同甚至用户也会不一样。所以登录失败时先别怀疑键盘先看客户端是不是填对了。登录后的第一件事不是急着点菜单而是学会开新会话。SAP 允许同一个用户同时建立多个会话session每个会话里可以跑不同的事务码。最简单的开新会话方式是按CtrlN或者在顶部工具栏点“创建会话”图标。另一个常用命令是在命令框输入/o后回车它会直接弹出一个新的会话窗口。这样你可以在一个会话里维护物料主数据在另一个会话里查询财务凭证中间不需要反复退菜单。很多新手的操作习惯是在一个窗口里点“返回”退到初始菜单再进另一个功能。这样做的问题在于你正在编辑的界面一旦切换未保存的输入就丢了。尤其是 MIGO 这种需要填很多行项目的界面退一次就前功尽弃。更合理的方式是一个会话专门做查询一个会话专门做录入一个会话专门出报表。系统对会话数量有上限常见的是 6 个开多了会提示“已达到最大会话数量”这时用/i关闭不需要的会话即可。提示/n与/o是两回事。/nMM03是在当前会话跳转到事务码 MM03会先结束当前事务/oMM03是开启一个新会话再进入 MM03。习惯上只要不是确认要丢弃当前界面都用/o更安全。2.2 事务码输入规范/n、/o、/i 怎么用才算熟练事务码就是 SAP 的入口把手。右上角命令框不只能输事务码还支持几个通用前缀这一节的内容背下来能省掉大量来回点菜单的时间。下面这张表是日常用得最多的命令组合。输入作用典型场景/n 事务码当前会话跳转到新事务查询完物料再查凭证/o打开新会话需要并行处理多任务/i关闭当前会话清理会话释放额度/n回到当前会话的初始界面想重新开始但不退出/nex退出 SAP GUI结束工作这些前缀在不同客户端和不同 GUI 版本下表现一致。操作时要注意命令框里输入内容后要按回车SAP 不像浏览器那样自动识别。比如输入/nFB03后回车当前会话会进入显示财务凭证的界面顶部菜单会变成“凭证显示”。如果你输入的是FB03不带/n在当前会话本身没有事务的情况下效果和/nFB03一样但如果当前已经在某个事务里就直接跳转退出当前事务。还有一个小技巧命令框支持模糊搜索事务码。输入FB0后按F4会列出FB01、FB02、FB03等候选。即使你记不住完整事务码也能靠这个“后悔药”找到想要的功能。另外输错事务码时系统会报“事务码不存在”这时候不要急着重装客户端先检查是不是多了空格、中文字符或者是否区分了大小写。事务码本身不区分大小写但空格和末位回车会直接影响判断。2.3 高频事务码清单从 MM03 到 FB03 的读接口习惯基本操作阶段重点是先会“看单”再会“做单”。下面这组读接口事务码是 SAP 从业者每天都会摸到的基础工具。把这张表记牢再做创建、修改类操作时你至少知道去哪里验证结果。事务码作用关键入口参数MM03显示物料主数据物料号、工厂VA03显示销售订单销售订单号FB03显示财务凭证凭证号、公司代码、年度ME23N显示采购订单采购订单号MB51物料凭证清单工厂、期间、物料号SE16N通用表浏览器表名、公司代码MD04单个物料供需清单物料、工厂、MRP范围MD07物料需求汇总MRP控制者、工厂、期间SU01用户维护用户IDPFCG角色维护角色名、权限、菜单这里面我特别想强调MD07和SE16N。MD04是查看某一个物料的库存和需求MD07是把一个 MRP 控制者名下的所有物料汇总起来看刚好适合周度缺料分析。很多计划员抱怨 MRP 跑不准其实不是系统算错而是他们一直在用MM03看静态库存没有用MD07看动态供需。SE16N则是查配置表和主数据表的通用入口比如你想看一个销售订单的抬头状态知道表名VBAK就可以直接进SE16N输入表名去查。这个操作的风险在于它是直接改表数据的入口新手最好以查询为主不要动“修改模式”。如果公司有数据访问控制没必要申请这权限时尽量不申请。这 10 个事务码建议一进系统就放进 SAP GUI 的“我的收藏”。做法是在命令框输入事务码回车后在菜单栏找到“收藏夹”选择“添加到收藏夹”。你可以建立“01 查询”“02 录入”“03 后台”这样的子文件夹。后面的章节里每次提到事务码我都默认你已经把基础收藏建好了。3. 让重复操作一键完成变式、查找记录与 BDC 批量脚本3.1 报表变式Variant怎么存、怎么推广给别人SAP 的报表选择屏幕每次执行都要重新填一遍工厂、期间、物料类型这种重复劳动完全可以靠变式Variant减掉。变式的本质是把你当前屏幕上的筛选条件、布局选项、排序方式存成一个命名组合。下次运行同一个事务码输入变式名回车所有条件自动带出。保存变式的操作很简单在报表选择屏幕上按CtrlS或者在工具栏点“保存”图标。弹出的窗口里需要填变式名、描述和保存类别。保存类别是最容易出问题的位置。如果你选“仅限用户”这个变式只有你自己能看到如果选“通用”所有有该报表权限的用户都有可能看到。但“通用”变式不是草率就能建的一般需要用户对变式对象有维护权限否则保存时会报错。推广变式的常见做法是先在开发机或质量机上建好通用变式然后通过请求传输到生产机。变式和数据字典对象一样也可以挂到传输请求上。很多项目里业务顾问做好变式后会截图发给管理员管理员用事务码传输管理来发布。如果你只是想把变式给同一个公司代码下的几个同事也可以把变式名和描述发给对方让对方在自己的选择屏幕上点“获取”输入名称后复制过来。变式还有个容易被忽略的用法它可以作为事务码启动参数。事务码SE93可以为报表创建“变式事务码”例如为MB51创建一个名为ZMB51_PRD的事务码启动时自动使用PRD变式。这样业务人员不用理解什么叫做变式只要双击一个图标就能看到对应工厂的物料凭证清单适合给财务或仓储用户使用。注意变式的名字最好统一用Z开头比如Z_MM_MB51_WEEK。标准变式名不带Z但你新建的变式如果和标准变式重名可能在传输或比较时被覆盖。这不是报错但确实会让人困惑。3.2 用 SHDB 录制 BDC自动过账的最小脚本BDCBatch Data Communication是把用户在 SAP GUI 上的屏幕操作录制下来再通过 ABAP 程序回放的批处理技术。常见用途是批量创建物料、批量过账财务凭证、批量修改主数据。在 ECC 时代这是每个运维顾问都要会的保命技能。SAP 提供了事务码SHDB来录制批输入会话。操作路径是运行SHDB点“新建录制”输入录制名称后点“开始”SAP 会打开一个空的事务码输入界面这时候你正常做一遍业务操作比如进入 FB03 查询一张凭证。完成后点“保存”系统就把这一串对话记录成步骤清单。接着在 SHDB 列表界面选中录制点“程序”-“从录制生成程序”系统会自动生成 ABAP 代码。这段代码可以直接复制到 ABAP 编辑器里跑也可以作为参考模板自己改。下面是一段手工写的 BDC 调用示例模拟用 FB03 查询凭证。实际项目里你从 SHDB 生成后看到的结构和它类似。REPORT z_bdc_demo. DATA: lt_bdc TYPE STANDARD TABLE OF bdcdata, ls_bdc TYPE bdcdata, lt_msg TYPE STANDARD TABLE OF bdcmsgcoll, lv_mode LIKE ctu_params-dismode VALUE A, lv_upd LIKE ctu_params-updmode VALUE S. * 第一屏进入事务码 FB03 ls_bdc-program SAPMF05A. ls_bdc-dynpro 0100. ls_bdc-dynbegin X. APPEND ls_bdc TO lt_bdc. CLEAR ls_bdc. ls_bdc-fnam BKPF-BUKRS. ls_bdc-fval 1000. APPEND ls_bdc TO lt_bdc. CLEAR ls_bdc. ls_bdc-fnam BKPF-BELNR. ls_bdc-fval 0100001234. APPEND ls_bdc TO lt_bdc. CLEAR ls_bdc. ls_bdc-fnam BKPF-GJAHR. ls_bdc-fval 2024. APPEND ls_bdc TO lt_bdc. CLEAR ls_bdc. CALL TRANSACTION FB03 USING lt_bdc MODE lv_mode UPDATE lv_upd MESSAGES INTO lt_msg.这段代码里最关键的四个字段是program、dynpro、dynbegin、fnam和fval。program是当前 Dynpro 所属的 ABAP 程序名dynpro是屏幕编号它们决定了 SAP 跳到哪个界面。dynbegin X表示这一行是屏幕的开始每个新的屏幕都要先写一行dynbegin。之后的fnam是光标所在字段的技术名称fval是你想填入的字段值。字段名不是界面上显示的标签而是像BKPF-BELNR这种以表名-字段名格式存在的技术名称获取方法是在界面上把光标停到字段上按F1再查看“技术信息”。CALL TRANSACTION后面的三个参数是实跑的开关。MODE A表示逐个屏幕显示用于测试和验收MODE N表示完全后台执行不弹任何窗口速度最快MODE E表示只有发生错误时才弹出界面让用户干预。UPDATE S表示同步更新日志会等这一步彻底结束再返回A是异步更新性能好但出错排查麻烦。第一次跑 BDC 时建议用MODE A加UPDATE S不要一上来就全后台。3.3 从 BDC 到 RAP新项目里还有必要学吗随着 S/4HANA 和 SAP BTP 推广RAPABAP RESTful Application Programming Model成了新开发的主流很多人会问老一套 BDC 是不是该淘汰了。我的看法是如果你维护的是 ECC 或 S/4HANA 2020 之前的系统BDC 仍然绕不开因为生产环境里仍有大量老事务码并没有对应的 BAPI 或 Fiori 应用。热词里sap bdc、sap rap同时存在正是这种过渡阶段的写照。RAP 解决的是新建应用的问题它面向 Fiori、OData 和云环境BDC 解决的是存量系统的批量操作问题它面向 GUI 事务码回放。两者不是替代关系而是分工不同。实际选择时优先顺序应该是目标对象有没有 BAPI 或 RFC 函数有就用它没有 BAPI再考虑 BDC。比如创建采购订单优先用BAPI_PO_CREATE1但修改某个非标准的自定义表往往只有录 BDC 最直接。BDC 最典型的坑是录制时“屏幕变化”。如果事务码升级后屏幕布局改变录制的字段位置对不上程序会在跑批时报“屏幕不存在”。解决方法是维护一个动态的屏幕流校验或者定期用 SHDB 重新录制。另一个坑是 BDC 不回显业务错误只把错误消息收到lt_msg里不弹窗。所以在后台跑批之后一定要检查lt_msg的消息类型遇到E和A的日志要单独捞出来看而不是只盯着最后成功多少条。4. 贴近业务的前几个高频场景MD07、PFCG、MIGO 与 科目配置4.1 MD07用物料需求清单做缺料分析物料计划员最常挂在嘴边的“缺料分析”在 SAP 里的落地入口并不是 MB52而是 MD07。MB52 看的是当前库存MD07 看的是一段时间内的库存、收货、需求和短缺数量。运行路径是事务码MD07填入 MRP 控制者、工厂和期间回车后会得到一份按 MRP 控制者汇总的物料需求清单。你可以点 ALV 网格的“导出”按钮把结果导成 Excel也可以直接按短缺数量排序。MD07 的结果里每一行物料会显示“可用库存”“总需求”“短缺数量”其中“短缺数量”是计划员最关心的字段。需要注意的是MD07 的可用性是基于 MRP 计算逻辑的如果某个库存地点在物料主数据里被设置成“MRP 排除”这部分库存不会参与可用量计算结果里自然也看不到。这个设置位于物料主数据 MRP 3 视图中字段名就叫“库存地点 MRP 排除”它可以把某些中转仓、退货仓独立出计划逻辑。但很多项目乱用它导致明明仓库有货系统还是报缺料。MD07 的常见补充操作是点击行项目里的物料号跳转到 MD04 查看单个物料的供需明细。MD04 里能看到每一张采购订单、生产订单、销售订单在哪个日期影响库存。如果 MD07 的短缺数量与线下台账对不上就用 MD04 逐笔核对。还要特别提醒一点如果项目启用了 POD交货确认在收货流程里没有做 POD那么委外加工或内向交货单的库存状态会异常MD07 里显示的数字也不好解释。做缺料分析前先看这些前置功能有没有被人为跳过。4.2 PFCG角色权限与菜单分配权限问题在 SAP 日常支持里占比非常高新人刚进项目时最常被问“为什么这个事务码我点了没反应”。答案一半在 PFCG 里。PFCG 是角色维护事务码负责创建角色、维护权限参数、生成菜单并把角色分配给用户。标准做法是用Z开头命名角色例如Z_MM_MATERIAL_MASTER便于识别是自定义对象。PFCG 的操作流程是输入角色名回车会自动进入角色维护界面。在“菜单”页签里添加事务码或报表这一步决定用户登录后能看到哪些菜单在“授权”页签里点“更改授权数据”根据组织级别输入公司代码、工厂、权限策略然后点“生成”产生授权文件最后在“用户”页签里添加用户ID保存并传输。给新用户分配角色时权限不会立刻生效。常见流程是管理员在开发机 PFCG 里维护角色通过传输请求发布到质量机和生产机在生产机的 PFCG 里还要再做一次“比较”并重新生成授权否则用户看到的菜单与权限参数会出现错位。这一点在 ECC 项目里尤其明显热词sap ecc pfcg被高频搜索说明很多人就是卡在生成、传输这一步。还有一种情况是用户已经有权限但菜单看不到新事务。原因是角色菜单没有“展开”。在 PFCG 角色维护界面的“菜单”页签选中菜单树根节点点“展开全部”然后保存。用户重新登录后菜单才会刷新。权限出问题时不要急着 SE01 传重新请求先看“授权”页签里组织级别那一行有没有值没有值就是没生成成功。4.3 MIGO 过账与评估类、总账科目的联动MIGO 是货物移动的统一入口收货、发货、转储、退料都在这一个界面完成。很多顾问会背移动类型比如 101 收货、201 发货、311 转储但一旦过账时报“科目确定错误”就不知道去哪查。这里的关键其实是评估类与总账科目之间的联动。评估类Valuation Class挂在物料主数据的会计视图里它和物料类型一起决定物料过账到哪个总账科目。MIGO 过账时系统根据移动类型对应的记账规则比如收货通常走WRX科目键发货走BSX或GBB再去后台事务码 OBYC 里找到该科目键和评估类的组合取出总账科目。如果 OBYC 里没有维护这个组合过账会报“科目确定错误”。排查步骤是先用 MM03 查看物料主数据会计视图确认评估类不是空再运行OMWD查看评估类有没有分配最后到 OBYC 里检查对应科目键下有没有这个评估类。很多时候不是评估类没维护而是科目键配置表里只维护了部分工厂多工厂上线时漏了新增的工厂代码。MIGO 过账增强也是同样的逻辑如果业务要求按工厂决定不同科目常见做法是在 MIGO 的 BADI 里挂增强而不是靠 OBYC 硬塞几百行配置。SAP 提供的标准 BADI 接口是MB_MIGO_BADI建议把校验逻辑放在行项目更改的LINE_MODIFY方法里不要直接改标准程序。4.4 销售收入借贷凭证与 OKTZ两笔最常见的FICO实操财务顾问接手最多的月结问题一是成本中心费用归集不对二是销售收入凭证科目不对。销售发票过账后如果发现应收账款或者主营业务收入科目贷方跑偏不要直接冲销重开先查科目确定配置。运行事务码 OKTZ可以看到“科目确定”的配置视图里面按应用程序、科目键、总账科目维护对应关系。销售收入凭证的标准结构通常是“借应收账款 贷主营业务收入”。这里的“主营业务收入”对应后台的“账户键”Account Key一般是ERL在不同的行业里可能是ERU或ERS。OKTZ 里打开账户键后会看到一系列总账科目分配。做销售的公司代码如果新开了一个销售组织这里没有配置到位就会出现“销售订单能开票但会计凭证科目为空或不对”的诡异现象。另一个常见相关配置是 CO 里面的替代。热词里csdn sap co替代指的是成本控制中的“替代”Substitution它可以在凭证行项目过账前按规则自动带出成本中心、利润中心或内部订单。比如销售收入凭证在创建时没有成本中心但系统要求每个行项目都带成本中心否则 CO 无法分配。这时可以在 CO 的替代逻辑里根据客户组、产品线、公司代码判断默认成本中心。要验证替代是否生效用VF03查看销售发票的会计凭证再进入“行项目”界面看成本中心是否被自动填入。提示OKTZ 是后台配置事务码它修改的数据一般要随请求传输不能只在开发机上直接改。改完配置后最好用一张测试发票重新过账确认“借、贷”方向与科目都正确再发到生产。5. 操作最容易翻车的 5 个场景现象、原因与排查5.1 事务码明明存在却不跳转先查授权而不是重装客户端现象输入MM03回车后系统既没有界面也没有报错只在底部状态栏提示“您没有权限”。很多人的第一反应是重装 SAP GUI或者反复重新登录。原因这是典型的授权对象不足。每个事务码在后台都有对应的权限对象S_TCODE用户角色里没有包含该事务码系统会直接拦截而不是提示一个错误弹窗。解决用SU01查看用户主数据里的角色看是否分配了对应部门的角色再用SUIM按用户汇总角色权限确认S_TCODE里是否包含MM03。如果是新员工极大概率是角色还没生成或传输找到 PFCG 角色重新“比较”并“生成授权”再让用户重新登录。5.2 变式保存后不见了用户专属保存与通用保存的区别现象一个报表变式在开发机上明明保存了切到测试机或另一台电脑后下拉列表里找不到或者保存时系统提示“您没有该变式的维护权限”。原因变式保存时选了“仅限用户”这个变式不会出现在其他用户或其他客户端的变式列表里。另一个原因是通用变式需要授权对象S_VARIANT的权限普通用户只被授权了自有变式。解决在保存变式对话框里把类别改为“通用”或者联系管理员给角色增加S_VARIANT的维护权限。如果变式已经消失去报表选择屏幕的“获取变式”界面输入原变式名仍然有可能找回。不要重新命名不存在的变式以免覆盖掉已有定义。5.3 MIGO 过账失败物料凭证与财务凭证的“一正一负”现象MIGO 里单据行项目看着都正常点过账却报“请检查您的输入”或“科目确定错误”没有具体行项目提示。原因最常见的是收货时没有填写采购订单系统不知道是“打订单收货”还是“无单收货”导致记账规则走到错误的科目键。第二个常见原因是评估类丢失报税或库存科目没有维护。解决确认移动类型 101 对应的是采购订单收货那么抬头里“采购订单”字段必须有值。如果金额是负数比如退货行也需要检查是不是用了特殊移动类型。再检查物料主数据的评估类是否为空若为空用MM02补上并检查 OBYC 里对应工厂的科目组。那些“一正一负”的翻车时刻几乎都是因为顺手把行项目数量填成了负值或者漏输了工厂。5.4 MD07 查不到数据工厂、MRP 范围与库存地点排除现象仓库里明明有该物料库存但 MD07 里看不到或者显示的可用库存比账面少很多。原因MD07 的筛选条件是 MRP 控制者和工厂不是物料号。如果物料的 MRP 控制者被设为另一个值你就查不到。另一个原因是物料主数据 MRP3 视图里勾选了“库存地点 MRP 排除”该库存地点被隔离出 MRP。解决先用MD04输入明确物料号查看确认 MRP 范围和 MRP 控制者再回 MD07 里调整条件。如果是库存地点排除导致用MM02打开 MRP3 视图清除“库存地点 MRP 排除”勾选框保存后重新运行。特别注意不要把堆满退货的库存地点都加排除否则可用库存永远是虚高的。5.5 工单报工提示“没有标准工时”工序里的工时字段没维护现象操作工在CO11N里报工时总提示“工序没有标准工时”不允许确认。如果项目对工时确认是强制的整个报工流程会被卡住。原因工艺路线里该工序没有维护标准工时或者工作中心没有维护工时计算公式。系统确认时需要有可参考的标准值否则无法计算百分比或差异。解决用CA03查看工艺路线定位到该工序检查“标准工时”字段如果为空用CA02补上。如果工作中心没有配置“标准值”键即使填了工时也无法计算。这个坑在新建物料、工艺路线复制时最常见。补完工序后还要检查报工界面里是否已经存在前置工序未确认很多工序确认是要求顺序的跳着确认就会报类似错误。6. 把操作速度再拉一截一个收藏夹式的自检清单6.1 用“我的菜单”组织一整套操作流每个人最常用的操作往往不是单个事务码而是几个事务码连成的一条流程。比如“查采购订单 → 查物料凭证 → 查发票凭证”这条流可以用三个事务码组成一个收藏夹文件夹。在 SAP GUI 菜单栏找到“收藏夹”右键新建文件夹命名为“MM 收货查询”然后把 ME23N、MB51、FB03 拖进去。下次处理异常时进入一个会话文件夹里挨个点系统会自动新开标签页吗不会它会在当前会话里逐个跳转所以点每一项之前先确认上一步已经保存或查询完成。我还会把关键的后台配置事务码单独放一个文件夹比如OBYC、OMWD、OKTZ、PFCG。这样从“业务操作”切换到“后台配置”时不用回忆长事务码鼠标点两下就到。对带人的团队来说收藏夹的整理比任何新手文档都可靠因为每个事务码都是本系统里实际验证过的不是从 PPT 上抄下来的。6.2 关键时刻的自检清单保存之前看一眼公司代码和工厂最后分享一个我踩坑踩出来的习惯在 SAP 里任何保存动作之前先摸一下键盘左下角的ShiftF1但更简单的是养成三个固定检查点。第一过账类事务MIGO、FB01、CO11N检查公司代码、工厂、过账日期第二查询类事务MM03、FB03检查期间和工厂避免看的旧数据第三权限类操作PFCG、SU01检查用户 ID 和角色名别改错人。很多人觉得这是小事但项目上线初期最多的“垃圾凭证”都是因为公司代码选错或过账日期填错。我刚开始带人时总爱让大家背事务码后来发现操作翻车九成不是不会而是没按顺序检查。现在我的习惯是每次保存前停下来看一眼公司代码和工厂再按回车。这套自检清单比几十页操作手册更管用希望你也能在操作里固化下来。希望帮到你。本文还有配套的精品资源点击获取