1. 先给这些事务码分个类,否则你永远记不住
SAP WM模块事务码(TCODE)大全这个话题,乍听很枯燥,实际是每个入坑WM的顾问和运维人员最需要的清单。我做了几年WM实施,说实话,刚开始也是拿着一张TCODE表抄,抄完就忘。后来带了几个人,发现大家的问题都一样——不是不会操作,而是不知道“什么时候该用哪个TCODE”。
WM的事务码不像FICO那样按功能模块拆得很细,它更像一条流水线:主数据创建、入库上架、出库下架、盘点、差异处理、监控、后台配置。每个环节都有自己的代码,而且很多代码一看就不是给人背的,比如LT01、LT21、LT31、LB01,这几个放在一起,新手基本晕。
所以我先给WM事务码搭一个框架,后面再展开讲每个使用场景。这个框架很简单:WM里90%的操作都围绕三个“单据”——仓储主数据(货怎么存)、转储单TO(货怎么搬)、盘点单(数量对不对)。对应的事务码分别是LS系列、LT系列、LI系列。掌握了这个逻辑,WM模块事务码的记忆负担至少减掉一半。
再补充一个容易被忽略的点:WM和IM(库存管理)是联动关系。你在MM模块做的MB01收货、MB1A发货、MB1B过账,到了WM里会自动或要求创建TO。所以你不会用这些MM侧的事务码,就没法理解WM侧的TO为什么带一堆参考凭证号。很多新人不理解“为什么MB1B转完账,LT31没有数据”,大概率是MM和WM的移动类型映射没配对,而不是操作错了。
1.1 一张表看懂WM事务码的分组逻辑
我把WM相关的事务码按使用频率和业务生命周期分成六大类,这也是我平时给团队培训时的分法:
| 业务环节 | 核心事务码 | 作用 |
|---|---|---|
| 仓储主数据 | LS01N / LS02N / LS03N | 创建、修改、显示仓位级主数据 |
| 转储需求TR | LB01 / LB02 / LB10 | 创建、显示、列表查看仓库需求 |
| 转储单TO | LT01 / LT21 / LT31 / LT32 | 手动创建 / 批量创建 / 按收货创建 / 按需求创建 |
| TO确认 | LT11 / LT12 / LT06 | 确认单个 / 批量 / 两步拣配 |
| 盘点 | LI01N / LI04N / LI11N / LI12N | 盘点单创建 / 结果录入 / 重新盘 / 差异过账 |
| 监控与报表 | LT22 / LB10 / LS26 / MB51 | TO监控 / TR列表 / 库存监控 / 物料凭证查询 |
有这张表做底子,再看后面的具体场景就顺了。至少要记住一条经验:在WM模块,凡是“仓库内移动”基本都从“L”开头的事务码里找;凡是从IM角度处理库存,都用“M”开头的事务码。这条规则能帮你避掉一半的查询需求。
1.2 你实际上绕不开的IM侧代码
WM上线不等于只在WM里干活。不少项目上,财务和计划部门还在用MM的标准报表查库存,或者用MB1C、MB1B做手工过账,WM侧再触发上架下架。所以下面这几个IM侧代码,做WM也同样绕不开:
- MB01:采购订单收货入口,收货后如果物料启用了WM,系统会提示你创建TO上架。
- MB31:生产订单收货,配合LT31可以一站式完成收货加上架,建议项目上统一这两件事的先后顺序。
- MB1A / MB1B / MB1C:发货、转储、其他收货。这些凭证过账后,WM会根据移动类型自动生成WM需求,再转成TO。
- MMBE:库存在线概览,看总量最方便。
- MB51:搜索物料凭证,排查“某个货为什么少了”第一站就是它。
很多实施项目里,因为WM团队和MM团队分开配置,IM侧移动类型映射到WM移动类型时经常出纰漏。所以我建议做WM顾问的,至少要能把MB1B、MB1C、MB31这几个交易的“过账后WM做了什么”讲清楚,否则后面排查TO生成问题会非常痛苦。
2. 仓储主数据维护:LS01N到LS03N的高频组合
仓储主数据是WM最基础的数据,决定了一个物料放在哪里、是不是固定仓位、有没有批次管理、满托容量是多少。WM主数据创建不像MM主数据那样集中在MM01、MM02、MM03里,它有两层:一层是MM视图里的WM1、WM2视图,另一层是LS01N、LS02N、LS03N这些独立事务码。你光在MM01里扩展了仓储视图,到了WM里还是进不去仓位,原因常常是LS01N没做。
2.1 第一次创建仓储主数据的顺序
如果你是第一次上手一个新物料,我的建议是:
- 用MM01创建物料,把基本数据、工厂、库存视图、WM视图(WM1)都维护上。
- 进LS02N或者LS03N先看一下系统里是否已经有同类型的仓储主数据可以复制。
- 用LS01N为新物料创建仓储主数据,填存储类型、仓位、容差、指标(如拣配数量单位、下架策略、上架策略)。
- 如果物料有批次,还要确认是否需要LS04N批量维护批次级仓储主数据。
这里有个顺序很重要:先有存储类型和仓位,再有仓储主数据,否则LS01N会一直提示你找不到存储类型。权限和后台配置没出来之前,别急着做数据。
2.2 维护时最容易忽略的两个字段
很多新手创建仓储主数据时,最关注固定仓位和最大仓容,却忽略“启动上架/下架”相关的参数字段。结果是货确实收货了,但TO一直创建不出来,或者创建出来的TO把货放到其他仓位。实际项目里翻车最多的是两个字段:
- 指示符里的上架/下架标识:决定这个物料是否允许上架或下架。如果被设置成“不允许下架”,销售发货环节会一直报“无可用仓位”。
- 拣配字段:影响拣配类型、两步拣配是否可用。比如按HU还是按数量的拣配,都必须在这里预先设置,否则两个步骤永远走不通。
修改这些字段可以用LS02N,改完系统会记录变更,这个记录有时是排错的重要线索。测试的时候,用测试物料多走几遍MB1B加LT31,确认TO生成的仓位符合预期,再放生产。
3. 收货与上架链路:从IM凭证到WM转储单确认
这是WM模块里使用频率最高的一段流程。通俗讲,就是货到了仓库,先做收货凭证,再产生WM需求,然后WM按策略生成TO(转储单)告诉仓库作业员货该放到哪个仓位,作业员做完后确认TO,库存才算真正到了目标仓位。
3.1 不同的收货入口,对应不同的TCODE
| 收货场景 | 常用IM事务码 | 后续WM操作 |
|---|---|---|
| 采购订单收货 | MB01 | 过账后自动创建TR,再用LT31生成上架TO |
| 生产订单收货 | MB31 | 若启用WM,订单收货后同样在WM产生转储需求 |
| 其他收货 | MB1C | 手工过账,然后创建TO上架 |
| 退货或冲销 | MBST | 冲销物料凭证后,WM侧对应TO也要单独处理,别漏 |
你可能会问,为什么收货后不直接在WM里建TO,而是要分两步?这是SAP WM的设计本意:IM负责财务库存准确性,WM负责仓位和移动。分步才能做到“账和货都确认”。一个典型的生产收货场景:MB31过账后,你马上进LT31,屏幕上能抓到刚才收货的物料和数量,一键生成上架TO。如果过账很久了,去LB01看TR还在不在,就知道是没触发还是已处理。
3.2 创建上架TO:LT31还是LT01?
- 如果货是刚收货,推荐用LT31按收货凭证批量创建TO,它是“转储需求驱动的TO创建”,能按来源凭证一起生成上架单。
- 如果仓库里已经有货在某个仓位,想移到另一个仓位,直接用LT01手动创建TO,选择源仓位和目标仓位。
- 如果遇到大批量、需要按策略自动分配仓位,用LT21或更大范围的批量TO创建,但前提是存储类型搜索策略(比如上架策略)配置正确,否则系统分配的仓位可能不合理。
一个小技巧:项目上线初期,我通常建议仓库先用LT31加LT12这套组合:LT31按收货单创建TO,LT12批量确认,然后每天用LT22查一下没确认的TO。这样既保留每一步操作的追溯,也不会让作业员对着LT01的屏幕发懵。
3.3 确认TO:不要漏掉LT11和LT12的时机
TO确认在整个WM里是个“不可省”的动作。收货做完、货搬到仓位之后,必须用LT11(单张确认)或LT12(批量确认)把TO状态改成已确认,系统才会将WM库存更新到目标仓位。很多项目刚上线时员工不习惯确认,导致库存看起来永远在“临时仓位”。TO相关的显示和辅助操作还有LT03之类的,但实际确认就记住LT11、LT12即可。
另外要提醒一下:MIGO在WM项目里照样常用,很多凭证实际用MIGO做收货过账更高效,但要注意物料锁和盘点锁。如果一张凭证已经被盘点冻结,MIGO过账可能报“物料被锁定”之类的提示,不要急着强冲,先看是不是仓位在盘点冻结期内。
4. 发货与拣配链路:生产领料、销售出库和补货场景
出库比收货复杂,因为要面对不同的出库原因——生产领料、销售订单拣配、手工其他发货。每一类出库在WM里的路径都不太一样。
4.1 生产订单领料:LB01和LT31的组合拳
生产订单领料时,计划员在MM侧做MB1A(含预留)过账,或者在PP模块由系统自动发料。这一步完成后,WM中会产生针对仓位的转储需求。仓库在WM侧可以用LB01看转储需求,也可以直接通过LT31批量生成下架TO。
经验教训:下架TO创建之前,一定有预留或发货凭证作为前提。如果LB01没看到需求,请去查移动类型设置,尤其检查是否把“WM自动需求”开关打开了。另一个高频问题是:生产订单用料是倒冲,根本没做过MB1A,但WM已经启用了,那货永远出不了库。这种场景要把PP的倒冲逻辑和WM梳理清楚,统一“谁先在系统里触发下架”。
4.2 销售发货拣配:TR列表、TO创建和拣配清单
销售出库在IM层通过VL01N创建交货单、VL02N发货过账完成。WM重点关注的环节是:当发货过账时,系统为每个交货项目产生TR。仓库用LB10查看TR列表,用LT31或LB10里的按钮批量创建TO,再按仓位顺序打印拣配清单。
如果项目上了两步拣配(先整托下架再拆零拣配),你需要关注LT06这类组合事务码。设置不当容易出现拣配屏幕里看不到货的情况。记得在LS02N里把对应物料主数据的“两步拣配”标识打开,同时后台维护好两步拣配的中间仓位。
4.3 补货:别以为只有LT01一个办法
仓库低库存自动补货是个高频需求。SAP WM有标准的补货流程,我常用的是LT32、LT33这一组:LT32按需求创建补货TO,LT33按设定补货策略创建补货TO。但如果你的仓库规模不大、没有自动化设备,补货流程经常被人工替代,用LT01就能完成“从大仓位移到拣配仓位”的移动。不要被“补货必须用某个高级TCODE”的说法带偏,业务复杂度决定工具选型。
5. 盘点事务码组合:从盘点单创建到差异过账
盘点可以说是仓库里最不容出错、又最容易吵架的环节。WM的盘点流程在事务码设计上比IM要细致,支持按存储类型、按仓位、按物料、按批次甚至按特殊库存过账。
5.1 盘点标准流程
- 先用LI01N创建盘点凭证(WM盘点单)。创建时可以按存储类型、仓位范围、物料范围生成凭证,系统会冻结对应仓位,避免盘点同时发生移动。
- 打印或者导出盘点清单,线下去数库存。
- 数完的结果用LI04N录入系统。如果发现录入错误,可以回到LI02N修改。
- 全部数量录入后,用LI11N进行“重新计算”或完成库存数量更新。
- 最后用LI12N把盘点差异过账到IM,差异会自动产生相应的物料凭证。
- 用LI13N查差异清单,差异大的物料要追原因。
这里有个细节:LI01N创建后仓位会被冻结,如果在盘点过程中仓库仍然有出入库操作,会导致盘点表数量对不上。实施时建议安排一个深夜独立盘点窗口,或者至少按仓位分批盘点,避免全仓冻结影响发货。
5.2 盘点差异处理:LS24和LI12N的配合
很多顾问混淆IM盘点(MI01、MI02、MI04、MI07)和WM盘点(LI01N、LI04N、LI12N)。记住一个原则:启用WM的物料,数量差异要在WM侧先处理,再通过LI12N过账到IM。直接跑到MI04改IM数量,两个系统的WM库存会立即出现不一致,后面查差异就非常麻烦。
另外,盘点前建议先用LS24查看当前各仓位库存,和系统后台的IM库存做个初步对比,避免Excel对不上系统。LS24按物料、存储类型、仓位列出WM当前库存,是非常好的盘点准备工具。差异过账后,如果仓库还想保留差异原因分析,可以用LI13N查看差异记录并补录原因代码。
6. 监控与排错:出问题时要能顺手摸出这些TCODE
WM上线三个月之后,日常最需要的能力已经不是做单,而是快速定位问题。我自己的排错路径基本固定:先看订单状态,再看TO状态,再看物料凭证。
6.1 仓库活动监控:LT22、LB10和LS26
- LT22:TO监控器,查看未确认的TO、过期的TO、有异常的TO。每天早晚各跑一次,是仓库管理员的标配。
- LB10:查看转储需求(TR)列表,哪个货一直没生成TO,一查便知。
- LS26:显示WM库存(按存储类型、仓位),当IM库存和WM库存对不上时,LS26能快速告诉你仓位到底有没有数。
这三个是日常监控的铁三角。很多时候,顾问远程排查问题,第一句就应该让仓库去看LT22,而不是直接翻后台。LT22里能看到TO的创建时间、确认状态、差异,比翻几十张表快得多。
6.2 排错时常用的连接关系
实际排错中,我遇到最多的场景是“物料凭证已经过账,但WM没有生成TO”。排查链路大致是这样的:
- MB03看物料凭证,确认过账时间和移动类型。
- MB51按物料查凭证列表,确认这个时间段内是否有冲销、改单。
- LB01、LB10查TR是否存在。如果TR都没有,说明移动类型没有触发WM需求,多半是后台WM/IM移动类型映射没配对,或者物料主数据没有启用仓位。
- 如果TR有、TO没有,问题在搜索策略:上架策略或下架策略没配好,或者存储类型搜索顺序不对。
- 如果TO有、但确认不了,去LT22看TO状态和被拒原因。
这套链路我教过很多同事,几乎能解决80%以上的WM库存不准问题。最后一个兜底手段是MB01、MB1B冲销重过一遍,但生产环境不建议频繁冲销,因为会影响财务。
7. 后台配置事务码:上线和调整项目时绕不开的几个
前面说的都是业务操作,做一个合格的WM顾问,后台配置相关的事务码也必须掌握。WM配置不像MM、PP那么多,但至少有这几块必须会。
7.1 存储类型、搜索策略和移动类型映射
- 仓库号、存储类型的主档配置,老顾问一般直接在SPRO路径里找到“仓储”的配置节点,或者用LX17这类基础配置事务码去维护,核心是先把存储类型建出来,再配存储区、仓位类型。
- 搜索策略配置通常在LS4X这一组,比如定义上架搜索顺序、下架搜索顺序,按固定仓位、追加到已有库存、还是按近效期。
- OMCB、OMBA这一组用来配置IM侧移动类型与WM移动类型的映射关系。这是新手最头疼的,因为MM里移动类型和WM里移动类型有对应表,比如501收货、261生产发货,各对应一个WM移动类型。
建议项目上先用标准的移动类型组合跑通一遍典型流程,再根据业务做少量增强。不要上来就改搜索策略,业务的时间优先级和财务的批次管理要求经常是冲突的,需要业务人员配合决策。
7.2 和开发配合时的关键能力
WM模块经常做增强,关键点是找对增强点。顾问至少要会:
- 用SE11查看WM表结构:LAGP(仓位主数据)、LQUA(库存)、LTBK(TO抬头)、LTBP(TO行项目)。
- 用SE93查看事务码到程序或屏幕的映射,判断问题在前台还是后台逻辑。
- 用ST05开启SQL跟踪,排查TO生成慢或数据不对的问题。
很多项目的WM增强都集中在“打印拣配单”“生成自定义批号”“仓位规则调整”上面。实施顾问如果连LTBP、LQUA表结构都不熟,跟开发沟通效率极低。我通常会要求团队里每个人至少能用SE11把LTBP表的主要字段说清楚。
8. 一点个人经验:WM事务码使用中的几点忠告
文章最后,我分享几条实际使用中的体会,不一定出现在培训资料里。
第一,别把WM的事务码当成“查表背单词”。WM事务码的记忆关键在场景,不在代码本身。你只要把自己想象成仓库管理员,思考收一托货、发一托货、盘一次库各要干什么,自然能想到LB、LT、LI三个系列。
第二,IM和WM永远要一起看。任何人只盯着WM侧操作,不看MB03和MMBE,迟早会被库存差异坑。启用WM以后,IM库存和WM库存两条线是并行的,只有所有移动通过TO确认或回写,才能保持一致。
第三,事务码之外,学会用报表和表查询。LT22、MB51这些监控报表能解决一半问题;另一半问题要翻后台表,至少会用SE11看一眼LQUA、LTBP、LAGP。知道“库存在哪张表”比背一百个事务码更重要。
第四,上线时先跑一遍“黄金流程”再给终端用户做培训。我做过几个WM项目,每一次都发现,用户问得最多的不是事务码是什么,而是“为什么这个TO出不来”“为什么这个仓位提示锁定”。如果顾问自己没把移动类型映射、策略配置、仓位主数据检查完整,培训时就会被问住。
最后说一句实在的:WM事务码大全网上确实能搜到几百个,但真正每天都用的不超过三十个。把上面这些高频组合吃透,再根据自己项目的仓库特点去扩充,比收藏任何一份完整TCODE清单都管用。