前言
外向交货单过账后,使用VL09冲销时报错VL633不能取消来自分散系统的货物移动。
原因是交货单抬头表LIKP的VLSTK被赋值了'C',不为空,这个字段只是在EWM模块中有意义,因此需要在交货单过账后,将这个字段置空。
处理方法
1. 方法一:
交货单过账成功后,使用UPDATE语句更新LIKP表,将 VLSTK字段更新为空。
*
UPDATE likp SET vlstk = '' WHERE vbeln = lv_vbeln.2.方法二:
SE18中创建BADI "LE_SHP_DELIVERY_PROC"的增强实施,
修改CHANGE_DELIVERY_HEADER方法,具体代码如下
method IF_EX_LE_SHP_DELIVERY_PROC~CHANGE_DELIVERY_HEADER. clear cs_likp-vlstk. endmethod.
总结
方法一虽然比较简洁直观,但是需要重复劳动,每次调用bapi后都需要执行这个语句,也有可能一不小心忘记写UPDATE语句,造成无法冲销的错误.
所以强烈推荐使用第二种方法,一劳永逸。