ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

SAP MM JIT实战:从计划协议到JIT交付计划全流程解析

SAP MM JIT实战:从计划协议到JIT交付计划全流程解析 前面写的几篇JIT相关分享一直在后台收到朋友留言问能不能把SAP MM模块里JIT这块从头到尾串一遍。说实话JIT在MM里是一个很容易绕晕的专题因为它横跨了采购主数据、计划协议、物料需求计划、信息输出好几个领域而且不同行业的做法差异很大。踩了很多坑之后我打算把从计划协议到JIT供应这条链路完整梳理一遍结合项目上的配置经验和排错记录给正在做供应链或者SAP实施的朋友一份可以照着走的实战参考。1. 先弄清JIT在SAP MM里的定位为什么是计划协议而不是采购订单1.1 从一张标准采购订单说起在传统MM采购流程里采购订单是核心单据一次性或者分批采购供应商按订单交货。但有一种业务场景需求和供应商之间是长期、稳定、高频的比如汽车主机厂和一级供应商之间的零部件供应。车间每天按生产节拍消耗物料如果每批需求都下一张采购订单采购员会被单据淹死计划员也没法及时把看板式的拉料信号传递给供应商。这时候就需要一套用长期框架协议承载、按需释放供货指令的机制。SAP里的计划协议Scheduling Agreement就是这样一种采购单据它不需要针对每次到货创建PO而是通过计划行来记录每个时间点的需求数量和到货日期。而JIT恰恰就是在这个框架协议基础上把供货节奏细化到以小时甚至分钟为单位的拉动式供应模式。熟悉SAP的人应该知道从单据类型上看计划协议和采购订单是并列的两种采购凭证。你用ME31L可以创建计划协议用ME33L可以修改用ME35L可以批量审批。计划协议的每一行都有计划行这些计划行就是供应商交货的时间表。JIT在这条链路上做的事就是把MRP算出来的需求以JIT交付计划的形式直接释放给供应商同时触发后续的收货、发货和结算。1.2 JIT和传统计划协议的核心差异很多人会把计划协议和JIT当成一回事其实两者有关联但落脚点不同。计划协议解决的是“长期框架分批交付”的问题JIT解决的是“如何更精细化地指令供应商”的问题。传统计划协议的计划行通常只是MRP计算后自动生成的供货时间点供应商按计划行交货严格来说还是偏推式。而JIT是明确的拉式逻辑它基于生产消耗或生产订单的实时需求生成JIT交付计划并传送给供应商。供应商按JIT呼叫发料物料到线边后直接上线库存水平极低这就是JIT存在的意义。用生活里的场景打个比方传统计划协议就像你和食堂阿姨说好未来一个月每天中午都来吃饭阿姨会每天准备饭。但具体到今天的菜量、几点来吃、吃几碗都还是大概估计的。JIT就是到了当天你给阿姨发一个“11点45分到一份红烧肉、二两米饭”的通知阿姨按这个精确指令出餐既不浪费也不缺量。供应商侧也一样收到JIT交付计划后按分钟级的时间窗配送到厂直接上线库存周转被压缩到极致。1.3 什么情况下才需要做JIT这个判断很关键。我见过不少项目业务上明明只是月度批量采购却非要上JIT最后搞得很痛苦。JIT适合场景有几个典型特征需求相对频繁、供应商距离近或响应能力强、物料本身价值高或体积大不适合囤库存、生产线有明确的节拍和排序需求。汽车、电子、家电这三大行业是JIT的高频使用区。如果只是月度下单、周度收货那用普通的计划协议或框架订单就够了没必要专门做一套JIT主数据和输出配置。反过来如果业务方明确要求供应商按“线边呼叫”送货并且对计划行时间有精确到分钟的要求那JIT就是绕不开的方案。判断的基准不是系统能不能配而是业务的供给响应模型是不是真的到了“按需即时拉动”的成熟度。2. 前置准备JIT落地前的主数据与基础配置2.1 这四条主数据缺一不可JIT真正跑起来之前有几类主数据必须提前备齐缺一条都会在测试阶段暴露问题。第一类是供应商主数据。供应商需要在采购视图里维护好并且要把供应商和工厂、采购组织的关系建立清楚。JIT场景下供应商主数据的“JIT标志”通常要在采购数据里勾选这个标志决定了系统在后续流程中是否允许对该供应商使用JIT相关的输出类型。第二类是物料主数据。MM模块JIT对物料主数据的依赖非常高尤其是MRP视图里的采购类型、特殊采购类、计划交货时间、GR处理时间这几个参数直接影响计划行的生成精度。另外如果要做JIT的精细化管理物料主数据里还需要维护好JIT相关的控制字段这些字段决定了该物料是否允许按JIT交货计划模式运作。第三类是工厂参数。JIT运行基于工厂级的设置所以工厂必须启用JIT相关的控制比如允许对特定供应商使用JIT交付计划设置JIT运行的时间单位等。这些不是在物料层面单独放开的是在工厂维度和供应商维度同时满足JIT才会被激活。第四类是计划协议。计划协议的框架编号在JIT流程里是贯穿始终的。JIT交付计划不会单独生成一张新单据而是挂在计划协议行项目下面作为计划行的细化版本存在。这就是为什么JIT不能脱离计划协议单独运行——JIT只是计划协议计划行的“精确化触发”框架本身依然是计划协议。2.2 必须提前理清的三个号码范围SAP的JIT交付计划在系统里有独立的单据号码范围。我遇到过一个坑配置手册里只写了计划协议号段没提JIT号段结果生产机上一跑JIT系统直接报“号码范围未定义”卡了一个下午。JIT相关的号码范围主要涉及三类单据JIT交付计划本身JIT Call、JIT交付计划的确认回传Confirmation、以及JIT运行相关的监控凭证。这些号段通常在IMG里通过VN1、VN2这些事务码维护前提是SAP的JIT相关组件已经被激活。如果你的系统里连JIT号码范围的事务码都找不到先检查一下行业解决方案里是不是激活了“JIT”这个业务功能很多S/4 HANA的默认激活范围并不会自动带出JIT的全部功能。2.3 激活JIT功能的IMG路径怎么走JIT功能激活后需要到IMG里做基础设置。核心路径是“物料管理-基于消耗的计划-JIT调用”这里有一个总开关叫做“激活JIT调用”。这个开关勾上之后你才能看到后续的JIT控制参数文件、JIT交付计划输出、JIT结算等配置项。另外JIT通常会和“交货计划”的日程行Schedule Line联动所以你在配置计划协议计划行类型的时候一定要确认分配给计划协议的计划行类别是支持JIT日程的。如果计划行类别没有打开日程行维护的开关JIT呼叫生成时会提示找不到可用的计划行类型。这个点非常隐蔽很多顾问前期忽略测试阶段才暴露。2.4 一些隐蔽但影响全局的配置细节JIT控制参数文件是JIT运行的核心参数载体事务码一般是JITCC或者通过事务码JIT3里的“配置JIT调用控制参数文件”进入。参数文件里需要定义的东西很细包括JIT交付计划的编号策略、打印/输出格式、计划时间单位是精确到分还是小时、是否允许JIT状态回传、是否生成两次供货JIT即前二次调用等等。这些参数看着不复杂但直接影响业务侧的操作体验。比如时间单位如果配置成“天”供应商收到的JIT交付计划只有日期没有具体时分那JIT的意义就大打折扣了。再比如JIT确认回传的时间间隔如果配置不合理供应商通过SRM或EDI回了确认但系统里迟迟没收到状态更新计划员就会一直打电话跟供应商核对“到底送不送、送多少”。在S/4 HANA环境里还可以考虑启用Fiori的JIT处理应用用App来替代部分ECC时代的GUI事务码。JIT相关的Fiori应用在S/4里已经有了标准覆盖如果你项目上正在做S/4升级这是一个值得调研的方向。3. 核心流程实操从计划协议创建到JIT供应的完整闭环3.1 第一步用ME31L创建计划协议并维护计划行计划协议有两种类型一种是针对外部供应商的标准计划协议事务码是ME31L或ME32L维护另一种是寄售补货计划协议事处码一般是ME31K。JIT场景下绝大多数用的是标准计划协议。ME31L创建计划协议时选择供应商、工厂、采购组织然后输入物料、数量、交货日期。注意这里的“数量”只是计划的初始数量后面MRP运行后系统会根据需求自动刷新计划行。计划行里的“交货时间”字段很关键这对应的是JIT交付计划的时间点可以精确到秒。如果你发现ME31L里计划行没法维护精确时间检查一下计划和工厂日历的时间粒度设置以及物料主数据MRP1视图里的“计划交货时间”是否维护。计划协议创建之后还需要在协议行项目上维护“JIT交货计划”标识。这个标识如果不打后续运行JIT呼叫时系统会认为该计划协议不支持JIT直接报错或者静默不生成呼叫。我见过一个项目顾问遗漏了这个标识结果MRP跑完了JIT交付计划一张都没出来排查了很久最后发现就是这个勾没打上。3.2 第二步MRP运行生成精确计划行计划协议创建好后日常的补货逻辑就交给了MRP。JIT场景下MRP的运算结果会直接生成新的计划行计划行上会有精确的到货时间。这里建议用MD01或者MD02运行MRP时重点关注计划协议的“计划行”更新结果用MD04去看物料供需情况最直观。在MD04的库存/需求清单里可以看到计划协议行项目下的计划行每一行都有日期、数量和收货状态。JIT模式下这些计划行就是后续JIT交付计划的源头。如果你发现MRP运行后计划协议的计划行没有按预期的JIT时间点生成先排查一下物料主数据里的“MRP类型”是不是可以维护计划行以及计划协议里是否勾选了“无需MRP”之类的反向选项。有时候MRP算出来的计划行时间是系统按计划交货时间偏移出来的但如果业务上需要的是按车间呼叫的实际时间那MRP只能作为粗排真正的精细时间要靠JIT交付计划的下达来修正。这就好比火车先有运行图但真正到点开车、到站停车还需要调度命令细化。3.3 第三步JIT交付计划生成与释放计划行准备就绪后JIT的核心动作就是把计划协议的计划行“转换”成JIT交付计划并释放给供应商。这一步在系统里通常通过事务码JIT1或JIT2来操作。JIT1是直接创建JIT交付计划JIT2是处理JIT交付计划的状态更新。运行JIT交付计划时系统会按你在JIT控制参数文件里设置的时间窗口从计划协议的计划行里抓取满足条件的需求生成一条JIT交付计划记录同时触发输出类型通常是EDI或者打印。这里有个细节JIT交付计划生成后计划协议原计划行的状态会变为“已消耗”或“已确认”避免同一需求被重复释放。如果你看到计划协议计划行数量一直没变化检查JIT交付计划的释放逻辑或者计划行状态更新条件。释放JIT交付计划时输出方式有两种主流方式。一种是通过SAP的输出控制NACE配置输出类型比如JIT调货EDI输出到供应商系统另一种是直接打印标准的JIT交付计划单据传真或扫描给供应商。在汽车行业大多数总装厂会用EDI方式直接把JIT交付计划推送到供应商的SRM或者MES系统全程无纸化。如果项目预算有限先做打印方案也是可以的核心是输出类型要绑定在JIT交付计划的“输出”里。3.4 第四步供应商确认与JIT状态管理JIT不只是发出去就结束了供应商的确认回传也是JIT流程里非常重要的一环。供应商收到JIT交付计划后需要通过EDI、供应商门户或人工方式返回一个确认信息告诉主机厂“这份JIT我收到了计划在某时送达多少数量”。这个确认信息在SAP里会更新JIT交付计划的状态状态从“已释放”变成“已确认”。在SAP系统里JIT交付计划的状态更新通常用事务码JIT2或者通过EDC/IDoc的入站处理自动完成。如果供应商是通过EDI/IDoc回传的那就要确保IDoc的端口配置、合作伙伴配置文件都正确。失效的IDoc或者错误的合作伙伴参数都会导致确认状态更新失败。有一个现场问题排查技巧用WE02或WE05去看IDoc状态如果IDoc状态卡在51已应用但未处理或者64/65之类的异常状态那就是出站或入站处理的配置不对优先检查伙伴参数里JIT相关消息类型和处理的分配。3.5 第五步收货、发票校验与JIT结算JIT的最终闭环还是落在收货、发票和结算上。供应商按JIT交付计划送到工厂后仓库或产线做收货移动类型通常是101采购订单收货或者103105收货到冻结库存再转到非限制库存。收货过账后库存进入可用状态财务侧形成应付暂估。发票校验这一环JIT和普通采购区别不大仍然用MIRO来处理。但如果供应商是按JIT交付计划逐笔对账的那发票校验时可以参照计划协议号、逐行核对JIT交付计划数量和收货数量。我建议在项目里为JIT供应商单独设一个发票校验的容差配置因为JIT送货批次多、单批金额可能不大如果按常规的金额容差设置很容易因为小额差异被卡住影响月底对账。JIT结算的方式有两种可选。一种是对JIT交付计划结算系统会汇总计划协议的计划行生成结算凭证另一种是直接将收货数量作为结算依据按收货值结算。选哪种取决于你项目上财务和采购对账的颗粒度要求。如果是按月汇总对账模式一更常见如果是按批次精细对账模式二更直接。3.6 一个典型的JIT全流程跑通示例假设某汽车零部件厂的物料A供应商是B公司采用JIT供货流程大致是这样计划员在ME31L里创建一份计划协议编号行项目里维护物料A初始数量写一个月预估用量同时勾选JIT交货计划标志。系统里MRP运行后MD04里能看到物料A的计划协议计划行按天或按班次生成了到货需求。到了需要精确给供应商下达指令的时刻计划员运行JIT交付计划生成系统抓取未来数小时内的计划行生成一条JIT交付计划同时通过输出类型把消息推送出去。供应商B收到JIT交付计划在系统里反馈确认主机厂生产计划员通过JIT监控界面看到状态已确认。到货时仓库按JIT交付计划对应的收货单做101收货货物直接拉到线边。月底财务汇总计划协议下的收货和发票做发票校验和结算整个JIT闭环完成。这个流程看起来简单但每个环节都有配置项在起作用。缺少任何一个前置设置这个闭环都可能跑不通。4. 常见问题与排查技巧实录4.1 JIT交付计划无法生成这是出现频率最高的问题。排查时先看计划协议行项目是否勾了JIT标志再看计划行是否有有效的计划行日期和数量接着确认JIT控制参数文件是否存在并分配给了物料或供应商最后看输出类型有没有正确配置。这里有一个容易忽略的点JIT交付计划生成时系统是按“计划行日期”来抓数据的。如果计划协议的计划行日期是过去的时间系统会认为没有可用的JIT需求直接不生成交付计划。所以遇到这种情况先回去看MD04里的计划行日期不要一上来就怀疑配置问题。4.2 供应商确认状态一直没有更新分成两种情况EDI自动回传的优先检查IDoc状态和合作伙伴参数尤其是JIT消息类型在出站参数里是否指定了处理程序。人工确认的检查一下是不是确认事务码用错了或者JIT交付计划的状态已经被人为改过导致系统不接受新的确认。还有一点有些项目会启用JIT交付计划的“两次JIT”模式也就是提前发一个预告前次JIT临近再发一个精确确认二次JIT。在这种模式下确认状态更新的逻辑会复杂很多如果配置了两次JIT但供应商只回了一次确认系统可能不会把状态推到最终确认。这种问题排查起来更费时间所以配置之前就要和业务确认清楚JIT的调度模式不要套默认值。4.3 输出类型没有触发或重复触发输出没触发先看输出确定NACE里JIT交付计划的输出类型是否在正确的调用点配置了JIT相关输出通常在调用点“JIT调用”上。再看输出类型的条件记录里供应商、采购组织、工厂这些组合条件是否都命中了。重复触发的情况也见过不少。比如一张JIT交付计划生成了两次供应商收到两份一模一样的指令这种情况多半是计划行状态没有在第一次JIT生成后被正确锁定。解决思路是在JIT控制参数文件里勾选“已释放计划行作为已消耗”确保同一计划行只能参与一次JIT交付计划生成。4.4 JIT相关表与常用报表JIT问题定位时有几个表和事务码值得记住。JIT交付计划抬头和行项目的数据存储在JITDD和JITDI等表里业务人员常用的JIT监控是事务码JIT3或者JIT4可以看JIT交付计划的整体状态和释放明细。想追溯JIT交付计划和计划协议之间的关联可以在事务码JIT3里通过计划协议号反查也可以在ME32L里选中计划协议行看行项目明细里的JIT交付计划记录。如果项目上线后需要做JIT运行审计比如查哪些计划行被释放过、供应商确认状态如何直接通过这些表写报表会比在GUI里翻找高效得多。我在项目上实现过一个JIT状态监控报表核心逻辑就是抓JITDI表的状态字段和计划协议的ME5J计划行做关联半小时能搞定对业务日常监控帮助很大。4.5 多工厂、跨公司JIT的特殊处理JIT如果只在一个工厂内部跑相对简单。但如果集团下有多个工厂共享同一批供应商有些工厂做JIT有些工厂不启用那配置上就需要按工厂隔离。供应商主数据里JIT标志如果开了全局所有工厂都会受影响。正确做法是利用采购组织工厂层级的条件把JIT控制参数文件和输出类型控制在特定范围内避免“误伤”非JIT工厂。跨公司的场景更复杂涉及到公司间交易、定价、发票等逻辑JIT本身不会改变这些基础逻辑但因为JIT交货频次高如果每笔跨公司JIT都要出一次公司间发票财务的发票量会非常大。实务上可以考虑启用在途库存和寄售JIT的组合方案把跨公司JIT的财务处理频次降下来。这块如果项目涉及建议财务顾问和MM顾问一起评审不要单边拍板。4.6 上线切换时JIT数据的迁移思路JIT上线切换除了主数据迁移还有一个核心问题未完成JIT状态的切换。如果旧系统里已经发出了一部分JIT交付计划供应商也已经按计划备货了不好在切换日直接清零重跑。我建议的做法是在切换前跑一次JIT交付计划全量清单区分“已确认未交货”“已交货未开票”“未释放”三种状态分别处理。已确认未交货的在新系统里重新创建计划协议并手动补释放JIT交付计划已交货未开票的财务按收货做暂估和发票校验未释放的直接批量运行JIT交付计划生成不用手工逐条去调。这个切换方案虽然前期准备工作量大但能最大程度保证切换日后的JIT供应不断档。5. 经验心得JIT实施中最值得留意的三个原则第一JIT不是一个纯MM模块的独立功能它和PP、SD、LE、FICO全链路耦合。项目上排计划的时候JIT相关的设计评审一定要拉上PP顾问和LE顾问一起否则物流执行环节或者生产排程环节和JIT交付计划之间很容易出现断层。第二JIT的配置规模不一定要大关键在精准。很多项目一上来就配了一堆JIT控制参数文件、输出类型、状态处理逻辑结果业务上只有少数几条产线在用。配置越多后面运维的复杂度越高。我一般建议先在试点产线跑通再横向复制不要一次性全域铺开。第三JIT上线最大的难点其实不在SAP配置而在供应商的响应能力。SAP里的JIT交付计划只是一个指令下发工具供应商能不能按分钟级的时间窗送达取决于供应商内部的计划体系、物流能力和备货策略。SAP顾问能做的是把指令清楚、稳定、及时地发到供应商侧后续的供应链协同能力需要采购部门和供应商一起推动建设。最后再分享一个我个人的操作习惯JIT配置完成后一定会在测试环境做一次从计划协议创建到供应商确认回传的端到端验证而且特意把每步之间的时间间隔调成最小观察计划行状态变化是否满足预期。这一步虽然耗时但很多在配置界面里看不出的隐性逻辑问题都会在这轮验证里现出原形。JIT这种业务流程一旦上线就是在真实的供应链节奏里跑容错率很低前期的校验工作做得越细后期的运维就越省心。
返回列表