当BOM中的虚拟替代组的数量超过99个时,CO01创建工单报错:溢出:&2 物料清单的级别 &1 存在超过 99 个虚拟装配件。
是域AUFWG的长度只有两位,SAP给的方案是将其增加到四位,不过有一定的风险,参考notes:129226
添加或删除生产订单中的虚拟组件时,如果已添加的虚拟组件数量超过 99,则系统行为可能不正确。
- 删除虚拟组件时,系统会删除不属于要删除的虚拟组件的组件,从而表明此行为自身。添加项目时,此行为可能会显示属于已添加的虚拟项目的组件不在虚拟件下。
- 另一个症状是,创建生产订单(事务 CO01)时,程序 SAPLCOSD 的表单例程 PLMZ_STPO_CHK 中出现终止 MESSAGE_TYPE_X,消息为 CO 888:
内部:
使用直接生产的装配时,系统读取具有无效键值的内部表时会发生此终止。由于字段溢出: :::,生成了不正确的键值
READ TABLE plmz_edge_t "已排序表
WITH TABLE KEY aufnr = i_aufnr
aufst = i_aufst
aufwg = i_aufwg。
如果不是 sy-subrc 是初始的。
MESSAGE x888。
ENDIF.
::: 使用虚拟装配件时,如果将条目添加到键值重复分配的内部表,则会发生终止,因为字段溢出: :::
INSERT TABLE plmz_edge_t。“排序表
如果不是 sy-subrc 是初始的。
MESSAGE x888。
ENDIF.
:::
- 组件到工序的分配不正确。
其他条款
CO779,级别,路径,AUFWG,BAUWG,虚拟,删除,添加,包括 LCOSDFP1 或 LCOSDF2M, 99, RESB
原因和前提条件
导致此问题的原因是预留表中的内部字段(AUFWG 或 BAUWG)溢出。这些仅在 ABAP 字典中定义为两位字段。因此,生产订单中每个级别的最大装配件数始终限制为 99。
只有在明确请求(组件 XX-SER-RC-ADMI 的事件)时才应向客户提供该 SAP 注释。
解决方案
首先,实施 SAP Note 93570 中的更正。
对于版本 4.0A 至 4.5A,实施 SAP 注释 136305 中的更正。
如果在创建汇总订单时出现问题,则可以通过实施 SAP 注释 431085 对其进行更正。
如果需要为此问题实施基本解决方案,即如果需要增加生产订单中允许的最大虚拟装配件数,则只能通过将域 AUFWG(两位数字字符字段)扩展到四位(最多 9999 个字符)数字字符字段来完成此操作。
由于大型数据库表的转换可能会导致问题,因此经验丰富的 Basis 顾问和数据库管理员的支持至关重要。根据单个数据库表的大小,可能需要数据库系统中的许多特殊设置,此处无法对此进行详细描述。扩展域的结果之一是必须转换表 RESB。在这种情况下,可能存在严重问题;数据甚至可能会丢失。要成功转换表,必须详细分析数据库表和数据库系统的配置。如果您有任何问题或疑问,请联系 SAP Consulting。
成功转换表后,每个物料清单级别可具有超过 99 个虚拟装配件。如果在转换前已在物料清单级别中使用超过 99 个虚拟装配件,则必须相应地重组表中的数据。这意味着必须检查工艺路线中的组件分配(表 PLMZ),并且必须再次展开相关订单(长期计划的表 RESB 和 MDSM)。
上述方法可能非常关键。经验表明,相关表的转换过程非常复杂,最多可能需要两天。应首先考虑重组数据是否需要更少的工作和风险。