简介SAP WM 模块配置详解文档面向 SAP 实施顾问、MM/WM 模块运维人员及仓储项目成员系统讲解如何通过配置主数据和上架/拣配策略实现与 MM 模块集成的自动化仓储管理。资源包为单个 DOC 文档大小仅 572KB全文共 26 页便于离线查阅目前已有 789 人学习/下载。文档以 MASTER DATA 与 STRATEGIES 为主线主数据部分涵盖仓库编号控制参数、编号范围分配、存储类型/存储段/存储箱结构定义、存储箱类型、存储单位类型、存储类型指示器及区块存储指示器等策略部分则覆盖存储类型/存储段/存储箱类型搜索启用以及固定存储位、开放存储、追加库存、空存储箱、托盘、FIFO/LIFO、保质期、大批量/小批量等上架与拣配策略并说明了如何让系统自动寻找合适的存储位置。此外还涉及收货/拣配策略扩展开发、活动与移动类型定义、库存转储和补货控制、自动 TO 创建与确认等实施要点。结合目录预览文档还包含 HAZARDOUS MATERIALS、ACTIVITIES 等章节结构清晰、步骤完整可帮助实施者按图索骥完成配置、测试与验证也适合作为 SAP 仓储项目实施与培训的参考模板。1. 拿到 SAP WM 配置文档先别翻页先看它是给你“抄作业”还是“望方向”的做过 WM 实施的人大概都有这种体验蓝图评审会上讲得头头是道一旦坐回电脑前打开 SPRO面对仓库号、存储类型、存储段、搜索策略这一串配置节点反而不知道从哪里下手。这份名为《WM Configuration Documentation》的资源本质上不是给你讲概念的教材而是一份把“某公司实际项目的 WM 配置过程”拆给你看的实操记录。它对应的是 SAP 系统中从主数据到策略再到活动类型的完整配置链适合正在做 ECC 或 S/4HANA WM 实施的顾问、甲方内部顾问以及刚入行想搞明白“配置到底长什么样”的从业者。你能从里面抄到仓库号参数怎么设、库位结构模板怎么编、存储类型搜索怎么找还能看到一套文档编号规范是怎么支撑整个配置交付的。2. 主数据配置仓库号、存储类型与库位结构的先后顺序主数据这一章占了这份配置文档将近一半的篇幅不是没有道理的。WM 的后续所有策略、活动类型、报表都建立在主数据之上。这里的主数据不是指物料主数据而是仓库本身的“骨架”——仓库号、存储类型、存储段、库位。这一节里配置顺序一旦搞反后面返工的成本会非常高。2.1 仓库号控制参数SPRO 里的源头开关文档第一个配置节点是“Define control parameters for warehouse number”事务码为 SPRO。这不是让你在 IMG 里随便点几下它定义的参数会直接决定仓库号的行为边界。文档给出的示例参数如下参数项示例值说明Warehouse numberD01仓库号示例中使用了 D 开头的命名Region CodesD01区域代码区域代码用于仓库号内部的区域区分Unit of weightKG重量单位1st default UoML第一默认单位升2nd default UoMA第二默认单位Dec. warehouse active勾选启用小数仓库SU management active勾选启用存储单位管理Blocking methodB阻塞方法Partial Picking勾选部分拣货开关Capacity Check勾选容量检查开关这里最容易被低估的是“SU management active”和“Dec. warehouse active”。SU 管理一旦激活系统对所有库存都要求有 Storage Unit 的概念后续每个移动类型在处理时都会去校验 SU。如果业务上大量存在零散件拣配、拆托作业这个开关会让操作复杂度明显上升。文档里把它勾上是因为这家公司的仓库以整托存储为主业务形态撑得起 SU 管理。还有一个细节值得注意控制参数里出现了“Batch Missing (TR)”这个提示项。这是系统在创建 TRTransfer Requirement时对批次缺失的处理方式。文档没有展开但实际操作中我一般会把它设置为警告级别避免因为批次信息不全直接中断流程。2.2 存储类型用一套编号撑起仓库的逻辑布局存储类型是 WM 里最核心的概念之一。文档在“Define storage type”一节列出了一些示例包括存储类型名称SU 管理上架策略下架策略902GR Area From Vendor否固定固定911GI Area for Cost Center否固定固定914GI Area Production否固定固定916Shipping Area Deliveries否固定固定921Stock Transfers (StLoc)否固定固定922Posting Change Area否固定固定998Init. entry of stock bal.否固定固定999Differences否固定固定ZM1MKC Storage Area是固定FIFOZM2MKC Issue Precedence Area是固定FIFO注意看这里的一个关键设计把发货区、收货区、成本中心发货区这些“非库存区域”也建模成了存储类型。这是 WM 实施里的常见做法——让 WM 的平台能够统一管理收发暂存区和实际库存区而不是只能管货架。另外Storage type 992、995、996、997 这些编号段一般用于特殊用途差异、质检冻结文档里没有列出来是因为这些存储类型通常由系统在创建仓库号时自动生成。手动新建存储类型时编号段要避开这些系统保留段。2.3 存储段与库位类型分区和容器的边界存储段是在存储类型下面的进一步细分。文档列出了两个存储类型下的存储段仓库号存储类型存储段区域名称D01ZM1001Normal Bin AreaD01ZM1002Interim Bin AreaD01ZM1003Warehouse Working AreaD01ZM2001Total Area从命名就能看出用途001 是正常库位区、002 是临时库位区、003 是仓库作业区。存储段在搜索策略里用来缩小范围比如上架策略可以限定只在某个存储段内找库位。如果你的仓库有大件区、小件区、爆款区这种业务分区需求把分区建模成存储段会比直接建库位更高效。库位类型在这一步也要定义。文档里的库位类型相当精简普通库位类型、临时库位类型、重新打包库位类型。库位类型的作用是限制哪些库位可以用于什么作业。比如重新打包区只能用来做拼托拆托正常上架策略不会把库存放进去。2.4 库位结构模板、编号段与自动生成库位结构是主数据里最耗时的部分它决定了库位号长什么样、怎么排序、能不能批量生成。文档在“Define storage bin structure”里给出了一个很值得抄的模板表存储类型序号结构模板起始值结束值增量ZM10001AANNNNCCCCAB0101AB030201ZM10002AANNNNCCCCBD0101BD030201ZM10003AANNNNCCCCCA0101CC030201ZM20001CNNCCCCCCCAAF01AAF9901这里 AANNNNCCCC 的意思是两位字母通道、四位数字货架列、四位字母货位层次。这种模板比直接用纯数字库位号要直观得多仓库操作员看到库位号就能大致判断位置在哪个通道。比如 AB0101 到 AB0302 这一段含义是通道 AB 01 列 01 位到通道 AB 03 列 02 位。增量 01 表示每次生成库位号时最后两位按 01 递增。表格里的顺序要重点说明一下。库位号的定义顺序会直接影响搜索排序。WM 的系统在搜索库位时会按字符串排序或者按定义的字段顺序排序。如果通道号放在前面系统会优先把同一通道的库位串在一起。如果你的拣货路径是按通道走的这种排序就是最优的但如果你是按货架列走的就要把列号放在更靠前的位置。所以库位模板不是随便定的它和你的拣货路径、上架路径是绑定的。提示库位结构模板一旦定下来并完成批量生成后面想改格式非常麻烦。建议在正式批量生成之前先在小范围测试几组数据跑一遍上架下架流程再全量生成。3. 策略配置从存储类型搜索到上架与下架的完整链路策略配置是 WM 里最像“玄学”的部分。原因很简单策略做的是“系统自动决策”决策链条一旦有一环断掉结果就是库存放错位置、拣货跑到错误库位而且很难在第一时间察觉。要理解这部分配置得先搭起完整的搜索策略骨架。3.1 搜索策略的层次先类型后区域再库位文档中的 2.1 到 2.3 描述了三个搜索策略节点存储类型搜索、存储段搜索、存储库位类型搜索。这三者的关系是层层嵌套的。系统在决定库存放哪里时先确定存储类型比如入到 ZM1 还是 902再确定存储段比如 001 还是 002最后在存储段内的具体库位里筛选。每一层搜索都对应一个事务码和一张配置表。存储类型搜索的事务码是 OMLY。文档给出的示例是这样的仓库号搜索策略标识存储类型...D01002200可用D01002201可用D01A00ZM2可用D01A00ZM1可用这里最重要的是“搜索策略标识”。系统会为不同的移动类型分配不同的搜索标识比如收货入库用 002发货出库用 A00。文档里列出了一个完整的移动类型引用表移动类型描述搜索策略标识101Goods receipt for pur.order002201GI to cost center999261GI to production order999301Stock transfer plant to storage002311Stock transfer storage location002601GI to delivery note002从这里可以看出一个关键逻辑每个移动类型必须被显式地赋予一个搜索策略标识。如果没有这个映射系统会“找不到策略”而直接用默认路径——但默认路径往往不是你想要的那条。文档中 2.2 节“Activate storage section search”的事务码是 OMLZ配置的核心是“哪一类上架/下架策略需要按存储段搜索”。策略类标识对应存储类型中的 Stock placement strategy / Stock removal strategy 字段。也就是说存储段搜索不是单独生效的它要和存储类型里挂的策略组合在一起。3.2 上架策略固定库位、开放存储与追加的逻辑边界上架策略部分文档区分了固定库位策略、开放存储策略、追加到已有库存策略、空库位策略、托盘策略、散装存储策略。这几类策略在配置上不完全平级它们分别挂在不同层级固定库位策略在存储类型配置里直接指定某种物料只能放到指定库位。开放存储策略系统在指定区域内自动找空库位适合大批量、无固定属性要求的物料。追加到已有库存策略系统优先寻找已有同物料库存的库位适合减少空库位占用。托盘策略用于整托存储场景文档里的 Storage type control、Bin Sections、Assign Bin to Storage Unit Types 都是托盘策略的配置要素。散装策略允许物料不按托盘整单位存放而是在库位层面自由放置。文档里对固定库位策略的描述是一句“See 1.3 or refer directly to customising”这是典型的文档写法——把策略参数挂在存储类型维护视图里而不是单独维护。实际配置时你需要在存储类型里维护“Stock placement strategy”字段比如填 3 表示固定库位、填 2 表示开放存储。真正复杂的通常是托盘策略。 “Define strategy for pallets” 里要求先定义存储类型控制、再定义 Bin Sections、再分配库位到存储单位类型这个顺序就是业务里面先定区域、再定库位、再把托盘类型绑定到库位的过程。举例来说你可以定义一个 Bin Section 是“托盘区”再把所有通道 A 到 D 的库位分配给它然后把 EURO 托盘和标准托盘都绑定到这个区域。3.3 下架策略FIFO、LIFO 与保质期的取舍下架策略是出库环节的核心。文档列出的 FIFO、严格 FIFO、LIFO、部分托盘量、大批量小批量、到期日策略表面上看起来都是“取哪个库存”的选择规则实际上它们控制的行为完全不同。FIFO 策略按收货日期顺序取库存严格 FIFO 要求批次完全按到期日排序。二者在实际系统里的差别很微妙FIFO 策略在库存单位没有批次信息时依然可用而严格 FIFO 要求物料必须有批次管理。如果你的物料有保质期要求比如食品、医药、化工原料这个区别就是致命的。到期日策略是另一个容易被忽略的配置点。它和 FIFO 容易混淆但到期日策略在系统里的判断逻辑是按“最低保质期到期日”取数而不是按收货日期。对于原料仓库这两个日期往往相差几天甚至几周。文档在 2.17 节把到期日策略单独列出来就是因为有些实施项目图省事直接套用了 FIFO 策略导致库里出现过期原料发货的严重事故。部分托盘量策略和大批量小批量策略的配对使用也需要说明一下。部分托盘量策略允许系统把整托库存拆托出库大批量小批量策略则是当库存数量超过设定阈值时系统优先按大批量取数。这两个策略组合使用能够显著减少出库环节的拆托次数但前提是仓库作业允许拆托。3.4 策略扩展标准策略不够用时的开发边界文档的 2.11 和 2.18 分别列出了 “Develop extensions for Putaway strategies” 和 “Develop extensions for Picking strategies”。这是配置文档里非常实在的一个提醒——标准策略不一定覆盖所有业务场景。我需要强调一个常见误区写了一个增强BADI 或 CMOD 增强但没有在存储类型里激活策略。增强写完只是代码层面存在系统默认不会去调用。需要在存储类型维护视图里的策略字段填写对应的策略标识或是在存储类型搜索配置里把该增强挂上去它才会真正参与搜索。文档里给的建议是先确认“programming request”即先提交开发需求评估标准策略是否真的无法满足。很多情况下标准策略通过组合可以实现业务目标并不需要开发。比如散装存储策略加上存储段搜索可以实现“只能在指定区域内散放”的效果完全可以替代一个新增增强。4. 配置文档的“元信息”编号规范、传输请求与配置归属大多数人拿到配置文档会直接去看配置内容忽略了文档本身一些格式信息。但这些元信息恰恰对实施项目的可交付性影响最大。4.1 Naming Convention、System Solution 与 Transport Number 三件套文档每个配置节点都带三列信息Naming Convention、System Solution、Transport Number。这三列是配置文档的“坐标定位”Naming Convention 用于说明本次配置使用的命名规范。比如仓库号 D01 中的 D 代表一个特定的业务线或地点存储类型 ZM1 中的 ZM 是客户自定义的物料存储区缩写。只有统一命名规范后续顾问在处理传输请求时才能通过名字快速判断配置属于哪个模块。System Solution 标记配置适用的系统环境比如 T11/210 这样的环境编号。多环境并行时这个字段可以避免把测试环境的配置文档误用到生产环境。Transport Number 是最关键的一项。每条配置链都对应一个传输请求号例如文档开头 Copy template 0001 to D001 的操作就是通过一个传输请求完成的。没有传输号配置就没有交付记录。4.2 从模板复制到 PRD 传输配置文档的版本追踪文档第 1 行写了一段很关键的话“Use EC09 copy template 0001 to D001 at first”意思是先复制模板配置再调整。这是 SAP WM 实施的常见起点——用模板仓库号复制一个新仓库号然后再按业务去微调。但这样做有一个隐患模板里会带一套完整的默认配置包括系统预设的存储类型、编号范围和移动类型。如果没有意识到这些默认配置的存在它就混杂在你的新仓库号里后面排查问题时会多出很多干扰因素。文档中的 “Transport to PRD” 节点也很值得注意。它表示配置完成并通过测试后需要用传输请求从开发/测试环境传输到生产环境。在 SAP 实施中这个环节需要记录目标传输号否则散落在各个环境里的配置就是一盘散沙。Version 和 Change 字段是另一个追踪点。文档的版本号标注了 Changed Date 和 Print Date我记得文档里有 Create Date 2004-06-22 和 Print Date 22/03/2022 这两个日期说明这份文档在一个相当长的时间段里被反复维护过。我一般会强调配置文档的版本控制比代码版本控制更容易被忽略。一份配置文档如果不标注版本顾问拿到手根本不知道这份配置对应的是哪个环境、哪一批传输。4.3 配置负责人与测试报告交付的完整闭环文档页面顶部的 Approved / Completed 部分明确标注了 Concept Owner、Global Config Owner、Config Owner以及 Correction Number and Test Report。这三类角色对应了 WM 配置交付过程中的三层职责Concept Owner 确认业务蓝图与配置方向一致Global Config Owner 确认配置符合全球模板Config Owner 负责具体配置落地和测试结果记录。有一项经常被遗漏的是 Correction Number——配置过程中发现的问题或差异项需要记录编号。很多项目在配置阶段觉得“这个差异不影响”结果到了上线后才发现某些库位策略跑偏再回头去查配置文档根本找不到对应的记录。有 Correction Number 的配置文档才能追溯每次变更的原因和解决过程。5. 避坑指南SAP WM 配置中常见的翻车现场配置文档是静态的配置过程是动态的。以下这些问题在 WM 实施中尤为常见我按“现象 → 原因 → 解决”这条线拆开讲。5.1 上架时库存总跑到 999 差异区现象收货完成后系统生成的 TOTransfer Order建议将库存放入 999 存储类型Differences而不是业务指定的正式存储区域。原因这种问题绝大多数出在“存储类型搜索策略的映射”上。WM 中每个移动类型都要指定搜索策略标识如 002 或 A00。如果该标识对应配置里 999 存储类型的搜索顺序排在第一位系统会优先放入 999。还有一个可能原因是存储类型 999 的搜索策略没有挂上正式的存储类型系统找不到匹配项就回退到默认处理。解决重新检查 OMLY 事务码下的移动类型引用表确认每种移动类型对应的搜索策略标识是否符合业务预期。然后把 999、998、922 这类特殊存储类型放在搜索顺序的最后。这就是为什么文档里单独列了一张移动类型引用表——它是排查这个问题的核心依据。5.2 库位结构模板看着正常但库位批量生成失败现象在 LS10 里维护了库位结构批量生成时报错或生成的库位号与模板结构不一致。原因库位结构模板里的字段长度或起始/结束编号有误。比如 AANNNNCCCC 模板中如果 NN 字段的宽度是 2但终止值的位数是 3系统会报错或截断。还有一种可能是起始值到结束值的长度与增量不匹配导致生成了部分库位后就停止了。解决看到报错时不要直接去改模板先算一遍起始编号到结束编号的距离确认它能否被增量整除。另外我一般建议先用 LS10 生成几个库位验证格式再批量执行生成。文档里的库位结构表每一行都列出了 Start、End、Increment就是在提醒你这是一组算术关系。5.3 SU 管理激活后作业效率骤降现象上线前激活 SU 管理测试阶段发现所有上架和拣货都需要 SU 校验部分单据流程卡在 SU 创建上作业效率比预期低了 30%。原因SU 管理的适用场景是整托存储、整托移动。如果你的业务存在大量零散拣选或拆托作业SU 管理会造成很多不必要的系统校验。解决把 SU 管理开关从仓库号级别挪到存储类型级别。文档里的示例存储类型 ZM1 和 ZM2 启用了 SU 管理而 902、911、916 这些收发区域没有启用。这种设计让它既能管理主要库存区又不阻塞收发暂存区的作业流程。如果你的仓库号已经全局激活 SU 管理那就只能在存储类型层面对非 SU 区域做排除。5.4 配置文档和 QAS 环境不一致测试出来的结果到 PRD 不成立现象顾问在 QAS 环境测试通过后PRD 上线时发现某些库位搜索逻辑不对。原因配置文档没有及时更新。很多项目在传输配置到 QAS 时记录了传输号但配置文档停留在开发环境的状态没有同步标准。解决我建议在每次传输前后都用事务码 SPRO 导出当前配置与文档进行比对尤其重点检查搜索策略映射、移动类型引用和库位结构表。文档里的每个配置节点都有 Transport Number 一栏传输到 PRD 后应立即更新该字段。企业中的配置文档有效性永远以 PRD 为准而不是以哪次测试结果为准。5.5 固定库位策略不生效现象给某种物料指定了固定库位但上架时系统仍然建议放到其他库位。原因固定库位策略需要在存储类型配置里维护 Stock placement strategy值为 3并且需要在物料主数据的 WM 视图里维护固定库位。同时存储类型搜索的中途路径里如果配置了其他策略优先级更高比如先按存储段搜索就会绕过固定库位策略。解决打开存储类型配置确认策略字段填的是固定库位策略然后看物料主数据 WM 视图是否维护了 Storage bin 字段。最后再检查搜索策略里是否把固定库位策略放在优先位置。WM 策略配置是有优先级的不是激活了就能生效。6. 用一份配置文档给 WM 上线做体检三层验证习惯拿到这份配置文档之后除了照着配我更推荐把它当作一把“尺子”用来给系统做上线前的体检。我自己在项目里沉淀了一套三层验证的方法每一层都能发现不同的问题。第一层是静态核对。用事务码 SPRO 打开配置对照文档逐项核对参数是否一致。重点看搜索策略映射、编号范围区间、库位结构模板。这一层能发现“配置漏传”“环境不一致”的问题。我会在项目里专门整理一张差异表每发现一处差异就记录到文档的修正记录里。第二层是操作验证。用一个测试物料走一遍完整的收货上架、库存转移、拣配出库流程。在每一段流程末尾查看生成的 TO 建议确认建议库位符合业务预期。这一层能发现策略逻辑配置错误或搜索顺序异常。操作验证时报错信息不要太快忽略把错误截图保存下来后期排查问题时能省很多时间。第三层是数据验证。直接查库位主数据表和策略表确认生成的库位范围、库位状态、存储单位类型绑定关系准确无误。可以执行一段 SQL 查询来核对库位结构SELECT LGNUM, LGTYP, LGPLA, LPTYP, BBERH FROM LAGP WHERE LGNUM D01 AND LGTYP IN (ZM1, ZM2) ORDER BY LGTYP, LGPLA;这段查询的作用是列出 D01 仓库号下所有 ZM1、ZM2 存储类型的库位、库位类型和仓储区域。执行结果里如果出现库位号位数不一致或库位类型为空的情况说明库位结构模板或库位类型定义存在问题。顺便可以用这段查询对比 QAS 与 PRD 的库位数量与库位类型分布确认数据传输的完整性。处理完这三层验证之后我一般会再检查一遍文档版本号确认本次变更已经记录到 Configuration Document 中。有一次上线前做静态核对时发现测试环境多了两个手动创建的临时库位它们在文档里完全不存在。后来一查是顾问为了方便测试手动补的但因为没有记录差点被当成 PRD 的标准配置一起带走。从那以后我每次配置变更都强制走一遍文档版本更新流程哪怕是临时测试模型也必须标注清楚。这种“文档驱动验证”的习惯看起来多花了一点时间但它真正帮你省掉的是上线后返工的代价。WM 配置的复杂度在于系统的自动决策逻辑——你看不见它但它决定了每一托货去哪里。配置文档就是那个让你看得见它的工具。希望帮到你。本文还有配套的精品资源点击获取