尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
SAP WM配置:主数据与搜索策略如何定义仓库逻辑
简介SAP WM配置資料詳解是一份面向SAP实施顾问、物流模块关键用户及运维人员的WM后台配置指南定位于解决WM与MM集成场景下仓库主数据、上架策略和拣选策略等核心参数的落地问题。文档以实际配置目录为主线在主数据部分完整覆盖仓库编号控制参数、编号范围与分配、存储类型/存储区/存储箱类型及结构、存储单位类型、各类指示器和区块存储指示器策略部分则包含存储类型/存储区/存储箱类型搜索的启用以及固定仓位、开放存储、追加现有库存、空存储箱分配、托盘策略、FIFO/LIFO等具体规则。除了主数据和策略还进一步展开仓储活动配置如需求类型、装运类型、移动类型、库存转移与补货控制、自动创建TO及确认等并提供章节定位以便对照SAP操作菜单逐步实施。资源包内仅包含1个doc文档大小572KB内容精炼且便于下载已有789人浏览学习适合刚开始接触SAP WM或需要系统性梳理配置项的项目人员。1. SAP WM 配置为什么说主数据和搜索策略才是仓库真正的编程语言SAP WM 的配置文档表面是一沓事务代码和参数表本质上是把仓库的物理规则翻译成系统可执行的语言——主数据定义“有哪些地方”号码范围定义“单据怎么编号”搜索策略定义“货往哪放、从哪取”。很多人配完 WM 只觉得能做收货和发货遇到自动化立体库、大批量效期管理的仓库时才意识到配置顺序本身就是业务逻辑。搞懂这层能让你在 OMLY、OMLZ、LS10 这些事务代码面前看到的不是输入框而是一套决策引擎的调用链。这份 26 页的配置文档正好把 WM 和 MM 集成背后那条最关键的链路拆开了。2. 主数据仓库号、存储类型到存储箱的层级是如何被层层定义出来的2.1 仓库号控制参数一个被当填空题的参数表实际是仓库的“运行宣言”SPRO 里第一件事是“Define control parameters for warehouse number”。文档给 D01 仓库配置了 KG 作为重量单位第一默认 UoM 选 L第二默认 UoM 选 A同时勾上“Dec. warehouse active”小数位激活和“SU management active”存储单位管理激活blocking method 用 B还开了 Partial Picking 和 Capacity Check。这些不是常规字段而是 WM 内部数量处理的开关。解读WM 与 MM 的记账单位经常不一样。MM 入库按“箱”WM 盘点按“公斤”要在这两套数字间切换就需要一条换算链。第一/第二默认 UoM 是为无法自动推导的情况准备的后备单位“Dec. warehouse active”则决定 WM 数量是否保留小数位。很多后续盘点差异、数量四舍五入问题早在这一屏就已经埋下。提示如果仓库里有称重计费的物料但这里没开小数位最终 Quant 数量会变成整数差异报表会一直报警。Partial Picking 打开后同一个 TO 可以分多次确认部分数量Capacity Check 则要求 TO 确认时校验存储箱容量。这两个开关直接影响仓库作业模式选错了就是“要么现场没法拆单要么超容量存放没人管”。2.2 存储类型把物理空间翻译成语义节点901/999 系列是系统预置的边界文档 1.3 列出两类存储类型系统预置的 902 GR Area From Vendor来自供应商的收货区、911 GI Area for Cost Center成本中心发货区、914 GI Area Production生产发货区、916 Shipping Area Deliveries装运发货区、921 Stock Transfers (StLoc)、922 Posting Change Area、998 Init.entry of stock bal.、999 Differences以及客户自定义的 ZM1 MKC Storage Area主存储区、ZM2 MKC Issue Precedence Area优先发货区。系统保留类型描述的不是货架区而是从 MM 进入 WM 的过渡区收货区或从 WM 退出到下游流程的发货区。自定义的 ZM1、ZM2 才是真实的核心库区。这就是 WM 第一个设计动机存储类型是逻辑分类不是物理标牌。同样一块场地可以因为物料属性和作业方向不同被切分为多个存储类型。一个存储类型上还能挂“Stock placement strategy”入库放置策略和“Stock removal strategy”出库移除策略也就是说策略是挂在存储类型上的不是挂在物料上的。我一般会这么理解存储类型像函数签名决定这个区域接受哪些方向的调用而策略是函数体决定具体怎么执行。文档把很多指示符标成“No changes”不是不重要而是要求你去参考已有配置保持全局一致。2.3 存储段、存储箱类型与存储单位类型在存储类型里继续做细粒度分区存储类型内部继续划出存储段。文档 1.4 在 ZM1 下定义 1001 Normal Bin Area、1002 Interim Bin Area、1003 Warehouse Working Area在 ZM2 下定义 2001 Total Area。这些段的含义类似“整托盘区”“中转区”“作业区”它们会参与后续的存储段搜索OMLZ——系统先在存储类型里定方向再在段里选更具体的区域。存储箱类型定义的是物理容器的种类D01 Normal Bin Type、E1 Interim Bin、B1 Repacking Bin Area。这里“Bin”是 WM 的最小位置单元。存储箱结构 LS10 里则定义了存储箱号如何编码1.7 的表出现模板“AANNNNCCCC”配合开始箱号、结束箱号和增量系统能自动批量生成一批存储箱主数据。模板中的 A 代表固定字母N 代表数字C 代表任意字母——这样生成的箱号自带位置信息比如前两位是区、中间四位是排位、后四位是库位仓库人员看到编号就能猜到在哪个区域。存储单位类型S1 Normal SU解决“货怎么装”的问题一整托盘是一个存储单位半箱是另一个。文档 1.9 把 S1 当作默认存储单位类型后续 2.3.3 再把 S1 分配给不同存储箱类型。这一层把“物理容器”和“货物包装形态”解耦是 WM 能同时管理整托和拆零的关键。2.4 存储箱结构LS10 模板如何把箱号“生成”出来LS10 定义存储箱结构每个仓库/存储类型/存储段都有模板、起止编号和增量。例如 D01ZM1001 用模板 AANNNNCCCCStart AB0101End AB0302Increment 1101D01ZM1006 用 CNNCCCCCCC起止 F01 到 F99D01ZM2001 用 CNNCCCCCCC起止 X01 到 X10。这些不是手工逐个录入的存储箱而是系统按模板展开生成的离散箱号集合。为什么这样设计手工建存储箱很容易重复、漏建而且仓库扩大到几千个货位时逐条维护基本不可行。模板展开机制保证编号连续、唯一、可追踪。更重要的是如果把模板设计成“区-排-列-层”的结构箱号本身就变成了空间坐标WM 在策略搜索时可以按箱号做排序和筛选比如按“先 A 区后 B 区”的物理路径优化拣货路径。提示模板中的固定字母不能乱填。很多项目把固定字母当“好看的前缀”结果后续做存储箱搜索时无法按区域筛选只能返工改模板。3. 号码范围与移动类型为什么缺了编号规则WM 单据会原地瘫痪3.1 OMLW 号段TR、TO、Quant 为什么要各拿各的计数器文档 1.2 是“Define number ranges”事务代码 OMLW。Assignment 表格显示 D01 仓库的 TR、TO、Posting Change、RefNo、SUV 等对象都分配到序号“01”Interval 部分把 TR、TO、Quant、Posting change notice 的区间都设成 01 3000000000 到 01 3999999999。注意这里所有单据类型共享同一个外部间隔30 亿段但各自内部维护独立计数器。这样设计的直接好处是审计时只要看号码就能判断单据类型不会混淆同时各单据创建互不阻塞降低锁等待概率。另一个好处是传输配置之后间隔一致便于跨系统比对。我一般会这么理解号码范围是 WM 的单据身份证。TRTransfer Requirement表示“该收货了”TOTransfer Order表示“该移动了”Quant 是 WM 库存的原子记录每个 Quant 都有独立编号。若 TR/TO 号段重叠仓库人员拿着 TO 单去核准 TR 时会产生严重误导这也是为什么文档明确要求 Assignment 先定义再定义 Intervals。3.2 移动类型表一张表如何覆盖收货、发货、转储、盘点与报废文档 2.1 后面附带一大段“Define Movement Type References”实际上是把 MM 移动类型绑定到 WM 搜索。常见移动类型按业务方向可以分这么几组分组移动类型示例业务语义收货类101 / 103 / 501 / 521采购收货、生产订单收货、无 PO 收货、生产入库冲销类102 / 104 / 502 / 522 / 552对应正向单据的取消冲销发货类201 / 255 / 261 / 601 / 331成本中心、总单、生产订单、交货单、样品出库转储类301 / 302 / 311 / 312 / 319工厂间转储、存储地点转储、线边补货盘点与过账更改711 / 712 / 309 / 321 / 453盈亏差异、过账更改、质检过账、退货过账特殊业务551 / 561 / 861 / 911 / 961报废、期初导入、转移冻结、返工、包装物发货移动类型设计的关键规律几乎每个正向移动类型都有一个反向移动类型101↔102、103↔104、201↔202、255↔256、501↔502、561↔562。WM 不允许直接负向冲销而是要求反向单据保证每一步都有业务语义——例如“取消收货”和“负数收货”在财务和仓位追踪上是两回事。另一个规律是移动类型成组出现是为了支持“过账更改”。301/302 是工厂内转储的移出/移入系统在创建 TR 时会把移出和移入自动成对绑定形成一进一出的库存移动。WM 策略搜索引用移动类型时也是按这个对子来定方向的移出方向做存储类型搜索时找“Source”存储类型移入方向找“Destination”存储类型。3.3 TR→TO→Quant 闭环编号如何把 WM 的每个动作钉在审计链上当一个 MM 过账比如 101发生时WM 创建 TR接着系统按策略自动创建 TOTO 包含源存储箱和目标存储箱仓库执行搬运后确认 TO系统会新生成或更新 Quant同时释放原存储箱的库存。这一串动作分别产生 TR 号、TO 号和 Quant 号三者通过引用关系串联成审计链。文档 1.2.1 里有一个单独“Posting Change RefNo”的号段就是为了处理这类场景过账更改会产生新的引用号指向原始的物料凭证。如果号码范围没有配置好TR、TO 之间无法关联后续的“库存差异分析”就失去依据。从实现角度看OMLW 只是定义了编号分配规则真正的计数器在系统表中维护并受传输请求控制。很多项目把 OMLW 配置从质量系统带到生产系统但忘了调整计数器导致测试数据占用大量号码。这就是后面要谈的典型坑。4. 策略引擎存储类型搜索、存储段搜索与 FIFO/FEFO 的逐级裁决机制4.1 为什么找位置要分三层搜索的本质是逐步缩小候选空间WM 的“放货”和“取货”不是一次查表搞定而是逐层搜索先存储类型搜索OMLY再存储段搜索OMLZ再存储箱类型搜索OMM1最后在存储段内按具体放置/移除策略选箱。这有点类似索引下推先锁定大分区再过滤中分区最后在小分区内做精确排序。为什么不能一步到位因为策略条件往往是组合的货物是危险品要进防爆区货物是超大托盘要进地面层快周转品要靠近发货月台。如果把所有判断塞进一个查询规则表会爆炸也难以让不同仓库自治。每一层承担一种维度的筛选存储类型管“业务边界”存储段管“区域习惯”存储箱类型管“物理容器的适配”最后的放置策略管“同一容器内的精细选择”。4.2 存储类型搜索 OMLY策略指示符才是真正的调度核心OMLY 是策略引擎的第一站。文档 2.1 的表格里每个仓库往下按活动类型指示符ActTyInd和不同策略列配置搜索顺序。比如 D01 仓库为不同活动类型指示符配了多条搜索行每条列出该场景下依次尝试的存储类型序列。含义是“当某移动类型进入该活动类型指示符时按这一行列出的存储类型依次尝试”。这里的关键概念是“策略指示符”Storage Type Search 的列编号。WM 有一组标准入库策略固定箱策略、开放存储、添加到现有库存、空存储箱、托盘策略、块状存储、FIFO、LIFO、部分托盘数量、大/小数量以及后端的效期策略。文档 2.5 到 2.17 的顺序基本就对应这些策略在检索列里的优先级位置。配置顺序是有语义的同一存储类型如果既配了“添加现有库存”又配了“空箱”系统在运行时先试前者找不到满足的现有 Quant 再去找空箱如果两个顺序反过来结果截然不同。这就是为什么文档要把“Define strategy for XX”逐条列出来并要求参考 1.3 存储类型的放置策略字段——策略指示符的可用性受存储类型主数据的约束。4.3 存储段搜索与存储箱类型搜索把物理约束翻译成可比较的规则OMLZ 定义存储段搜索。文档 2.2 中 D01 仓库 ZM1 区配了特定的段类别当 OMLY 确定存储类型后OMLZ 会按段类别选出优先级最高的段。段类别在这里不是文本而是搜索用的键值。比如 1001 是正常箱区如果某种物料需要先过中转区系统就会优先命中 1002 Interim Bin Area。OMM1 处理存储箱类型搜索。文档 2.3.1 又定义了一轮存储箱类型D01、E1、B1、P12.3.3 把 S1 存储单位类型分配到这些箱类型2.3.4 再把存储单位类型映射到仓库/存储类型。我一般会这么理解存储箱类型搜索解决的是“哪种容器能承载哪种包装形态”的适配问题。S1 是普通存储单位它既可能进 Normal BinD01也可能临时进 Interim BinE1搜索顺序把优先级表达出来先正选后备用。这层映射直接决定仓库的安全性。如果把整托盘 S1 配到只能放料箱的 B1系统生成的 TO 会要求叉车司机把托盘塞进隔板货架现场只能对着对讲机喊“这个 TO 建错了”。所以文档里这节虽然只有几行表格却是所有物理约束的源头。4.4 FIFO、LIFO、FEFO 与特殊策略按“哪个 Quant 先用”做局部排序真正选到具体存储箱时WM 执行的是放置/移除策略的精细逻辑。FIFO 策略核心是按 Quant 的入库时间排序出库时先取最早入库的 QuantLIFO 则相反。文档 2.13 特别提到“stringent FIFO”严格 FIFO它要求对同一个物料、同一个批次、同一个库存类型做严格的入库时间排序不允许在不同批次之间“跳”着取数常用于有批次追踪的行业。还有“expiration date”策略也就是 FEFO先到期先出。它与 FIFO 最大的不同排序键从“入库时间”变成“批次到期日”。典型场景是食品、医药、化工实现上通常要求 Quant 维护“货架寿命到期日期”策略按这个日期升序取数避免把临期品留在库里。大/小数量和部分托盘数量策略处理的是“整托与零头”的问题如果货位既有整托又有散托大数量策略会优先分配能承载整托盘容量的箱位部分托盘策略则允许拆分一个存储单位让一个 Quant 跨多个存储箱存在。文档 2.15 和 2.16 把它们分开描述说明这两者经常被混淆但触发条件完全不同。4.5 扩展策略当标准配置不够用时的“开发”路径文档 2.11 和 2.18 两次出现“Develop extensions for Putaway strategies / Picking strategies”并提供“Develop Strategy / Activate Strategy”的路径。这说明 WM 的策略机制不是封闭的标准配置无法覆盖的个性化规则可以开发自定义策略功能模块并激活让它们在搜索链条中占一个位置。我一般会这么理解策略扩展是“配置即代码”的最后一公里。企业可以把“铝卷必须竖放且不能叠压”这类物理规则写成自定义策略逻辑插入到 OMLY 之后执行。但也要注意扩展策略一旦激活就不再受标准升级影响反而成了长期维护的技术债。所以文档里“Develop extensions”和“Activate Strategy”分两步就是提醒实施团队先开发验证再正式激活别直接改生产配置。5. 排查与避坑WM 配置里最容易翻车的 5 个环节5.1 号段看起来正确但单据编号反复跳号现象配置文档里 Intervals 明明是 01 3000000000-01 3999999999可是生产环境新建 TR 时号码直接从 3000005050 开始甚至偶发单号重复。原因文档只定义了区间真正的内部计数器在系统表中会随着测试和培训数据不断消耗。如果项目组从测试环境传输配置到生产环境时没把计数器归零或调到合理基数就会出现“大跨度跳号”和“重叠风险”。这不是 WM 特有的问题但 WM 因为 TR/TO/Quant 三套计数器并行最容易爆雷。解决传输后必须在目标环境检查号码范围状态手动调整到安全起始值然后跑一遍“TR→TO→确认”的冒烟用例确认三个号段都连续且互不关联。5.2 收货提示“无法确定存储类型”主数据却看不出问题现象执行 101 收货过账后系统无法自动创建 TO提示无法确定存储类型。原因存储类型主数据存在不代表搜索路径存在。OMLY 里没有给该移动类型配置活动类型指示符对应的搜索行或者物料主数据的 WM 视图没激活没有维护“仓储类型”的库存放置策略。解决先回到 OMLY确认 101 对应的移动类型参考行和策略列已配好再查物料主数据的 WM 视图确认“发货/收货”标识和“存储类型”都已激活。通常问题出在物料主数据而不是 SPRO。5.3 FIFO 配了却不生效货还是按进仓时间乱出现象存储类型上已经选了 FIFO 库存移除策略但发货时系统仍然选择最新入库的 Quant。原因FIFO 策略要生效前提是 OMLY 的搜索顺序里也允许该策略。更常见的坑是FIFO 只对“同批次、同库存类型”的 Quant 有效如果同一物料有多个批次且批次策略没启用比较系统会退回到其他策略比如“部分托盘数量”覆盖了 FIFO。解决检查存储类型上移除策略字段检查 OMLY 对应行里该策略编号是否在搜索列中在物料主数据和批次管理中确认批次状态有效。最后用 LS24/LS26 查 Quant 的入库日期和到期日推导一下订单应该选哪个编号再和 TO 对比。5.4 WM 和 MM 数量对不上盘点差异总差一分钱现象同一个库存MM 的库存金额和 WM 按 KG 算出来的数量经常不一致盘点后差异报表一串红。原因WM 的默认计量单位文档 1.1 中第一/第二 UoM 为 L、A与 MM 的记账单位不一致转换率存在四舍五入或者仓库号参数里的“Dec. warehouse active”未激活导致 WM 内部只保存整数重量。解决在仓库号控制参数里打开小数位支持为相关物料的 WM 单位组维护精确的转换关系不要在 WM 里随意改单位所有换算都通过 MM 物料主数据统一维护。5.5 跨线库位建不出 TO现场空位很多却报“无可用存储箱”现象启用了跨线放置Cross-line Putaway但系统始终找不到库位明明现场空位很多。原因OMLMDefine Sort Sequence for Putaway没有配置排序序列或者存储箱结构 LS10 生成箱号时有些物理空位没有落到模板的起止范围里。解决先检查 OMLM 是否已给 D01 定义排序序列再检查 LS10 的模板是否覆盖现场所有实际箱位。若改动模板必须重新生成存储箱主数据并重新执行一次放置策略测试。6. 设计取舍为什么 SAP 用“策略表”而不是“硬编码逻辑”6.1 配置驱动的代价搜索顺序可组合也让排查变成走查SAP 最终选择“策略表配置参数”而不是硬编码是因为不同仓库的物理差异实在太大。高架库、地面堆场、货架库、自动化库共用同一个 WM 内核靠的就是把决策逻辑参数化。代价则是规则被拆散在 OMLY、OMLZ、OMM1、LS10 和无数个策略字段里排查一个“货为什么放错了”的问题你得在脑子里把整套搜索链跑一遍像调试一段没有栈信息的递归函数。有一种验证方法我常用画一张“货物流向表”把每个移动类型101、201、301…输入后逐层经过的存储类型、存储段、存储箱策略列出来再拿实际 TO 反推。配置文档的价值不在于参数本身而在于它记录了业务侧的物理逻辑——真正要维护的其实是那份逻辑。6.2 字段顺序就是业务优先级用最小数据集回归验证策略策略配置的顺序不是排版问题是业务优先级。先试“固定箱”再试“空箱”还是先找“空箱”再允许“添加到现有库存”会直接改变仓库的补货频率和拣货路径。验证手段不是看配置界面而是构造最小数据集一个物料、两个存储类型、三个存储箱清空库存后依次执行收货和发货检查 TO 落位是否符合预期。从那以后我做 WM 配置强制走一遍这个流程先画物理区域的逻辑顺序再映射成存储类型、存储段、存储箱结构最后才去填 OMLY 和 OMLZ——就像先写伪代码再写实现。这样能省掉大量“配完才翻车”的时间。希望帮到你。本文还有配套的精品资源点击获取
RELATED

