ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

SAP CO01创建生产订单全流程:主数据检查、参数配置到踩坑排查

2026/10/6 9:37:59 拓冰建站 浏览量
SAP CO01创建生产订单全流程:主数据检查、参数配置到踩坑排查 简介这份SAP生产订单创建指南以单个Word文档呈现面向刚接触SAP生产计划模块的制造企业计划员、生产主管及实施顾问用于快速理清从基础主数据到订单下达发货的完整操作链路。文档按七个关键环节组织先讲解工作中心与BOM物料清单的创建明确生产资源与所需物料的维护要点再说明工艺路线如何定义加工顺序与工时随后重点演示创建生产订单时如何填写编号、日期并选择对应的工作中心、BOM和工艺路线以及使用修改功能点击小绿旗完成订单下达最后介绍通过事务代码MB1A对生产订单发货的注意事项。每一步均配有SAP系统界面截图和保存位置标注可直接对照系统练习。资源压缩包大小2.39MB仅包含1个doc文档便于离线查阅或打印。已有375人学习下载适合作为SAP生产模块入门培训资料或日常操作手册。1. 先搞清一件事SAP创建工单和生产订单是同一个东西SAP创建工单生产订单在系统里的入口是事务代码 CO01输出是一张带 32 位内部编号的生产订单Production Order它告诉你「在哪个工厂、什么时间、用什么 BOM、按什么工艺路线、做多少数量」。搜索「SAP创建工单生产订单的步骤.doc」的同行大多不是缺菜单截图而是缺一张把主数据、订单类型、排程和后续发料串起来的地图。这篇不按菜单逐项抄按「主数据检查 → CO01 创建 → 订单类型参数 → 踩坑排查 → 发料报工验证」的顺序写附带每一步的字段级核对口径和常见报错。适合 SAP PP/MM 一线用户、刚转 SAP 的顾问目的是让你在 30 分钟内建出第一张能正常排程、能发料、能报工的工单。2. 动手前把主数据摸一遍物料、BOM、工艺路线缺哪个都走不到 CO012.1 CO01 在回车那一下会读三套主数据CO01 输入物料和数量回车后系统并不是立刻给你一张空白订单而是先按「生产版本 → BOM → 工艺路线 → 工作中心」的顺序去读主数据。创建过程中任何一个环节读不到要么直接报错要么建出一张开不了工的空壳订单。所以有经验的人一般不急着开 CO01先把 MM03、CS03、CA03 过一遍。物料主数据MM03重点看 MRP 视图的基本计量单位、工厂状态、物料类型以及 MRP4 视图里的「生产版本」。物料如果没扩展到这个工厂CO01 会当场报错。物料清单CS03查当前日期是否落在 BOM 抬头有效期范围内组件行项目是否正常组件的基本数量单位和 BOM 里的转换关系是否齐全。工艺路线CA03查组、计数器、工作中心、控制码、标准时间值。工艺路线没有有效期或控制码不完整订单能建出来但工序页是空的或者排程时间全为 0。提示CO01 的排程、组件读取走的都是「当前日期有效」的组合。你 3 月 1 号下的单系统只认 3 月 1 号仍有效的 BOM 和工艺路线。有效期差一天结果就差一份订单。这里要特别提一句「sap bom物料单位转换」。BOM 里组件单位经常和物料主数据基本单位不一致比如物料主数据里是 PCBOM 里按 KG 维护。如果 CUNI 里没有维护好换算因子组件数量会出现小数点错位甚至十倍放大器式的翻车。不少新手把这当成 SAP 的玄学问题其实只是单位换算关系缺失。2.2 三个事务代码的核对口径以下是我创建工单前固定会过一遍的核对表每个对象对应一个事务代码和重点检查项核对对象事务代码看什么和工单创建的关系物料主数据MM03工厂状态、基本计量单位、物料类型、MRP4 视图的生产版本决定 CO01 能否下单、组件数量单位从哪来BOM 物料清单CS03抬头有效期、组件行、组件单位、耗损率、替代物料决定订单组件页内容单位错误会直接放大数量工艺路线CA03组、计数器、工作中心、控制码、标准值、有效期决定工序页内容和排程时间缺一块就排不出来工作中心CR03工序类别、标准值单位、可用容量决定能力排程能不能算出负荷MM03 里最容易被忽略的是「生产版本」。物料不维护生产版本时CO01 会在回车后弹出一个对话框让你手工选择 BOM 和工艺路线很多人就是在这里随手选错导致订单组件和工序不是最新版本。建议在 MM03 的 MRP4 视图里维护好生产版本让系统自己带出对应关系和有效期。CS03 里查 BOM 时不要只看第一屏。BOM 行项目的「项目类别」很关键L 是库存物料T 是文本项目如果组件行被维护成文本项目发料时不会产生预留。另外如果工厂启用了工程变更管理ECMBOM 会被变更号控制CS03 显示的只是当前有效版本底表 MAST/STPO 里存着历史版本。想回看某个时间点 BOM 长什么样可以按日期打开版本记录。CA03 查工艺路线时重点看「控制码」。比如 PP01 是正常加工PP03 是外部加工之前的状态。如果控制码没有维护好订单进入后续状态时工序可能无法被正常确认也就无法报工。工艺路线表的核心是 PLKO工艺路线抬头和 PLPO工序SAP 里查看时用 CA03 就可以不必直接翻底表。2.3 三个最容易阻塞创建工单的缺口第一物料没有扩展工厂。MM03 进入后工厂视图全部是空的CO01 输入工厂和物料系统直接提示消息号 M7006 之类要求先扩展物料到该工厂。解决方式MM01 给物料补充工厂数据或者用 MMR1 批量扩展。第二BOM 没有维护有效日期。CS03 进去显示「没有物料 XXX 的 BOM」但明明在 MM03 里能看到 BOM 视图。最常见原因是 BOM 抬头有效期是上一个周期当前日期已经超过有效期。解决方式CS02 修改 BOM 抬头有效期或者新建一个当前日期下的 BOM。第三工艺路线没有定义或没有有效性。CO01 能进去但「工序概览」页签是空的排程按钮灰掉。解决方式CA01 创建一个工艺路线或者在物料主数据生产版本里维护好「任务清单类型 A工艺路线 组 计数器」。这三处缺口没有补完之前创建的工单基本都要返工。3. 用 CO01 建一张标准生产订单从抬头到保存的完整步骤3.1 进入 CO01 和订单类型的选择CO01 是手工创建生产订单的标准入口。登录 SAP 后在命令栏直接输入 CO01 回车或者通过菜单「后勤 → 生产 → 生产订单 → 创建 → 带物料」。进入后第一屏有三个必填字段订单类型、工厂、物料以及数量、单位、开始日期、结束日期。订单类型一般默认是 PP01 或自定义的 ZP01。生产订单类型不同后续允许的动作也不同比如有的订单类型默认不允许收货有的默认不允许倒冲。工厂和物料就不过多解释数量单位带出来后要核对一下是否和物料基本单位一致。一个容易被忽略的点开始日期和结束日期只填一个也行系统会根据工艺路线标准时间自动推算另一个。但如果你把两个日期都填了系统会按你填的日期去排程不会重新计算这也是后面排程红色冲突的常见原因。3.2 抬头页和组件页要核对的字段CO01 回车后进入订单概览屏幕上面是订单抬头下面是组件和工序。新手常见误区是直接按保存实际上订单概览屏里有大量字段值得在保存前扫一遍数量确认是否和第一屏一致数量大小直接影响组件需求。订单类型显示在抬头右上角确认是不是你要的类型。基本开始/结束日期系统根据工艺路线标准时间推算而来如果这里是空的说明工艺路线没带出来。优先级默认 0生产计划员可以用优先级在 MRP 中区分紧急程度手工创建工单时一般不必改。生产车间/工作中心订单自动带出第一道工序的工作中心用于确认工序归属。物料可用性检查抬头页里有「可用性检查」字段默认按订单类型里的配置带出比如 02 是单独检查01 是汇总检查。组件页签里系统会把 BOM 的行项目按「订单数量」展开。这里要重点核对两件事数量和单位、项目类别。组件数量如果比 BOM 里大出很多倍基本就是单位换算丢了的典型案例。项目类别如果是 T 文本项目不会生成物料预留后续发料没有东西可发。工序页签里系统会把工艺路线按顺序展开。字段包括工序号、工作中心、控制码、标准时间、排程时间。如果工序号不连续或者工作中心为空就应该倒回去检查工艺路线主数据而不是继续往下走。提示组件页的「可用数量」不是实时库存。CO01 里看到的可用数量取决于可用性检查规则是基于库存和收货动态算出来的。真正的实时库存让 CO02 打开订单后按 F3 查看物料可用性。3.3 保存前把排程和可用性检查做完很多人忽略「排程」按钮保存完才发现开始日期不对又回过来改。其实 CO01 的排程按钮在抬头页或订单菜单「编辑 → 排程 → 基本排程」里点击后会按工艺路线标准时间把每个工序的开始、结束日期算出来。保存前建议做一次「结算规则」检查路径是菜单「转到 → 结算规则」。生产订单成本会按结算规则从工单结转到物料或成本中心如果这里是空的财务月结时会有差异。手工创建时系统一般会按订单类型默认生成一条但最好打开确认接收方是否等于物料编码。保存前还应该做一次可用性检查。点击抬头页的「可用性检查」按钮系统会跑一次 ATP显示缺料情况。这个检查结果会写到组件页的「可用数量」列里。如果缺料严重可以先不急着保存等物料到了再创建或者改一下开始日期。3.4 保存、拿订单号和计划订单转生产订单的替代路径检查完毕后点击保存按钮CtrlS 也行系统会弹出「生产订单 1001234 已保存」这样一条消息。12 位以内的数字是财务凭证范围下的订单号SAP 内部一般叫「订单编号」。记下这个编号后续 CO02 修改、CO03 显示、CO11N 报工、MF01 发料都要用到。补充一种常见路径MRP 跑出来的计划订单Planned OrderMD04 里 PldOrd也可以用 CO01 转成生产订单或者用 CO40 批量转换、CO41 汇总转换。两者区别是CO01 适合手工输入物料和数量从零开始CO40/CO41 直接把计划订单里已经算好的数量、日期、BOM 需求搬过来主数据不齐时照样会报错。我一般更推荐先用 MD04 检查计划订单再批量转成生产订单效率更高且不容易录错数量。4. 订单类型和相关参数文件决定工单能不能被后续操作接管4.1 订单类型里藏着哪些默认值你在 CO01 第一屏选的订单类型不是随便起个两字母代码那么简单。订单类型背后关联着一整套配置控制着工单创建后处于什么状态、能不能发料、能不能收货、要不要结算。查订单类型的标准事务代码是 OPJHSAP 里通过配置路径「生产 → 生产订单 → 主数据 → 订单类型」也可以看。订单类型里最关键的几项默认值参数项配置处默认效果与影响状态参数文件OPJH 订单类型决定订单保存后状态是 CRTD创建还是 REL已释放编号范围OPJK决定订单号码来源跨工厂或按工厂分段调度参数文件OPJP决定基本日期调度还是能力调度以及排程方向物料可用性检查OPJH决定组件缺料检查规则02 单笔检查 / 11 汇总检查自动收货OPJH决定订单完成后是否自动收货到库存倒冲标志OPJH 或工艺路线决定工序报工时组件是否自动发料这些默认值平时藏在系统后面最直接的感知是同一种物料用 PP01 建订单保存后状态是 CRTD还要手工 CO02 去释放换一个订单类型 ZP01保存后直接就是 REL。不少新手被这个差异搞晕过以为自己做错了步骤其实只是订单类型配置不同。4.2 参数文件与编号范围为什么订单号会跳号订单类型的编号范围配置在 OPJK 里按工厂分组或按订单类型分组。编号范围有外部给号和内部给号两种SAP 生产订单一般用内部给号号码段用数字比如 100000 到 999999。配置时要保证段范围足够大否则订单号用完了CO01 保存时会报「编号范围耗尽」。跳号是正常的。内部给号的事务会预分配号码你保存失败或者订单被删除号码不会再放回去所以 MD04 里会看到订单号不连续。这是 SAP 常规行为不是故障。最怕的是编号范围太小或者配置成了外部给号外部给号时 CO01 会要求你手工输入订单号很容易重复输错。状态参数文件配置在 OPL8 里用来给订单添加「用户状态」。比如你在订单类型里挂了一个状态参数文件定义了「计划员审核」这个用户状态那么订单创建后即使编号和字段全部正常也必须先把这个用户状态置为激活才能继续发料。这在很多企业里被用来做审批流但配置不当会让操作员觉得订单「卡死了」。4.3 调度参数与基本日期为什么排程结果对不上调度参数文件配置处是 OPJP它决定了订单创建时系统怎么算工期的方向。最常见的是「基本日期向前调度」也就是从计划开始日期向后计算各工序也可以是「向后调度」从截止日期向前倒推。这里有个很迷惑人的点你在 CO01 第一屏填了开始和结束日期系统不一定按你填的跑。如果订单类型的调度参数文件里定义了调度方向系统会覆盖你手工录入的日期。比如你填了开始 3 月 1 号结束 3 月 10 号但调度方式是从结束日期向前倒推工艺路线标准时间只有 2 天系统会把开始日期算到 3 月 8 号。保存后看到日期变了别急着骂系统先查调度参数文件。4.4 自动收货与倒冲标志和后续发料直接挂钩订单类型的自动收货标志如果勾上订单完工确认时会自动生成一张收货凭证把产成品收进库存。没有勾的话需要手工用 MB31 或 Co11N 里的收货按钮去收货。制造业里多数公司会勾上减少仓库工作量。倒冲标志则不同它是挂在物料主数据和工作中心上的。物料主数据 MRP4 视图里如果维护了「倒冲标识」为手工倒冲1或自动倒冲2同时工序里的控制码也允许倒冲报工时系统就会按订单数量自动发料。这就是「sap报工倒冲自动指定批次」的出处物料启用了批次管理又在工艺路线或物料主数据里配置了倒冲就要考虑批次确定策略是「按先进先出自动指定」还是「手工指定批次」。如果批次自动指定策略没配好报工时会出现「无法确定批次」的报错。5. 创建工单的常见翻车现场8 条踩坑记录与排查路径5.1 明明做了 BOMCO01 还是报「物料没有 BOM」现象CO01 回车后直接弹出错误消息说物料没有物料清单但 MM03 的 BOM 视图里能看到数据。原因BOM 抬头有效期不包含当前日期或者 BOM 的「基本数量」为 0 被系统视为无效。另外物料主数据 MRP4 视图里指定了替代 BOM替代物料系统按替代物料去找但没找到也会报这个错。解决CS03 先按物料查一下的确认略繁琐直接 CS02 打开 BOM 检查抬头有效期和状态。如果有效期已经过了延到明年如果状态是 04锁定改成 01。替代 BOM 的问题则去 MM03 MRP4 视图清掉「替代物料」字段。5.2 组件数量翻倍甚至多出上百倍现象订单保存后组件页里某行数量比 BOM 大很多比如 BOM 基本数量 1 对应组件 2 KG订单数量 10 时组件需求却是 400 KG。原因典型的「sap bom物料单位转换」问题。BOM 行项目单位是 KG物料主数据基本单位是 PC这两个单位之间的换算因子没有在 CUNI 里维护系统按缺省换算规则把数量放大了。解决CO02 改不了这个需要去维护计量单位换算关系事务代码 CUNI 或直接双击单位。换算因子维护好之后重新用 CO01 创建新订单或者 CO02 里重新读取 BOM 行。记住老订单不会自动重算保存之前发现数量不对最干脆的做法是退出重来。5.3 排程结果是红色日期看起来完全不对现象CO01 保存前点了排程抬头页和工序页出现了红色日期开始日期晚于结束日期或者所有工序挤在同一天。原因一种原因是工艺路线标准时间没有维护系统没有可用的排程时长另一种是订单类型的调度参数文件用向前调度但你手工填写的结束日期在开始日期之前。解决CA03 查工艺路线看每个工序的标准值和排程关键值是否都有值。没有的话 CA02 补。日期冲突则回 CO01 抬头页把开始和结束日期留空一个让系统自己算或者再点一次排程按钮让系统重推。注意调度参数文件里如果设了「不允许反向排程」保存时会直接拦下。5.4 MD04 里看不到这张工单的需求现象订单保存成功也拿到了订单号但在 MD04 里输入物料只能看到计划订单或采购申请看不到刚创建的生产订单。原因MD04 是一个按需求汇总的视图要看到生产订单取决于物料和工厂范围是否输入正确以及订单是否成功产生了「预留」。另外MD04 里生产订单显示为 PrdOrd 行如果视图里被筛选掉了也看不到。解决MD04 顶层把物料、工厂、MRP 范围输正确然后检查订单是否已保存。用 CO03 打开订单看一眼组件页是否有预留没有预留说明订单类型配置里关闭了预留生成。这属于订单类型配置问题去 OPL8 里检查预留/采购订单的默认参数。MD04 看需求「sap md04怎么看」的本质就是确认 MRP 范围正确、订单状态正常然后别忽略屏幕顶部的筛选开关。5.5 工序页是空的订单只有抬头没有工序现象CO01 保存成功但打开订单的工序概览页一道工序都没有后续无法报工。原因工艺路线没读进来。常见于生产版本没有维护「任务清单类型 A」系统不知道该用哪个工艺路线或工艺路线有效性日期里没有当前日期。解决MM03 MRP4 视图维护生产版本指定任务清单类型 A、组、计数器。或者直接 CA01 建一条当前日期内的工艺路线。有些公司习惯不建工艺路线直接建订单也能保存但后续报工、产能排程、成本结算全部受影响这个坑不值得踩。5.6 订单保存后状态是 CRTD不能发料也不能报工现象CO02 打开订单状态栏显示 CRTD已创建发料按钮和报工按钮都是灰色。原因订单类型配置的状态参数文件要求手工释放或者用户状态未激活。保存后需要显式把订单释放到 REL 状态才能继续操作。解决CO02 进入订单点击「释放」按钮或菜单「编辑 → 状态 → 释放」状态从 CRTD 变为 REL。如果按钮不可用去 OPL8 看状态参数文件里是否定义了前置用户状态需要先把用户状态置为激活。5.7 报工倒冲时提示「无法确定批次」现象组件启用了批次管理报工确认时系统要自动倒冲批次却弹出无法确定批次或批次不足的报错。原因批次确定策略没有配置或倒冲物料的批次可用库存不足。系统会按既定策略从可用批次里挑一个没有策略就只能报错。常见做法是在物料主数据 MRP4 视图配「自动批次确定」或在工艺路线控制码里挂上批次确定规则。解决先保证库存里有足够批次然后去 OMBW/OMBC 检查批次确定策略顺序给该物料挂一个按「先进先出或按有效期」的自动批次策略。最后重新报工。注意报工后组件已经倒冲如果批次有问题冲销报工会更头痛这个最好在正式大规模报工前先小批量试一次。5.8 权限报错没有 CO01 事务代码的权限或消息号 CO 600现象登录用户能进入 SAP 但 CO01 一执行就被拦截常见消息号如 CO 600「不允许创建生产订单」。原因用户角色缺少 PP 生产订单创建权限或订单类型对应的授权对象比如 ARCHIVE/CO没放开。常见于新入职顾问在测试环境有权限到了正式环境被权限角色挡住。解决找 Basis 或安全团队把事务代码 CO01/CO02/CO03 加到角色里。CO 600 这类消息号意味着订单类型授权组没有配给用户检查角色里的订单类型授权字段。硬绕过权限是红线写表单申请即可不必自己动手。6. 让工单真正跑起来创建完成后的验证顺序与一个小习惯创建完一张生产订单后不要急着去发给仓库先花 5 分钟做一次闭环验证。我的固定顺序是CO03 打开订单核对抬头数量与日期 → 切组件页确认每行都有预留数量 → 切工序页确认工序不为空且控制码正确 → 回到 MD04 输入产成品物料找到这条 PrdOrd 行并检查它覆盖了需求 → CO02 确认状态为 REL 或完成释放。五步都通过这张工单才能算真正可以发料和报工。验证时最容易暴露问题的位置是 MD04。MD04 里看生产订单本质是确认「需求」和「供应」在同一行对上了。如果订单创建后没有覆盖需求后面 MRP 还会再跑出一张计划订单产生重复需求这是计划员最怕的隐形账。多花这几分钟后面省下的是追料的时间。注意如果你们工厂启用了序列号管理序列号状态 EDE L 更新逻辑里带出的是序列号状态历史CO03 订单里看不到序列号是正常的序列号在发料和报工时才会被分配。创建工单阶段不用管序列号但建议在正式上线前找一个物料把「创建→发料→报工→收货→冲销」全流程跑一遍。我一般带新人时会要求把第一张工单创建好后立刻做一次报工再冲销再重新报工。这套动作看起来繁琐但能提前暴露批次确定、倒冲、收货三个环节的问题比读十遍操作手册都管用。创建工单本身不难难的是让主数据、配置和后续动作互相咬合。沿着「先查主数据、再建订单、再看订单类型配置、最后做一次闭环验证」的顺序走一遍你就能把这个黑匣子打开。希望这些经验可以帮到你。本文还有配套的精品资源点击获取