# SAP MM 模块物控 MC 完整教程 📦 [![License: MIT](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Version: 1.0.0](https://img.shields.io/badge/version-1.0.0-green.svg)](https://github.com/1803560007/sap-mm-guide) [![Language: 中文](https://img.shields.io/badge/language-中文-red.svg)](README-zh.md) **专为物控 MC 设计的 SAP MM(物料管理)模块完整教程** --- ## 🚀 快速开始 ### 1. 项目概述 本教程专为物控 MC(Material Controller)设计,涵盖 SAP MM 模块的核心功能和实际应用场景。 **目标读者:** - 物控工程师 - 采购专员 - 仓库管理员 - 生产计划员 - SAP MM 初学者 **学习目标:** - 掌握 SAP MM 模块基础操作 - 理解物料管理流程 - 熟练使用采购、库存、发票等核心功能 - 掌握报表分析和异常处理 ### 2. 学习路径 ``` 基础入门 → 采购管理 → 库存管理 → 发票管理 → 报表分析 → 实战案例 ``` --- ## 📚 目录结构 ``` sap-mm-guide/ ├── README.md # 主文档 ├── README-zh.md # 中文文档 ├── QUICK_START.md # 快速开始指南 ├── CHANGELOG.md # 更新日志 ├── CONTRIBUTING.md # 贡献指南 ├── LICENSE # MIT 许可证 ├── .gitignore # Git 忽略文件 ├── docs/ # 文档目录 │ ├── 01-基础入门.md │ ├── 02-采购管理.md │ ├── 03-库存管理.md │ ├── 04-发票管理.md │ ├── 05-报表分析.md │ ├── 06-实战案例.md │ ├── 07-异常处理.md │ ├── 08-最佳实践.md │ └── 09-常用T-code速查表.md ├── examples/ # 示例代码 │ ├── ABAP/ │ │ ├── MM01_Batch_Create.abap │ │ ├── PO_Report.abap │ │ └── Stock_Enquiry.abap │ ├── Excel/ │ │ ├── PO_Template.xlsx │ │ ├── Stock_Report.xlsx │ │ └── GR_GI_Tracker.xlsx │ └── Scripts/ │ ├── batch_upload.py │ ├── stock_alert.py │ └── po_tracking.py ├── templates/ # 模板文件 │ ├── PO_Request_Form.xlsx │ ├── Material_Master_Template.xlsx │ └── Stock_Take_Template.xlsx └── tools/ # 工具脚本 ├── mm_checker.sh ├── stock_validator.sh └── po_approver.sh ``` --- ## 🎯 核心内容 ### 1. 基础入门 **SAP 系统介绍** - SAP 系统架构 - MM 模块概述 - 物控 MC 角色定位 **基础操作** - 登录和界面介绍 - 常用 T-code 速查 - 帮助系统使用 - 基本搜索技巧 ### 2. 采购管理 **主数据管理** - 物料主数据(MM01/MM02/MM03) - 供应商主数据(XK01/XK02/XK03) - 信息记录(ME11/ME12/ME13) - 源清单(ME01/ME02/ME03) **采购订单管理** - 创建采购订单(ME21N) - 修改采购订单(ME22N) - 显示采购订单(ME23N) - 采购订单审批(ME28/ME29N) - 采购订单打印(ME9F) **采购申请管理** - 创建采购申请(ME51N) - 修改采购申请(ME52N) - 显示采购申请(ME53N) - 采购申请转采购订单(ME59N) ### 3. 库存管理 **物料移动** - 收货(MIGO) - 发货(MIGO) - 库存转移(MIGO) - 库存盘点(MI31/MI01) **库存查询** - 库存总览(MMBE) - 物料凭证查询(MB03) - 库存历史(MB51) - 库存分析(MB5B) **库存管理** - 库存状态管理 - 库存冻结处理 - 库存调整 - 库存盘点差异处理 ### 4. 发票管理 **发票录入** - 发票录入(MIRO) - 发票修改(MIR2) - 发票查询(MIR4) - 发票冲销(MIR7) **发票匹配** - 三单匹配(发票/订单/收货) - 差异处理 - 暂估处理 - 预付款处理 ### 5. 报表分析 **标准报表** - 采购订单报表(ME2M) - 物料库存报表(MMBE/MB5B) - 物料凭证报表(MB51) - 发票报表(MIRO/MIR4) **自定义报表** - ABAP 报表开发 - Excel 数据导出 - 数据分析技巧 - 报表自动化 ### 6. 实战案例 **案例 1:新物料导入** - 物料主数据创建 - 采购信息记录维护 - 源清单设置 - 首次采购流程 **案例 2:库存盘点** - 盘点计划制定 - 盘点执行 - 差异分析 - 调整处理 **案例 3:紧急采购** - 紧急采购申请 - 快速采购订单 - 紧急收货 - 后续补单 **案例 4:供应商评估** - 供应商主数据维护 - 采购记录分析 - 绩效评估 - 源清单更新 ### 7. 异常处理 **常见问题** - 物料主数据错误 - 采购订单错误 - 库存异常 - 发票差异 - 系统错误 **解决方案** - 错误代码解析 - 处理流程 - 预防措施 - 最佳实践 ### 8. 最佳实践 **数据管理** - 物料编码规范 - 供应商管理规范 - 库存管理规范 - 文档管理规范 **流程优化** - 采购流程优化 - 库存管理优化 - 发票处理优化 - 报表自动化 **系统使用** - 快捷键使用 - 批量操作 - 报表定制 - 异常监控 ### 9. 常用 T-code 速查表 **主数据管理** - MM01 - 创建物料主数据 - MM02 - 修改物料主数据 - MM03 - 显示物料主数据 - XK01 - 创建供应商主数据 - XK02 - 修改供应商主数据 - XK03 - 显示供应商主数据 - ME11 - 创建信息记录 - ME12 - 修改信息记录 - ME13 - 显示信息记录 **采购管理** - ME21N - 创建采购订单 - ME22N - 修改采购订单 - ME23N - 显示采购订单 - ME28 - 采购订单审批 - ME29N - 采购订单审批 - ME9F - 采购订单打印 - ME51N - 创建采购申请 - ME52N - 修改采购申请 - ME53N - 显示采购申请 - ME59N - 采购申请转采购订单 **库存管理** - MIGO - 物料移动 - MMBE - 库存总览 - MB03 - 物料凭证查询 - MB51 - 物料凭证报表 - MB5B - 库存报表 - MI31 - 库存盘点 - MI01 - 创建盘点凭证 - MI02 - 修改盘点凭证 - MI04 - 录入盘点结果 - MI05 - 修改盘点结果 - MI07 - 盘点差异过账 **发票管理** - MIRO - 发票录入 - MIR2 - 发票修改 - MIR4 - 发票查询 - MIR7 - 发票冲销 - MR8M - 发票冲销 **报表分析** - ME2M - 采购订单报表 - ME2L - 供应商采购报表 - ME80FN - 采购订单汇总 - MB51 - 物料凭证报表 - MB5B - 库存报表 - MMBE - 库存总览 - MIRO - 发票报表 - MIR4 - 发票查询 --- ## 🛠️ 示例代码 ### ABAP 示例 **批量创建物料主数据** ```abap REPORT ZMM_BATCH_CREATE. DATA: lt_material TYPE TABLE OF BAPI_MARA, ls_material TYPE BAPI_MARA, lt_return TYPE TABLE OF BAPIRET2, ls_return TYPE BAPIRET2. LOOP AT it_material INTO ls_material. CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' EXPORTING HEADDATA = ls_material IMPORTING RETURN = ls_return TABLES RETURN = lt_return. ENDLOOP. ``` **采购订单报表** ```abap REPORT ZMM_PO_REPORT. SELECT EBELN, EBELP, MATNR, MENGE, NETWR, WAERS FROM EKPO INTO TABLE it_ekpo WHERE LOEKZ = ''. ``` ### Python 示例 **批量上传工具** ```python import pandas as pd from pyrfc import Connection def upload_material_master(file_path): """批量上传物料主数据""" df = pd.read_excel(file_path) conn = Connection( ashost='sap_server', sysnr='00', client='100', user='username', passwd='password' ) for _, row in df.iterrows(): result = conn.call('BAPI_MATERIAL_SAVEDATA', HEADDATA=row.to_dict()) print(f"Material {row['MATNR']}: {result['RETURN']}") ``` **库存监控工具** ```python import schedule import time from pyrfc import Connection def check_stock_alert(): """库存预警检查""" conn = Connection(...) result = conn.call('BAPI_MATERIAL_GET_DETAIL', MATERIAL='100-1000') stock = result['STOCK'] if stock < 100: send_alert(f"库存不足: {stock}") ``` ### Shell 示例 **MM 检查工具** ```bash #!/bin/bash # mm_checker.sh - SAP MM 模块检查工具 # 检查物料主数据 check_material() { local matnr=$1 sapcli mm material get $matnr } # 检查采购订单 check_po() { local ebeln=$1 sapcli mm po get $ebeln } # 检查库存 check_stock() { local matnr=$1 sapcli mm stock get $matnr } # 主函数 main() { case $1 in material) check_material $2 ;; po) check_po $2 ;; stock) check_stock $2 ;; *) echo "Usage: $0 {material|po|stock} [id]" ;; esac } main "$@" ``` --- ## 📊 使用场景 ### 1. 日常操作 **每日必做** - 检查采购订单状态 - 监控库存水平 - 处理异常订单 - 生成日报表 **每周必做** - 库存盘点 - 供应商评估 - 采购计划回顾 - 报表分析 **每月必做** - 月度库存盘点 - 供应商绩效评估 - 采购成本分析 - 系统优化 ### 2. 异常处理 **库存异常** - 库存负数处理 - 库存差异分析 - 库存冻结处理 - 库存调整 **采购异常** - 订单延迟处理 - 价格差异处理 - 质量异常处理 - 供应商异常 **发票异常** - 三单不匹配 - 发票差异处理 - 暂估处理 - 预付款处理 --- ## 🔧 配置说明 ### SAP 系统配置 **连接配置** ```python # SAP 连接配置 SAP_CONFIG = { 'ashost': 'sap_server.example.com', 'sysnr': '00', 'client': '100', 'user': 'your_username', 'passwd': 'your_password' } ``` **系统参数** - 客户端:100 - 系统编号:00 - 语言:中文(ZH) - 时区:UTC+8 ### Excel 模板配置 **PO 模板** - 物料号 - 供应商 - 数量 - 单价 - 交货日期 - 备注 **库存报告模板** - 物料号 - 物料描述 - 库存地点 - 库存数量 - 库存价值 - 库存状态 --- ## 📈 项目统计 - **文档文件:** 10 个 - **示例代码:** 10+ 个 - **T-code:** 50+ 个 - **实战案例:** 4 个 - **支持语言:** ABAP、Python、Shell --- ## 🤝 贡献指南 我们欢迎贡献!请阅读 [CONTRIBUTING.md](CONTRIBUTING.md) 了解详情。 **贡献方式:** - 报告错误 - 改进文档 - 提交代码 - 分享案例 --- ## 📄 许可证 本项目采用 MIT 许可证 - 详见 [LICENSE](LICENSE) --- ## 📞 联系方式 - **GitHub:** https://github.com/1803560007 - **项目:** https://github.com/1803560007/sap-mm-guide - **邮箱:** 1803560007@users.noreply.github.com --- ## 🎉 开始学习 1. 阅读 [QUICK_START.md](QUICK_START.md) 2. 选择学习路径 3. 跟随实战案例 4. 应用到工作中 --- **版本:** 1.0.0 **最后更新:** 2026-02-02 **状态:** 🚀 开发中