SAP 为什么用S**M12把记录删除后物料也不见了
发布网友
发布时间:2022-04-10 10:13
我来回答
共1个回答
热心网友
时间:2022-04-10 11:42
sap在对物料相关内容进行修改时会对这条记录进行锁定,不允许其他用户同时修改,以防止数据不一致。 在排他性E方式锁定的情况下,甚至不允许其他用户(或同一用户的其他进程的读取)。
你用mm01创建物料时,虽然看到屏幕提示已经创建完毕,但其实系统是采用异步更新的方式, 这个时候物料记录并没有真正更新到数据库中去,相关的数据都停留在table vbhdr和vbdata两个表里面,用sm13可以看到等待更新的记录。 只有在完成更新后sm13里面的记录在会消失。这个过程可能需要一段时间。在繁忙的身材系统中甚至有第二天才创建完毕的情况。
你的物料在你用mm02想更改时,还没有更新到数据库处于锁定状态所以会提示你物料被block,在sm12中删除锁定后, sm13中的数据就没有办法更新了(更新前必须要先锁定),系统实际上就放弃了你mm01中的创建动作对数据库记录的修改。所以你就看到这个物料不存在了。
想避免这种情况,最简单的办法就是稍微等一会儿再做mm02,一般一两分钟就可以了。追问感谢你的回答
刚才我到S**M13看了一下 看到了被锁的物料 然后还看到TCODE右边的I、N、F、O,然后在F下面有一把锁 请问INFO是什么意思?
追答这个锁应该是无法重试更新的标记。
通常在sm12中被删除锁定后,SM13中的更新就没办法再继续下去了。手工点重试也不会成功。
这个不成功的更新只有在sap系统重启时,系统才会再次进行重试,并且很有可能成功。
所以如果是在生产系统中,你可能就会发现,系统重启后,原来没创建成的物料自己跑出来了。
慎重删除sm12,不要看见有锁定影响当前的业务动作就删锁定, 很可能有其他隐患的