相关推荐

银河麒麟V10 aarch64 Docker安装与版本锁定实践

银河麒麟V10 aarch64 Docker安装与版本锁定实践

简介:面向在国产化服务器上部署容器环境的中高级运维人员,这份手册聚焦银河麒麟 V10 SP1 Server 缺少官方 docker server 软件包的实际困境,给出可落地的安装路径。内容围绕第三方阿里源与麒麟官方源的双源配置展开,逐步记录 dock…

📅 2026/10/24 16:33:10
用友UAP开发NC65主子表单据:从向导建模到保存踩坑全解析

用友UAP开发NC65主子表单据:从向导建模到保存踩坑全解析

简介:面向用友UAP NC65开发新手的一份主子表单据创建详解资源,围绕向导开发流程,系统讲解主表字段控件配置、子表数据网格关联、主键与外键对应、主子表联动刷新及增删改查实现,尤其适合刚接触企业级表单开发、需要快速上手UAP平台…

📅 2026/10/24 16:33:10
ADSL猫与路由器管理页进不去:默认密码、网段与复位排障

ADSL猫与路由器管理页进不去:默认密码、网段与复位排障

简介:面向网络运维初学者与家庭宽带调试人员的默认登录信息速查文档,聚焦各类ADSL路由器与早期宽带设备的出厂IP地址、默认用户名及密码,帮助在初次配置、设备复位或接手旧设备时快速定位入口,减少盲目试探带来的时间消耗。压缩包…

