简介SAP WM配置資料詳解是一份面向SAP顾问与仓储管理实施人员的WM模块配置文档重点解决仓库主数据搭建、存储类型/存储段定义以及上架与拣货策略設定等核心问题。内容从Define control parameters for warehouse number、Define storage type、Define storage bin structure等主数据配置入手逐步覆盖固定货位、开放存储、FIFO/LIFO及托盘策略并包含活动与移动类型配置适合作为LE-WM模块项目实施与内部培训的参考资料。资源包内为1个doc文档大小572KB适合快速查阅各配置事务码与参数说明。已有789人学习下载文档来自早期WM项目实施的真实配置模板目录结构清晰除基础配置外还列出HAZARDOUS MATERIALS、ACTIVITIES等章节方便按模块逐步对照落地对理解SAP WM与MM集成下的仓储自动化有一定参考价值。1. SAP WM 配置資料詳解26 页文档如何决定仓库能不能自己跑起来第一次拿到这份 26 页的 SAP WM 配置文档时我差点把它当成一份普通操作手册扫一眼就丢进收藏夹。真正照着做了一遍才发现仓库能不能自动化跑起来、盘点差异会不会半夜报警、拣货路径是不是绕了远路全取决于这几页配置怎么填。文档从仓库号 D01 的控制参数开始一路覆盖主数据、上架与拣配策略、移动类型和自动 TO 创建是那种能直接对着事务代码一步步落地的实施配置基线。适合正在做 WM 上线、或者接手现有仓库配置的 MM/WM 顾问、仓库 IT 和物流系统实施人员。读完你会明白这套配置为什么这样设计也知道上线前哪些点最容易翻车。2. 配置文档解剖从仓库号 D01 到库位模板的三层数据骨架2.1 资源全貌是一份 26 页的 WM 实施配置基线不是代码这份资源的实体是 WMS 项目的 Realization DocumentVersion V1.0模块 LE - WM配置层级 Local。文档右上角标着 Create Date 2004-06-22、Change 记录和 Print Date 22/03/2022开头还有 Concept Owner、Global Config Owner、Config Owner 的 Approved / Completed 栏位以及 Transport Number 字段。这些元素说明它不是随手写的笔记而是一份受变更控制流程约束的配置基线配置改完要出 Correction Number 和 Test Report最后 transport 到 PRD 生产机。放在实施项目里这份文档的地位等同于配置需求规格书 操作手册二合一。全文档分四大部分第 1 章 MASTER DATA 主数据从 1.1 到 1.12 共十二节第 2 章 STRATEGIES 策略从 2.1 到 2.18 共十八节第 3 章 HAZARDOUS MATERIALS 危险品标注为 NA不适用第 4 章 ACTIVITIES 活动从 4.1 到 4.6。正文第一句话是让实施人员用复制模板的方式把标准模板 0001 复制成业务仓库号 D001文档里简写 D01再逐节按业务调整。1.x 章十二节里1.6、1.8、1.11、1.12 都明确标着 No changes这本身就是一种配置决策记录——告诉后来者这些点看过且不需要动。对实施来说这种显式的不改比满篇都是改动项更让人安心说明前人对标准模板做过收敛。我一般拿到这样的文档第一件事不是读内容而是看 Transport Number 和 Approval 状态是否闭环确认这套配置是不是最终已上线的版本再决定能不能照着抄。2.2 三层数据模型仓库号、存储类型、存储段、库位怎么串WM 的本质是用结构化的库位模型管理库存。文档的主数据章节正好对应这套模型的四个层级仓库号Warehouse Number→ 存储类型Storage Type→ 存储段Storage Section→ 库位Storage Bin。层级对象本配置示例作用L1仓库号 D01D01WM 的最高组织单位所有策略和移动类型都挂在它下面L2存储类型902/911/914/916/921/922/998/999、ZM1、ZM2按物理或业务特征划分的大区如收货区、发货区、差异区L3存储段ZM1 的 001/002/003ZM2 的 001存储类型内的细分区域如正常库位区、临时库位区、库内作业区L4库位ZM1 001 下 AA0101AB0302 等最小物理存储单元由库位结构模板批量生成文档 1.3 里存储类型分成两组。一组是三位数字的 9xx 系统预设类型902 供应商收货区GR Area From Vendor、911 成本中心发货区GI Area for Cost Center、914 生产发货区、916 交货装运区、921 存储地点转移区、922 过账更改区、998 期初库存导入、999 差异。另一组是自定义的 ZM1 MKC Storage Area 和 ZM2 MKC Issue Precedence Area这两行都标了 ACTIVE 和 PFPF 就是后面策略章节会用到的上架/拣配策略指示器。998 和 999 要特别注意998 是期初库存导入用的临时存储类型999 是盘点差异调整用的正常业务物料不应该长期放在这两个类型下。存储段配置在 1.4 节D01 下 ZM1 拆成 001 Normal Bin Area 正常库位区、002 Interim Bin Area 临时库位区、003 Warehouse Working Area 库内作业区ZM2 只拆一个 001 Total Area 整块大区。这样设计的好处是搜索策略可以把不同业务动作定向到不同区域——比如收货暂存先放 002上架后进 001拣配作业在 003 完成。仓库号 D01 里的 D 是区域编码的典型写法ZM1/ZM2 这种前缀则是业务区命名文档里 Region codes 留空说明这套配置没有启用额外的区域维度。2.3 与 MM 的边界为什么文档里只有 WM 侧配置SAP 里 WM 不单独存在它和 MM物料管理的集成是仓库自动化的前提。一次完整收货的链路是MM 做收货移动类型 101产生物料凭证同时给 WM 发一张 Transfer RequirementTRWM 根据 TR 去执行存储类型/存储段/库位搜索找到目标库位后生成 Transfer OrderTO仓库按 TO 上架上架完成后确认 TO库存才正式落到 WM 的库位里。这份文档聚焦的是 LE-WM 本地配置所以你看不到 IM 侧的收货配置、物料主数据设置但第 2.1 节那张移动类型表就是 WM 与 MM 的接口契约——每个移动类型对应一个仓库动作配置不到位接口就断。环境信息也印证了这一点文档标注 Enviroment T11/210这是测试环境配置最终要 Transport to PRD。这里有个新入行容易混淆的点WM 侧的移动类型配置在搜索表和活动配置里维护MM 侧的移动类型在 IM 维护两边靠移动类型号关联但不是同一套配置。有人把 WM 的移动类型配置当成 MM 的去查在 OMB/OMJJ 里找不到条目其实查错了地方。作为开发或顾问我习惯先分清这份文档是现状基线还是目标设计如果是目标设计改配置前要先把当前生产环境的 OMLY、SPRO 存储类型对比一遍避免把线上已经调好的策略覆盖掉。这个习惯省了我不少返工。3. 主数据配置拆解仓库号、编号范围与存储类型逐项过一遍3.1 仓库号 D01 控制参数第一行配置决定全局行为文档 1.1 节Define control parameters for warehouse number用的是 SPRO 路径 Materials Management → Warehouse Management → Master Data。这一屏是 WM 的全局开关很多参数影响的是容量计算和库存管理的默认行为。参数D01 的取值含义与影响Warehouse numberD01仓库号标识所有后续配置都挂在这个号下Region codes按需维护区域编码用于统计分析Unit of weightKG默认重量单位容量计算和报表都按它走1st default UoML第一默认体积单位升2nd default UoMA第二默认体积单位常用于辅助体积计算SU management activeYes启用存储单位托盘管理决定是否按 SU 管控库存Blocking methodB冻结方式B 表示按批次冻结Partial pickingCapacity check部分拣配时的容量检查开关Batch missing (TR)按需TR 生成时批次缺失的处理方式这里最容易踩的坑是默认单位。常见做法是上线前把这里的重量/体积单位和 MM 物料主数据里的单位对齐否则 WM 的库位容量占用率全部算偏——系统以为托盘塞得下实际物理上放不下。SU management active 勾上之后库存就会按存储单位托盘管理后续 2.9 托盘策略、2.3.4 库位与存储单位类型的分配全依赖这个开关文档里勾了 Yes后面策略章节才会成立。3.2 编号范围一组 01300000001399999999 的分配逻辑1.2 节 Define number ranges事务代码 OMLW。文档把编号范围拆成 Assignment 和 Intervals 两个子步骤。Assignment 是这样的WhQuantWM 数量记录 Quant用 01 号段NR-TRTransfer Requirement用 01NR-TOTransfer Order用 01Posting Change RefNo过账更改编号也用 01。Intervals 里四个对象全部落在同一个区间 01300000001399999999External 列空白表示系统内部自动给号。四个对象共用一个大号段好处是号码全局唯一从编号上分不出单据类型的代价换来了实现简单坏处是量一大就共享同一个池子。项目上线后 TR/TO 的单量通常远大于 Quant 和过账更改如果不在文档里拆号段等到号段烧完就只能改 interval 或做号码归档属于上线后才能发现的隐患。我一般会建议把 TR/TO 拆出去单独起一个号段Quant 和 Posting Change 共用另一个这样从号码前缀就能判断单据性质也方便日常排错。当然这是实施建议按文档原样配也能跑只是长期运维要留个心眼。还有一点13 亿的号段看着很大但测试环境如果反复刷新数据或者接口每笔收货都生成 TR号码消耗比想象快得多。文档 1.2.1 的 Assignment 表只写了 01 一个标识说明这是单号段方案复制模板时要注意别在测试环境就把号段打穿。3.3 存储类型、存储段与库位结构模板存储类型和存储段的配置在前面 2.2 已经给出了表这里重点说 1.7 的库位结构模板事务代码 LS10。库位不是一条条手工建的而是用模板批量生成。文档里 ZM1 的三个存储段用的是同一套模板 AANNNNCCCC结构 ABCCDD存储类型/存储段模板结构StartEndIncrementZM1 001 Normal Bin AreaAANNNNCCCCABCCDDAA0101AB030201ZM1 002 Interim Bin AreaAANNNNCCCCABCCDDBA0101BD030201ZM1 003 Warehouse Working AreaAANNNNCCCCABCCDDCA0101CC030201ZM2 001 Total AreaCNNCCCCCCCAAF01F990101模板里的 A 和 N 表示这几位可以变化C 表示字母列。ABCCDD 结构把库位号拆成段位前两位是区位字母中间两位是货架列后两位是分段序号。AA0101 到 AB0302 按步长 01 批量展开一个模板就能生成几百上千个库位。ZM2 的模板 CNNCCCCCCC 完全不同它没有巷道维度从 AAF01 到 F99 直接按序号展开因为 ZM2 是整块大区不需要那么细的寻址。选模板前先想清楚库位寻址的粒度需要精确到巷道货架的用 AANNNNCCCC只需要大区加序号的用 CNNCCCCCCC文档给的两套模板刚好覆盖了这两种场景。1.5 节还定义了库位类型D01 Normal Bin Type 常规库位、E1 Interim Bin 临时库位、B1 Repacking Bin Area 换包装区、P1文档没给描述按命名习惯通常是托盘库位。1.9 节定义了存储单位类型 D01 下的 S1 Normal SU。这两套东西在 2.3.3 和 2.3.4 里配对S1 分配到 D01/E1/B1/P1 四种库位类型ZM1、ZM2 两个存储类型都只允许 S1。也就是说这个仓库的载具只有一种标准托盘简化了后续托盘策略的复杂度。3.4 存储类型指示器与No changes条目文档 1.8 Define storage type indicators、1.11 Define special movement indicators、1.12 Define block storage indicators 三节都标了 No changes1.6 Define blocking reasons 也标了 No changes。很多照着文档做的人看到 No changes 就直接跳过实际上这四个不改比改更值得核对它们代表复制模板 0001 过来之后标准预设已经满足业务不需要调整。但你要确认自己复制的模板确实带了这些预设而不是因为漏配才显示为空。我上次接手一个项目存储类型指示器全空系统把所有物料都当成普通流程处理临期品和危险品完全没隔离排查半天才发现是复制模板时选错了源。建议复制模板后进入这四节逐个看一眼哪怕不改也要在测试报告里留一行确认记录。4. 策略配置拆解从存储类型搜索到 14 种上架/拣配策略的取舍4.1 三层搜索的激活顺序OMLY → OMLZ → OMM1 → OMLM策略章节是这份文档的精华。收货时系统要回答一个问题这批货放哪里拣配时反过来这批货从哪里拿答案不是写死的而是通过搜索策略逐层缩小范围。文档 2.1 到 2.3 正好对应三层搜索2.1 Activate storage type search事务代码 OMLY按移动类型决定候选存储类型。比如 101 收货的货先放 902 收货区还是直接进 ZM1这张表说的是存储类型这一层。2.2 Activate storage section search事务代码 OMLZ进入存储类型后再按存储段缩小范围。D01 ZM1 下配了搜索类 002把目标定向到 001 Normal Bin Area 或 002 Interim Bin Area。2.3 Activate storage bin type search事务代码 OMM1确定库位类型。是普通库位 D01还是临时库位 E1还是换包装区 B1。2.4 Define Sort Sequence for PutawayCross-line Stock Putaway事务代码 OMLM把上一步筛出来的多个候选库位排序比如先低层后高层、先近巷道后远巷道。四层搜索是串行执行的任何一层没配后面的 TO 生成就会失败或落到错误位置。文档 2.1 里那张大表就是移动类型清单我把关键行抽出来看移动类型描述在 WM 中的作用101Goods receipt for purchase order采购收货触发上架103GR production order生产订单收货201/255/261GI to cost center / general / production各类发货出库301/302、311/312Stock transfer plant / storage location库存转移319Replenishment for production生产补货典型自动补货场景451/651Returns from customers / via delivery退货入库501/521GR without PO / from production无单收货、生产完工收货551/561Scrapping / init entry of stock报废、期初库存601/602GI to delivery note交货单发货711/712Differences negative/positive盘点差异911/912To/from rework storage location返工库位转移961/963GI to packaging / order replacement包装、替换发货998/999Warehouse supervision库内监管、差异兜底注意每个正向移动类型几乎都跟着一个 999 或同号反向类型——102 取消 101、202 取消 201、502 取消 501、552 取消 551、562 取消 561、602 取消 601。反向类型的搜索配置常常被漏掉结果就是收货取消后库存不知道回哪里最后挂到 999 差异区。这是后面避坑章节的重点。4.2 上架策略选型固定库位、开放存储、追加库存、空库位与托盘策略文档 2.5 到 2.10 是上架策略Stock Placement Strategy的选型区。它们不是互相排斥的全局开关而是每个存储类型上单独指定的策略实际取哪个由 4.1 的搜索顺序决定。对照文档逐条看2.5 Define strategy for fixed bins 固定库位物料绑定固定库位收货永远进同一个位置。适合 A 类高频物料节省寻找时间代价是库位利用率低。文档在这节写了See 1.3意思是策略指示器在存储类型配置里维护。2.6 Open storage 开放存储不绑库位系统按空闲情况自动找位置最常用的散货策略。2.7 Addition to existing stock 追加库存优先放到已有同物料同批次库存的库位减少一个物料散在十个库位的碎片化问题。2.8 Empty storage bin 空库位优先找完全空的库位适合整托盘进整托盘出的作业。2.9 Pallets 托盘策略依赖存储类型控制、库位分段、库位与 SUT 分配三件套。文档 2.9.1 Define Storage type control 指 1.3 的存储类型配置2.9.2 Define Bin Sections 定义库位分段2.9.3 Assign Bin to Storage Unit Types 把库位分给 S1。托盘策略下系统先找允许放 S1 托盘的库位再按库位分段找合适位置。2.10 Block storage 散货大区策略文档指向 1.3 和直接配置散货场景用通常配合大区模板 ZM2。这些策略可以组合。常见做法是收货暂存区 902 用开放存储正式库区 ZM1 用追加库存 空库位两段式搜索——先看有没有同批次库存可以追加没有再找空库位。排序由 2.4 的 OMLM 控制。配置时先想清楚业务是整托为主还是拆零为主再决定策略优先级这个顺序直接决定仓库的库位利用率和上架效率。4.3 拣配策略FIFO、严格 FIFO、LIFO、有效期与部分托盘量上架策略决定货怎么进拣配策略Stock Removal Strategy决定货怎么出。文档 2.12 到 2.17 是一组出库策略2.12 FIFO按入库时间先进先出快消、批次敏感的行业默认选项。2.13 Stringent FIFO 严格 FIFO在 FIFO 基础上再按批次、供应商串行约束适用于医药、食品等强追溯场景。2.14 LIFO后进先出适合无保质期差异、堆叠管理的大宗物料。2.15 Partial pallet quantity 部分托盘量拣配时优先从已拆零的托盘取货避免动整托。2.16 Large/small quantities 大/小数量按数量档位区分拣货来源大批量从整托区、小批量从拆零区。2.17 Expiration date 有效期按到期日优先拣配食品、化工必备。文档 2.11 和 2.18 是 Develop extensions for Putaway / Picking strategies也就是预设策略不够用时写自定义策略的入口。传统做法是在 SPRO 里定义一个策略指示器在存储类型配置里挂上去然后写一个函数模块实现查找逻辑。下面是一个示意骨架对应文档 2.11.1 Develop Strategy 的落地FUNCTION z_wm_putaway_strategy_custom. *------------------------------------------------------------------ * 自定义上架策略先找空库位再按库位号排巷道顺序 * 对应文档 2.11.1 Develop Strategy 的入口 *------------------------------------------------------------------ DATA: lt_bins TYPE STANDARD TABLE OF lgpla, ls_bin TYPE lgpla. * 1. 从仓储区 ZM1 取所有空库位lvsme 为空表示无库存 SELECT lgnum lgtyp lgpla INTO CORRESPONDING FIELDS OF TABLE lt_bins FROM lgpla WHERE lgnum D01 AND lgtyp ZM1 AND lvsme space. * 2. 按库位号排序让搜索结果可预期 SORT lt_bins BY lgpla ASCENDING. * 3. 返回第一个可用库位给 WM 搜索器 READ TABLE lt_bins INTO ls_bin INDEX 1. IF sy-subrc 0. e_lgpla ls_bin-lgpla. ENDIF. ENDFUNCTION.这段代码的逻辑是先在 ZM1 里筛出空库位按库位号排序后返回第一个。真实项目里还要叠加容量检查、存储单位类型匹配、批次约束这里只保留核心链路。注意函数签名要以系统里标准搜索函数导出的参数为准不同版本有差异写完后在存储类型的 Stock placement strategy 字段填上自定义策略指示器再跑一次收货验证。自那以后我每做完一个自定义策略都会用 LT01 手工创建一条 TO 来确认搜索器真的调到了我的函数这个验证动作省下过好几次上线当天的临时补丁。5. 活动与移动类型TR/TO 链路配置和上线避坑手册5.1 需求类别、装运类型与移动类型怎么串第 4 章 ACTIVITIES 是文档的收尾部分它把前面配好的主数据和策略串成可执行的业务流程。4.1 Define requirement categories 定义需求类别比如标准库存、质检库存、冻结库存。需求类别直接影响收货后库存落到哪个存储区——质检库存进隔离库位可用库存才能进正常库区。4.2 Define shipment types 定义装运类型出库时 WM 根据装运类型决定 TO 的生成方式。4.3 Define movement types 定义移动类型也就是 4.1 节那张接口字典把 MM 的每一个库存动作翻译成 WM 的仓库动作。4.4 Define stock transfers and Replenishment control 定义库存转移与补货控制。库存转移用的是 301/302跨工厂、311/312跨存储地点这类移动类型补货控制对应 319 Replenishment for Production 和 919 Line replenishment、920 Production return。补货是 WM 自动化里回报最高的场景——生产线领料消耗完库存后WM 自动触发补货 TO把货从存储区移到产线缓存区全程不需要人工干预。前提是 319 的存储类型搜索和自动 TO 创建开关都打开。5.2 自动创建 TO 与确认自动化开关在哪里4.5 Set up automatic TO creation for TRs/post change notices 是自动驾驶的开关。打开后MM 的收货一过账TR 自动转 TO仓库直接按 RF 扫码执行上架不打开就退回全人工——人工 LT01 建 TO再确认。4.6 Confirmation 定义 TO 确认方式自动确认、手工确认还是 RF 扫码确认。自动确认适合传送带加扫码枪的自动化仓库库存移动几乎实时手工确认适合库位作业复杂、需要人工判断的场景。配置上有个先后顺序先确认 4.14.4 的需求类别、移动类型、搜索策略都配好再开 4.5 的自动创建否则 TO 会自动创建但找不到目标库位整批卡在错误状态。文档把 Confirmation 放在 4.6 最后一个也是暗示它是最后一步验证。5.3 避坑手册上线前最容易翻车的 5 个配置细节以下五条都是我在实际项目里见过或踩过的现象、原因、解决按一条线写清楚。第一条编号范围报号码已用尽。现象测试环境刷数据刷到一半TR 或 TO 创建失败错误提示号码范围满。原因文档 1.2.2 里四个对象共用 01300000001399999999 一个号段集成测试反复创建删除单据号码消耗比预期快得多。解决测试环境单独分配小号段或者定期归档历史 TR/TO生产上线前按日均单据量估算月消耗把 TR/TO 和 Quant 拆成两个号段。第二条收货完成但 WM 没生成 TO库存卡在收货区。现象MM 的 101 收货成功了物料凭证也有但仓库看不到待上架任务。原因OMLY2.1 节里 101 移动类型没有对应的存储类型搜索条目系统不知道货该往哪里进。解决逐移动类型核对搜索表至少保证 101/103/501/521/561 这几个收货类移动类型都有搜索配置我用 SE16N 查 T320 时习惯直接按仓库号过滤把空条目一眼扫出来。第三条配了空库位策略系统还是往老库位塞。现象新收货的托盘被放到已有库存的库位而不是空库位。原因存储类型 ZM1 上 Stock placement strategy 字段没填空库位策略或者搜索表里追加库存策略排在空库位前面先匹配了追加。解决回 SPRO 存储类型配置把上架策略改成 Empty storage bin并调整搜索表里的策略顺序。第四条取消收货后库存回不到原库位。现象102 取消 101 之后库存挂在 999 差异区或者干脆消失。原因反向移动类型没有配存储类型搜索系统找不到原库位。解决按 4.1 节的移动类型清单把 102/202/502/552/562/602 这些反向类型都配到原存储区取消动作才能回写原库位。第五条复制模板后托盘放不进临时库位。现象收货暂存到 E1 临时库位时报错提示存储单位类型不允许。原因2.3.3/2.3.4 的 SUT 与库位类型、存储类型的分配表在复制模板时没带过来S1 托盘无法匹配 E1。解决复制模板后逐行比对 2.3.3/2.3.4 的分配表把 S1 分配到 D01/E1/B1/P1确认 ZM1、ZM2 都允许 S1。文档里标着 No changes 的 1.6/1.8/1.11/1.12 节同理也要进去看一眼确认预设真的在。6. 二次开发把预设策略替换成你自己的上架逻辑6.1 三条改造路线从便宜到贵预设策略能覆盖大部分业务剩下的得自己写。改造无非三条路线第一调搜索顺序在 OMLY/OMLZ 里改策略优先级不写代码风险最低第二写函数模块挂自定义策略对应文档 2.11/2.18 的 Develop extensions第三做 BAdI 增强灵活但和版本绑定紧。我一般先试前两条。6.2 改完怎么验证验证要覆盖正常和反向两条路径。正常路径MM 收货 → TR 生成 → 自动 TO → 上架确认用 LS26 看库存落到哪个库位。反向路径取消这笔收货确认库存回到原库位。改拣配策略就用 LT01 手工建 TO看选出的库位是否符合 FIFO 或有效期顺序。上线前再跑一遍搜索表核对* 核对 D01 下移动类型的存储类型搜索配置 SELECT * INTO TABLE DATA(lt_search) FROM t320 WHERE lgnum D01. IF sy-subrc 0. WRITE: / 未配置存储类型搜索自动 TO 会失败. ENDIF.这段查询把 D01 的存储类型搜索条目全部捞出来逐行和文档 2.1 的移动类型清单比对少的补上。表名和字段在部分版本有差异用 SE16N 打开后按数据元素确认即可。这份文档把 WM 从主数据到策略到活动的配置链路固定了下来照着配一遍就能跑通收货、上架、拣配、发货。从那以后我每次复制模板都强制走一遍搜索表核对、号码段估算、反向移动类型检查这三板斧再没在同样的地方翻过车。如果你也在做 WM 配置这份文档值得下载下来对着第 3、4 章的步骤亲手点一遍。希望帮到你。本文还有配套的精品资源点击获取
阅读完成 · 觉得有帮助?