
简介这是一份面向SAP顾问与生产/财务人员的CO07拆解工单操作指南。文档以拆解业务为切入点解释当产品返工不可行时如何通过拆解工单回收可用零部件重点阐述了无需BOM、组件手动输入的CO07拆解工单创建方法并系统覆盖参考工序集、发料、入库、报工、结案及财务成本结算全流程包括来源成本元素、分配结构与结算参数文件的配置说明能帮助读者理清拆解数量正负数含义、结算不归集到产品而计入损益科目等关键逻辑。资源为单个DOCX文件大小643KB目录结构清晰便于快速定位操作步骤。目前已有1810人浏览学习适合SAP PP/CO模块的实施顾问、内部顾问及生产计划人员用作实际项目中的操作手册与排错参考也可作为培训材料。1. 拆解工单CO07把旧设备拆成可用零件SAP里最容易被忽略的一条业务线拆解工单CO07听起来像个冷门事务码但凡是做过售后维修、旧件回收、二手设备翻新的SAP项目十有八九要在它上面翻一次车。拆解工单解决的是“把一台整机或资产按BOM反向拆开把其中还能用的零件回收进库存”的问题它和普通生产订单最大的区别是方向相反成品不产出来反而不断消耗收获的是拆出来的可用件。直接拿Co07当普通订单建十有八九会在收货、序列号、成本结算三个环节卡住。这份《SAP09-拆解工单CO07操作》文档把从主数据准备到工单执行的完整链路串了起来适合正在做维修拆解业务、序列号强制追溯、或者刚接手拆解流程优化的SAP顾问和关键用户。2. 拆解工单的选型与主数据准备BOM结构、序列号与物料状态的四个前置条件2.1 为什么拆解必须走CO07而不是普通生产订单或直接转储很多人第一反应是拆解不就是做一笔库存转储吗把整机从非限制库存转到报废仓再把零件转回来。但真这么做成本无法归集——谁拆的、花了多少工时、拆解过程中产生的辅料消耗全部没有载体。拆解工单本质上是一张生产订单只不过它的产出物不是“做出来的东西”而是“拆出来的回收件”。CO07这个事务码在SAP里的定位是“带物料的生产订单创建”相比CO01它少了一层级联查询直接输入物料、工厂、订单类型就能建单。拆解场景选CO07而不是CO01主要是操作效率拆解工单往往批量创建一张整机对应一张拆解单CO07能快速把物料带进去后续批处理LSMW、BDC也好做。实际项目中更关键的是订单类型配置。拆解工单的订单类型一般会单独定义比如“DEM”或“DSM”在订单类型参数里把“拆解订单”标识激活。如果直接套用标准的生产订单类型系统不会启用拆解逻辑——BOM方向不会自动反转收货也不会按组件回收。这就是为什么很多人建了单却发现“收不了货”的根本原因。2.2 拆解BOM的搭建回收件、报废件与散件的区分拆解BOM和普通BOM在结构上没有区别都是父件挂组件但方向语义完全不同。普通BOM是“父件由组件组成”拆解BOM是“父件可以被拆成哪些组件”。建BOM时我不会把所有零件都挂进去而是只挂“有回收价值、需要入账跟踪”的件。最常见的做法是把拆解BOM的组件分成三类类别含义拆解后动作回收件可再次销售或用于售后维修收货进非限制库存重新挂序列号报废件已无使用价值但需过账报废收货后立即做报废移动类型或直接做报废发料散件铜、铝、塑料等按重量计价的物料收货进非限制库存按重量做倒冲拆解BOM的BOM用途要单独定义或用普通生产BOM但一定要在物料主数据的“生产”视图维护BOM用途否则CO07创建工单时系统提示“BOM不存在”。我见过最典型的翻车是BOM明明建了CO07却带不出来——因为BOM有效期没覆盖到今天或者BOM用途在物料主数据里没分配。2.3 序列号管理与物料主数据让拆解件可追溯拆解件如果要重新装机或销售序列号追溯基本是强制需求。这里涉及到三个主数据配置缺一个后面都会出问题。第一个是物料主数据的“序列号参数文件”。回收件必须维护序列号参数文件且建议用“序列号必填”和“唯一序列号”的组合。否则拆解收货时不需要输序列号收进来一堆没有身份的件后续装机时根本不知道这个件是哪台机器上拆下来的。第二个是整机拆解对象的序列号管理。待拆解的整机在拆解前必须是有序列号状态的拆解完成后这个序列号的状态要更新为“已拆解”或“EDEL”。这里的更新逻辑很多项目做得不对整机的序列号在销售发货时就已经置为EDEL拆解收货时没有同步更新序列号状态导致这太机在资产台账里还是“可用”状态审计时对不上。第三个是评估类与特殊库存。回收件如果和原材料混在同一个评估类毛利分析会很难看。我一般会把回收件的物料类型单独设置评估类也单独分一个这样拆解收入、拆解成本能在报表里一眼看穿。3. 创建与执行拆解工单CO07从抬头到收货的完整操作步骤3.1 创建拆解工单事务码与关键屏幕字段CO07建单的核心流程是输入订单类型、拆解物料整机、拆解数量、工厂系统自动带出拆解BOM和工艺路线。用事务码CO07进入后第一屏填以下字段屏幕字段典型值说明订单类型DEM / DSM启用了拆解标识的订单类型物料整机物料号待拆解对象序列号必填数量1拆解工单基本都是一台一单工厂维修工厂区别于生产工厂计划基本开始/结束日期当天不能早于BOM生效日填完回车进入工单抬头系统会按拆解BOM把组件带进“组件”页签。这里要检查一个关键参数组件的“反冲”标识。拆解工单的组件收货一般不手工一个个输而是设置反冲——报工时系统自动按BOM数量把组件“收”进来不需要再单独做101收货。反冲标识在组件明细的“工序”页签里用“反冲”复选框控制。3.2 工艺路线与拆解工时一定要维护但不是为了派工拆解工单的工艺路线很多人会忽略觉得拆解不需要过工序。但工艺路线的价值不在派工而在两点一是收集拆解工时成本二是控制反冲时机。拆解工单的工序一般就是“拆卸—分拣—检测—入库”四道每道对应一个作业类型人工工时、机器工时。配置工艺路线时把反冲点设在“拆卸”工序这样报工时回收件自动收货入库。如果工艺路线没维护组件只能手工收货一张两张还行批量拆解时点到手软。这里有个隐藏坑工艺路线的“控制键”必须配置成允许反冲。默认控制键PP01不一定带反冲允许需要在IMG里把控制键的反冲标识勾上。我处理过的一个项目里顾问没配控制键反冲复选框永远是灰的最后是靠改控制键配置解决的。3.3 拆解执行发料、报工与收货的正确顺序拆解工单的执行顺序和普通生产订单不同。普通订单是先发料再做完工确认拆解订单我建议的顺手顺序是先做整机转出发料再做工序报工触发反冲收货最后做完工确认。具体操作用MB1A发料移动类型261把整机从非限制库存转入工单。这一步是为了把整机的账面价值计入工单成本。用CO11N报工选“拆卸”工序输入实际工时。报工触发反冲BOM里的回收件自动按反冲逻辑收进库存。反冲的移动类型在配置里通常是101或特殊定制的“拆解收货”移动类型。用CO02或CO11N做完工确认确认“完成”工单状态置为TECO之后做结算。这三步顺序不能乱。如果先报工再发料整机库存会先被扣成负库存如果先完工再报工反冲不会触发回收件库存不够。顺手给个查工单状态的SQL建完单后我习惯先用它确认工单号和状态SELECT aufnr, auart, werks, matnr, status FROM aufk WHERE aufnr 4500001234;这段SQL查的是订单主数据表AUFK。aufnr是工单号auart是订单类型status是工单状态。如果查出来的状态不是CRTD已创建或REL已下达说明工单没有正常下发后续发料、报工都会报错。实际项目中这条SQL是排查拆解工单问题的第一道工具。4. 货物移动与成本结算拆解件入账背后的MM与CO逻辑4.1 收货逻辑反冲移动类型与“回收件来源”的讲究拆解工单的货物移动是整套流程里最容易出数据问题的环节。拆解不是生产系统默认的“报工反冲”逻辑在生产订单里是把组件从库存“发出去”但拆解订单反冲的方向必须反转——组件不是被消耗而是被“生产”出来。这里靠的是移动类型配置。标准做法是自定义一个移动类型比如Z11配置为“拆解收货”它在物料凭证里生成的记账是借方是回收件库存贷方是工单成本。如果你不想自定义移动类型也有项目直接用101收货但需要把工单的“拆解标识”激活系统才会把101的收货逻辑反转。判断配置对不对最快的方法是看物料凭证拆解收货后用MB51查物料凭证回收件的“移动类型”如果显示为101、且参照的订单号是拆解工单那说明走的是拆解收货逻辑如果显示的是261那说明你只是把回收件当成普通组件发料了方向完全反了。MB51查物料凭证的字段选择太多我一般用这段SQL直接查拆解工单的物料凭证SELECT mblnr, mjahr, zeile, matnr, bwart, menge, meins, bwart_txt FROM matdoc WHERE aufnr 4500001234 ORDER BY mblnr DESC;MATDOC是物料凭证抬头加行项目表。aufnr是工单号bwart是移动类型menge是数量。如果查出来回收件行的bwart是规划中的拆解收货类型比如Z11或101说明收货逻辑正常如果看到是261说明配置错了。这条SQL在项目上线初期要反复跑直到所有拆解物料都走对移动类型。4.2 成本收集与结算规则拆解工单的差异去向拆解工单的成本分三块整机的账面价值发料转入、拆解人工/机器工时、拆解过程中额外消耗的辅料比如清洗剂、润滑剂。这三块成本在工单里汇总最后结算时必须有地方去。大部分拆解业务的成本归属逻辑是回收件入库时按标准价或移动平均价入账工单总成本减去回收件入库价值剩下的差异结转到“拆解费用”科目。这个“差异结转”是拆解工单和普通生产订单最大的不同——普通订单差异进COGS或库存拆解订单差异进费用科目。实操中的结算规则设置用KO88对拆解工单做结算结算规则选择“按比例结算到物料”或“结算到成本中心”。如果回收件都能估出价值用“结算到物料”会让差异留在回收件上如果回收件价值不稳定我倾向于“结算到成本中心”把差异直接结转到拆解车间的费用科目。判断依据很简单财务报表上拆解业务的毛利波动是否可接受。4.3 拆解件的后续处理报废、返修与转评估拆解收货完成后回收件只是进了非限制库存但它离“能用”还差一步——质量判定。很多项目的拆解流程漏掉了质检这一步回收件直接流入可用库存装机后发现是坏的又要再做一次退换货。我建议拆解收货时先收到“质检”特殊库存质检放行后再转入非限制库存。这个可以通过移动类型质检库存的组合实现或者用QM模块的检验批。如果项目没有上QM退而求其次的做法是拆解收货后做一次库存状态转移质量合格转非限制不合格做报废。报废用移动类型551把回收件从非限制库存转出记账到报废损失科目。这里需要特别提醒的是报废移动类型551不受序列号“唯一性”检查如果同一个序列号的回收件被拆了两次比如生产退回来的旧件和拆解件序列号重复报废时不会报错但序列号台账会挂两笔审计时解释不清楚。所以拆解件入库前我一般强制要求查一遍序列号唯一性。还有一个容易漏的场景是“拆下来的件要转成固定资产”。比如拆了一台大型设备拆出的电机价值超过固定资产标准要单独入资产卡片。这种情况下先用AS91建资产卡片再用移动类型241/242做库存到资产的转移。这一步很多人不知道导致拆解件要么压在库存里要么直接费用化固定资产盘点的时候怎么都对不上。5. 拆解工单CO07避坑指南从序列号EDEL到物料凭证冲销的六个实战问题5.1 序列号状态没有更新到EDEL现象整机拆完了库存也发出去但用IQ03查整机的序列号状态还是AVLB可用或ESTA已安装导致资产台账和实物对不上。 原因拆解工单的发料261本身不更新序列号状态。序列号状态更新靠的是“序列号状态参数文件”里的事件联动如果参数文件的“拆解”事件没配置或者发料时没有强制输入序列号系统根本不会动状态。 解决在序列号参数文件里为“拆解/拆卸”事件配置状态更新为EDEL并把发料步骤改成强制输序列号。如果是已经发生的脏数据用IQ02手动改序列号状态或者用BAPI_SERIAL_CHANGE批量更新。5.2 拆解件收货失败提示“该物料未启用序列号”现象回收件反冲收货时报错提示物料未启用序列号但物料主数据明明维护了序列号参数文件。 原因反冲收货的序列号来源不是物料主数据而是“工序控制键”里的序列号标识。控制键没配“序列号必需”系统在反冲时找不到序列号生成逻辑直接报错。 解决检查工艺路线控制键里的“序列号”标识改成“系统自动生成序列号”或“手动输入”。常见做法是改成自动生成——拆解速度本来就快一个一个手输序列号太慢自动按规则生成比人工输入靠谱。5.3 拆解BOM带不进来有效期与替代BOM的玄学现象CO07建单时组件页签是空的工单建出来了但拆解BOM一个零件都没带进来。 原因拆解BOM的有效期没有覆盖工单开始日期或者BOM用途的优先级和物料主数据“生产视图”里维护的BOM用途不一致。替代BOM的优先级如果设了多个而拆解BOM恰好不是优先级最高那个也会被系统过滤掉。 解决先跑CS03确认BOM抬头信息看有效期和状态。再检查物料主数据生产视图的“BOM用途”字段确认拆解BOM用途和物料上维护的一致。替代BOM的项目里把拆解BOM的替代优先级调到最高或者建专用工厂明细避免替代逻辑干扰。5.4 物料凭证冲销后库存重复现象拆解收货做错了用MBST冲销结果回收件库存没减少反而整机库存多回来了或者回收件库存出现两笔。 原因MBST冲销物料凭证时如果原凭证是反冲生成的冲销凭证会触发“冲销反冲”逻辑操作不当会把整机的发料凭证也一并冲掉。更隐蔽的是序列号冲销只调整库存数量序列号台账不会自动回滚导致同一个序列号既在回收件库存里又在整机序列号台账上。 解决冲销拆解收货前先查一下原物料凭证有没有“反冲标识”。有反冲标识的凭证用MBST冲销时要选择“不冲销后续反冲”只冲当前收货序列号状态用IQ02改回原状态。重要提示拆解工单上线前一定要测试冲销场景不能拿生产数据试错。5.5 倒冲报工后批次找不到现象回收件启用了批次管理反冲报工时报错“批次不存在”或者批次库存不足。 原因反冲收货不会自动创建新批次。拆解件回收时系统要先找到一个合适的批次来收如果物料启用了批次管理且没有设置“自动创建新批次”系统找不到现有批次就直接报错。 解决在物料主数据的“批次管理”视图勾选“允许自动创建批次”或者在收货前用MSC1手动创建一批“拆解回收”专用批次——我习惯用日期加生产线命名比如20250517-L01这样追溯时能直接看出是哪天哪条线拆出来的。5.6 MD04里看不到拆解工单的需求现象拆解工单建完后用MD04查库存需求清单看不到工单对整机的需求计划员以为工单没下发。 原因MD04默认显示的是“计划订单/生产订单/采购订单”的需求清单拆解工单对整机的需求是“发货到工单”的需求MD04的视图筛选条件没把“订单”和“相关需求”同时打开。 解决MD04里把筛选布局换成“物料-订单-需求”组合视图或者在“库存/需求清单”菜单里勾选“显示订单”。项目上线初期我一般直接把MD04的默认布局存成带全部勾选项的变式省得每次手工调整。6. 进阶从单张拆解到批量与自动化序列号追溯与报表验证的落地习惯拆解工单真正上量后问题就不在单张操作了而在批量和追溯。批量方面CO07虽然建单快但一张一张敲还是慢。常见做法是用LSMW录一个BDC录屏时录下“CO07建单工单下发”两个动作再把物料号、数量、日期做成Excel模板。录BDC时有一个细节要特别注意拆解工单的序列号是在发料时维护的BDC里如果不序列化那一步批量建的单全部是“无序列号待处理”。我一般在BDC里只建单不下发发料留给仓库用CO11N逐台做这样序列号不会错。序列号追溯是拆解业务的刚需。拆了一百台机器每个回收件要能回答“从哪台机器拆的、哪个序列号、哪个作业员、哪天拆的”。SAP里查这个链路我习惯用EQUZ表查序列号状态历史用OBJK表查序列号与对象的关联。写报表时核心逻辑是把“原整机序列号”和“回收件序列号”做成一张追溯表批次里带上拆解工单号这样从回收件一路查到原机或者从原机一路查到所有拆出的件都能闭环。验证拆解作业是否闭环我常用的方法是每周跑一次MB51和COOIS对账。MB51查拆解收货的物料凭证数量COOIS查拆解工单的状态和成本。两个数字对不上说明有工单没收货、没收货的工单成本挂着没结算。从那以后我每次做拆解上线项目都会强制走一遍“单张手工全流程—批量导入—冲销重做”三个验证步骤确认没问题才交给用户希望帮到你。本文还有配套的精品资源点击获取