📅 2026/10/24 16:33:10
MORE NEWS

更多资讯

📰

Nemea 高速网络流量分析:从抓包瓶颈到流式异常检测架构

简介:Nemea(网络测量分析)是一套面向网络流量分析与异常检测的模块化开源系统,适合网络安全研究者、运维工程师及高校网络实验教学使用,用于识别DNS隧道、DoS、扫描等恶意流量。系统由众多独立模块构成,通过…

📰

临床试验估计目标:如何精准定义你真正想问的科学问题

简介:本资源是面向临床试验统计师、医药研发人员及监管事务从业者的专业指南,聚焦ICH E9(R1)修订后估计目标设定与敏感性分析的核心实践。蓝皮书由DIA中国统计社区组织孟宪花、付佳钰、贡艳坤等十余家跨国药企及研究机构专家联合编写,系统阐释…

📰

低代码平台四大运行时引擎深度解析

简介:本资源是头豹研究院发布的《2022年中国低代码无代码平台行业研究报告》,面向企业数字化转型决策者、IT架构师、低代码平台选型人员及技术管理者,系统解答低代码/无代码平台的产业现状、厂商分类、商业模式、部署路径与盈利瓶颈等核心问题…

📰

Linux终端入门:从命令行交互到C程序编译运行

简介:本资源是一份面向高校计算机专业本科生的操作系统课程实验报告,聚焦Linux用户接口与编程环境的实践入门,帮助初学者系统掌握命令行操作、系统管理基础及C/Shell程序开发全流程。资源为1个609KB的Word文档(.docx)&…

📰

设计模式实战:SOLID原则、UML类图与五个高频C++模式解析

简介:由王桂林整理的设计模式学习笔记PDF,是一份面向软件开发者、架构师与中高级编程学习者的系统性参考资料,旨在帮助读者理解并运用经典设计模式,提升代码可维护性与扩展性。文档以GOF著作《Design Patterns》为线索&#xff0c…

📰

Python爬虫实战:requests+parsel抓取招聘数据并写入CSV

简介:这份资源面向具备Python基础、希望入门网络爬虫的开发者与数据分析初学者,以猎聘网为例,完整演示如何抓取招聘岗位信息并落地为CSV文件。内容围绕Requests发送GET请求、Parsel结合CSS选择器解析页面、请求头伪装、字典组织字段、csv模块…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