SAP SD模块 信用额度不正确怎么办

信用管理是SD模块中重要的一部分,是为降低公司经营风险,用于对不同类型的客户实施不同管理政策。信用相关的事务码包括:信用特批VKM1 VKM3,信用维护 FD32 FD33。

当发现某一客户信用有问题,可以使用SE38>RVKRED88模拟更新信用,如果与FD33查看客户的信用不一致,则需要使用SE38>RVKRED77更新客户信用。

在使用RVKRED77更新客户信用时,SAP会锁表,当用户在做修改订单等操作时,RVKRED77是不会更新成功的,如要RVKRED77更新客户信用,有两个方式可供选择:
1)挑选中午或下班时更新数据,此时在系统中操作的用户相对较少,更新信用成功的概率相对较高,当然如果很急就不能采用这个方式了;
2)设定后台作业更新,2min更新一次,记得定时查看后台作业是否成功,更新成功了取消后台作业即可。

然而在前段时间,遇到了一个很特殊的场景*(客户有一张发货单的POD数量为0,该张发货单开票后,未将所占用的信用额度释放)*,特殊之处在于①能确定FD33查看到的客户信用额度错误;②使用RVKRED88,RVKRED77不能将客户信用更新为正常的值,后来查了NOTE 2742146 - RVKRED77: Incorrect open delivery value,结合测试终于搞定了这个问题。

问题和NOTE中描述的一致:
1)启用了POD;
2)有一张POD数量=0的发货单;
3)该客户有未完结的订单or发货单;
4)发票与发货单相关。

知道了问题出在哪里,解决起来其实很方便。捞出来该客户的未清订单,发现确实存在一张订单,订单中的部分已经完成发货过账>POD确认(存在POD数量=0的发货单)>开票一系列操作,但是订单中仍然有一部分数量未发货。解决方法就很简单了,①将订单中的未清数量先结案(为了运行RVKRED77能正确更新客户信用);②SE38运行RVKRED88以及RVKRED77,运行完成之后会发现被错误占用的信用额度已经释放;③将订单中的未清数量反结案,再观察FD33客户的信用是否正确,此时已经恢复正常。