2022年1月13日
业务部门说,有一个生产订单,已经投料了,然后又决定换原料了,组件删除了,但是之前投错的原料冲销不了,不知道该怎么办了,问我该怎么办,我上哪知道该怎么办,于是上网问网友,折腾一天,折腾出如下这些事儿。
一、生产订单里,已经发生投料的组件也是可以被删除的。默认会有个提示。“组件 & 项目 & 早已被领取” 。默认是警告,可以把它给改成错误消息。改成错误消息之后,一旦组件的提货数量大于0则不允许删除。修改的路径是SPRO-生产-商店底价控制-系统修正-定义系统消息属性。界面如图,把W改成E即可。工序虽然有了删除标识,但之前的凭证也是可以冲销的,只不过组件的提货数量不会再变化。
二、已经产生了物料凭证的生产订单,还是可以读取物料计划主数据的,读取之后组件的提货数量会归0,但凭证还在,凭证对应的预留号(resb-rsnum不变,resb-rspos会变)也会变。不过凭证依然可以用MBST或者MIGO去取消。也不知道这应不应该算作一个BUG。
三、组件的删除标识怎么取消。
处理删除标识,去RESB里找到对应的OBJNR,去JEST表里看了一下,删除操作会产生STAT=‘I0013’的记录。那么就先处理这个标识,把INACT字段设置成X,我用的是STATUS_CHANGE_INTERN去做的处理。但是修改之后,在生产订单的组件里,依然还会打着删除标识。看来这个BAPI在做处理INACT标识的时候并没有一并去处理组件的删除标识(RESB-XLOEK)。